8

There is a developer, let's call him John (currently on probationary period) in company(pretty small company approx. 10 persons, 3 developers, one of them works long in this company know business process around and can be consider as Team leader) who didn't want to use any IDE at all(he is using some text editor).

Application this team working on is medium size Java application with Spring Hibernate technology stack and refactoring/adding new features to launch new version of that application in near future.

John performance working without IDE on this application is lower then desirable, team leader's (lets call him Bill) assumption is this happens because John is not using IDE.

Bill try to persuade John to use IDE, but this idea meets a lot of resistance and main reason is "I want to be in total control of what I am doing, so I need to write all code by myself".

How can Bill convince John to try to use IDE? (considering the fact what Bill already protected John from company owner several complaints about John performance)

Updated: Bill decide to try and convince John one more time if that attempt will be unsuccessful then he won't try to force John to use IDE and rather look at if features promised by John are delivered in time or not.

gnat
  • 20,543
  • 29
  • 115
  • 306
artjom
  • 674

13 Answers13

46

You've more or less already answered the question:

  1. He's on probation
  2. He's not productive enough

So, he needs to be made clearly aware that:

  1. He needs to be more productive or he won't survive his probation.
  2. He is liable to be more productive with a proper IDE than with a good text editor.
  3. A good IDE is not about giving up control over the code you write its about providing you with tools to enable you to produce working code faster regardless of whether you choose to use the code generation and templating facilities that may be available within the IDE.

Lack of willingness to adapt to his environment might also be a concern.

Murph
  • 7,843
22

Bill should tell John that he's right about preferring simple text editor, but unfortunately, with language + frameworks such as Java + Hibernate + Spring, he needs to use an IDE if he wants to be efficient.

I am a bit like John. I don't like using IDEs.
When I code in ruby/python/bash/lisp, I don't use any IDE.

But when I'm dealing with such a low level / verbose language as Java and frameworks that make your code very difficult to browse without help, I use the IDE. That's also true if I don't know the language / framework very well.

  • The more abstraction / patterns / frameworks you use, the more you need an IDE capable of helping you with navigating through your code.
  • The more low level / verbose / unknown to you a language is, the more you need an IDE capable of helping you with generating / finding the code you need.

Tell him that if he wants to be efficient with tools you use, he has to use an IDE. Bill should also pair-program with John to show him how efficient he can be with the IDE.

David
  • 2,724
12

I think pushing an IDE, is a bad idea. I think having a list of tools that people can use, and than let him choose what he uses, is a more respectful solution.

Then focus on the real issue performance and productivity, give real statistics of how certain projects have taken too much time.

Do not at all let the focus be what tool he uses to code, just let him find his own solution, as long as the goal is better productivity.

I have come into many companies, 90% don't care, as long as they don't have to pay for any tools, 10% care, and demand they use their tools.

If you make the IDE the real focus of your discussion, your being totally disrespectful of him and his methods.

Instead of focusing on the real key issue the productivity, quality and performance.

I myself, have been using a text-editor for over 6-7 years, and there's nothing wrong with my performance.

An IDE can help, but it has to be the programmer's choice to use it, as long as it doesn't affect performance.

I personally hate IDE's will never use em, the more people push them onto me, the more I feel disrespected. I have no problem with what tool people use, but it's like a religion and evangelism, they feel the need that everyone else has to think/do everything the way they do.

And that is a very unprofessional approach to what the real issue, his productivity.

If he deliver's quality work, in his methods, who cares what tools he uses? As long as it's error-free, quality work, and timely.

11

I don't know that we've confirmed the IDE is John's problem. I think Bill should work with John for a bit and observe him: What is decreasing his productivity. If he spends hours formatting his code and trying to move things around or looking up functions... the sorts of things an IDE provides for you, then you should show him how much faster he can find the functions he wants and format his code with the IDE. If this is the frustration, I'm sure once he sees you auto-format a block or quickly find some obscure function, he'll jump through the roof in glee.

If however, the efficiency is because he's surfing google, or having trouble formulating his ideas into coding structures, an IDE will not help him. In that case you need to crack down on his discipline, or help him learn to diagram his ideas into a program flow so he can more efficiently attack the problem

EDIT: My rep is too low to comment, so i have to post here. I disagree with the people that say "let him get fired, then he'll learn." For some people this works; losing their job shocks them and they really wake up and shape up. Others will spiral into a self-destructive spiral that usually ends in therapy or welfare. Bill clearly cares about John or he wouldn't be asking how to help him, so I think the comments and answers about just letting him get fired are definitely not what Bill is looking for.

8

Failure is a great teacher. Bill can stop protecting John and let him stand by his own decisions. If John gets fired because of it, hopefully that will make him a better employee for the next company that hires him.

Paul Butcher
  • 2,817
6

You can try to convince him that if he understands the IDE and what it does, he remains in total control.

This is the carrot.

The stick is that he's on probation.

biziclop
  • 3,361
6

I have to say I was using and IDE (aptana for javascript), and I hated it, it was slow and did strange things with formatting. I switched to gvim with a lot of command line tools and am much happier.

of course I'm the kind of guy who will write code generators in elisp for fun.

Zachary K
  • 10,413
4

I have hard time believing John's performance has anything to do with the editor he is using. At my workplace pretty much everybody uses a different code editor (Visual Studio, Source Insight, vim, SlickEdit...) and there is no visible correlation between the editor/IDE and work performance.

4

If there is a company standard IDE, then just tell him flat out "This IDE is the company standard, USE IT".

If there is not a company standard IDE, and the desire for him to use an IDE is solely for the sake of increasing performance, then it is:

  1. The wrong assumption to make that choice of development environment will be much of a factor in performance
  2. The wrong approach to tell him to use an IDE

If you really want him to use an IDE, I think the best approach is to tell him that his performance is not up to par, then show him how the use of an IDE can help improve that performance. Showing by example is a much better motivator in my opinion.

That being said, I think that the assumptions are wrong here. Most decent developers can be productive in pretty much any development environment. If he is not performing up to expectations, then maybe the root cause is the developer, not the IDE.

3

If Bill, despite his position as team leader, can't get John to use an IDE when Bill wants everyone to use it, there's something wrong with the company in that the team leader doesn't have enough authority.

And no, depending on the job given to a person, that person can be just as productive without an IDE as with one, depending on the tools in use, the person's experience with those tools, and his overall competence (and the overall environment, if John has to pull each source from an application server, load it into his IDE, edit it, upload it again, etc. etc. he's much quicker just editing directly on the application server using say VI (assuming he knows that editor well).

jwenting
  • 10,099
2

Not using IDE is very good because he will learn a lot. But it should not be on the cost of the project. He should use it when he thinks he could finish the job without affecting the timeline.

I would suggest that he does both, so that he can learn fast and at the same time dont get into issues.

After all you need bread to survive then only you can think about becoming a body builder.

ChrisF
  • 38,948
  • 11
  • 127
  • 168
Siva
  • 121
0

I think the main value of any IDE is not that it's an editor, but that it's a debugger. There are some who don't get the concept of a debugger. They debug with print statements.

If other features are what supposedly makes IDEs more productive, like intellisense or version control hookup, I could find myself agreeing with John, for various reasons we could debate.

But debugging with print statements I find hard to grok (though I used to do it).

Mike Dunlavey
  • 12,905
0

Listen, there are people using stuff, there are other people using other stuff. I like both IDE and text editors, they are just 2 different kinds of application, but in the end, the task done is absolutely the same.

It's just Oranges and Apples, end of the line, if you want to fire him arguing "he use a text editor" or else "he's too slow, BECAUSE he uses a text editor", go on, but do you really have to conspire for some strategy on how you can convince him ?

You know, freedom is not about "only the fittest shall prevail", it's about "Doing what I want".

It's not because you live in a democracy that you should impose the practice of the majority. It nearly looks like a persecution of some sort

jokoon
  • 2,280