Take the 2-minute tour ×

There is a developer, lets 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. Thanks for a lot of nice answers(Still can't decide which of them is best).

share|improve this question
Funny. I guess he wants to feel pain. I remember I use to code COBOL in a text editor. When I experienced my first IDE I thought I was cheating. Maybe he feels the same? –  TeaDrinkingGeek Mar 2 '11 at 9:52
How do you know his productivity is lower? How have you measured the productivity. Also. I find it hard to believe its a text editor (like notepad). Is it an editor like vi or emacs. These are both environments unto themselves in the hands of a skilled user. –  Loki Astari Mar 2 '11 at 10:19
"some text editor" may be much more powerful than you think. –  user1249 Mar 2 '11 at 10:23
I am curious how fast could someone using vi/emacs can do extract method, rename method, inline method, introduce local variable, move field/method, e.t.c. ? –  artjom Mar 2 '11 at 10:28
@artjomka: A lot quicker than you think. It can all be scripted. You think all these automated tasks were invented for only after the IDE was introduced. –  Loki Astari Mar 2 '11 at 10:30
show 10 more comments

13 Answers

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.

share|improve this answer
"Lack of willingness to adapt to his environment might also be a concern". This would be a red flag for me too, he wouldn't last probationary period here on this alone. –  Binary Worrier Mar 2 '11 at 10:23
problem is that most IDEs preferred by companies are bad ones, in that they're chosen solely on the basis of cost (meaning, free...). That usually means Netbeans or JDeveloper, or some flavour of Eclipse. The first two are disastrous, the last often is especially in larger teams as coordinating things like settings and plugins is hell with Eclipse. –  jwenting Mar 2 '11 at 10:24
@jwenting I don't know how large you mean but I've yet to see a team that's so big Eclipse won't cut it. Settings and plugins should of course be standardised, which is easy. –  biziclop Mar 2 '11 at 10:38
+1 The problem is, "John isn't productive enough." Don't focus on the IDE as a problem. –  Andres Jaan Tack Mar 2 '11 at 11:28
@jwenting You may to take a look at this question which backs up your claim: programmers.stackexchange.com/q/21987/7167 –  Gary Rowe Mar 2 '11 at 13:35
show 6 more comments

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.

share|improve this answer
+1 for the 'show him'. Yeah, show him. –  Joris Meys Mar 2 '11 at 10:12
+1 for pair programming –  Chris Knight Mar 2 '11 at 10:16
++ for pair programming - just having an IDE plonked in front of you is useless without someone showing you the handy keystrokes to get stuff done –  Gary Rowe Mar 2 '11 at 13:32
Since when did Java become low-level language? ;-) –  Craige Mar 2 '11 at 14:18
@Craige: 'levelness' is relative. Compared to modern dynamic languages, Java is a low-level language with high-level libraries. –  Javier Mar 2 '11 at 14:53
show 4 more comments

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.

share|improve this answer
add comment

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.

share|improve this answer
Failure may be a great teacher, but surely is a bad business strategy - why should this company pay for the education of the next company's employees? –  Ekkehard.Horner Mar 2 '11 at 10:30
@Ekkehard.Horner: How is it a bad business strategy to be rid of someone who is (a) less productive and (b) uncooperative? –  S.Lott Mar 2 '11 at 11:00
@S.Lott: artjomka's questions implies that John can be made productive (gain for the company); Paul Butcher's proposal to do nothing but allowing John to continue until fired is a sure way to loose money. –  Ekkehard.Horner Mar 2 '11 at 12:32
@S. Lott: Because training people (John) costs money. Because finding new people costs money. Because training a new person to do his job takes costs money. Firing people is expensive. –  pyvi Mar 2 '11 at 13:52
I think Bill should go one step further, and fire John himself. Don't wait around for it happen by itself... Also, I'm curious how this wasnt discovered during interviews? –  AviD Mar 2 '11 at 15:27
show 5 more comments

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.

share|improve this answer
add comment

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.

share|improve this answer
I agree. The case hasn't been proven that John is less productive because he's not using an IDE. Moving to an unfamiliar environment will most likely make him even LESS productive, and frustrated to boot. Focus on his performance. Make him pair program with someone using an IDE (or pair with him in a text editor, maybe you'll learn something too.) Find the root cause of the lack of productivity, don't just jump to the conclusion that his toolchain is at fault. –  karmajunkie Mar 2 '11 at 16:58
It's also entirely possible that the employer has unrealistic expectations for John, and that his performance is well within reason. –  Joe Internet Mar 2 '11 at 19:03
With only 3 developers, if the other two are of the Premium fuel high output caliber, that's entirely possible as well –  Avatar_Squadron Mar 2 '11 at 22:52
add comment

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.

share|improve this answer
add comment

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.

share|improve this answer
add comment

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).

share|improve this answer
Any kind of refactoring is slower (not to mention error-proneness) by several orders of magnitude in a plain text editor than an IDE designed to perform refactoring. –  biziclop Mar 2 '11 at 11:09
@biziclop An IDE is just a collection of tools. There are no reason why a collection of tools should be more potent than the tools on their own. Refactoring tools exists outside of an IDE also. Knowing tools makes you productive, if you get to chose your own, you are more likely to be productive than getting some tools shoved down you throat. –  daramarak Mar 2 '11 at 14:28
@daramarak I think we can all safely agree that a text editor isn't a refactoring tool, while an IDE is. –  biziclop Mar 2 '11 at 14:34
@biziclop sure a simple texteditor alone are no refactoring tool. My point is that a simple texteditor is not an obstacle for refactoring. It leaves you free to choose the tools you like. –  daramarak Mar 2 '11 at 14:46
@biziclop: Since when is refactoring (and getting help doing it) the main thing in productivity? I admit it really helps when I want to rename something, about once a month, but my productivity isn't due to that. –  Mike Dunlavey Mar 2 '11 at 17:37
show 5 more comments

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.

share|improve this answer
add comment

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.

share|improve this answer
Trying to learn an IDE effectively is an exercise in frustration as well, and takes a lot of time and effort. He may well be SLOWER for several weeks using an IDE than he is now using a text editor (depending on his core competence with the language he's writing), and not any faster for several weeks after that (if ever). –  jwenting Mar 3 '11 at 10:00
add comment

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).

share|improve this answer
There are stand-alone debuggers that work very well for at least some purposes. I don't know enough about Java tools to say if that's the case here. –  David Thornley Mar 2 '11 at 17:46
there are some really famous developers who debug stuff with printf. Even if it's a little cranky, why bother one to convince him to use something else ? –  jokoon Mar 2 '11 at 17:55
add comment

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

share|improve this answer
add comment

Your Answer


