Good Developer, Bad Developer

I recently read Ben Horowitz’s piece on the importance of training people in startup companies. At the end of this article he put together a document “Good Product Manager, Bad Product Manager”. Here’s my spin on it: Good Developer, Bad Developer.
 
 
 
 
 
 
 

Good Developer, Bad Developer

Good developer is an artist, a craftsman who enjoys the process of creation. Bad developer considers himself as a programmer, responsible for generating lines of code.

Good developer understands the problems of the customers. Bad developer understands only the technical problem at hand. Good developer does not define the why, but constantly strives to understand why. He’s responsible for the how, and still sees the big picture. Bad developer is focused on building classes and methods and configuration files, but does not get the big picture.

Good developer understands the complete architecture of the product. Bad developer knows only the components he’s written. Good developer fully understands the technologies that are used within the product. He understands what they are used for, and how they work internally.

Good developer is not afraid of new technologies but embraces them by quickly getting a grip. Bad developer only sticks to what he knows. His immediate reaction to any technical change is negative.

Good developer is constantly learning and improving his skills. Good developer reads technical articles, and finishes several technical books a year. Bad developer does not have time to learn. He’s always too busy with other stuff.

Good developer cares about the product quality. He is also very much concerned with the process quality. Good developer pushes himself to create bug-free code; bad developer leaves it to QA to find bugs to fix.

Good developer develops features which create value for customers. Bad developer completes tasks. Good developer will never claim the requirements are incomplete, and will make sure to fully understand the features he’s working on. Bad developer will wait until the finest details are available. To emphasize: good developer is the CEO of the feature – he’s going to make sure he always has the information needed to accomplish the feature, and in case information is missing he’ll make sure he gets it.

Good developer is not afraid to go into anyone’s code. Bad developer is afraid of others looking into his. Good developer understands that it shouldn’t take more time to write self-explanatory and well-documented code. Bad developer always needs to allocate extra time to document and simplify.

Good developer will never feel his code is good enough, and will always continue to clean and fix. Good developer always strives to create elegant solutions but understands that his job is to deliver value to customers. Bad developer thinks only about the elegance of his code and leave the job of delivering value to others.
 

Reference: Good Developer, Bad Developer from our JCG partner Guy Nirpaz at the Thoughts from my startup journey blog.

Do you want to know how to develop your skillset to become a Java Rockstar?

Subscribe to our newsletter to start Rocking right now!

To get you started we give you two of our best selling eBooks for FREE!

JPA Mini Book

Learn how to leverage the power of JPA in order to create robust and flexible Java applications. With this Mini Book, you will get introduced to JPA and smoothly transition to more advanced concepts.

JVM Troubleshooting Guide

The Java virtual machine is really the foundation of any Java EE platform. Learn how to master it with this advanced guide!

Given email address is already subscribed, thank you!
Oops. Something went wrong. Please try again later.
Please provide a valid email address.
Thank you, your sign-up request was successful! Please check your e-mail inbox.
Please complete the CAPTCHA.
Please fill in the required fields.

5 Responses to "Good Developer, Bad Developer"

  1. I (sadly) know some bad developers. Not the best people to work with…

  2. Eddie G says:

    You make a lot of good points, however, you left a key component out: A good programmer is productive.

    I’ve worked with a number of developers who have many of the attributes you mention in your article but are consistently late, deliver over-engineered work, use “new” technologies that fail to deliver (often to build up their own egos / resumes), or build features that no one wants.

    While most want to be a craftsman in our profession, a good programmer knows what is “good enough” and knows how to get the job done.

    Otherwise great article.

  3. G.N.Darehkat says:

    So your are not programmer! a programmer never ever talk like this , Its better to change the title as “Slave developer, Bad developer”, I prefer to be bad developer instead of your good developer. bye the way I am agree with some part(20%)!

  4. Armen Arzumanyan says:

    Probably your “good” developer is not real developer, it is like most of project which a lot of company made` good for costumer, but technically bad, always fails , bad performance, bad architecture . Every project the first must be well made and well architect, because you know costumers does not know what they want, but developer must understand technical solutions for prevent customers every day changed requirements.

  5. Thomas sofras says:

    I agree with some parts, but not with all of them.it’s different to work in a software house and distribute software for other companies and different to work in a company as an inhouse developer that is more bussiness oriented. You have to know the specific bussiness requirements so to fully understand the business that you are working on, and if you a part of a team you have to document your code well. So at least with these last too your good developer is a bad one ;)

Leave a Reply


one × 5 =



Java Code Geeks and all content copyright © 2010-2014, Exelixis Media Ltd | Terms of Use | Privacy Policy | Contact
All trademarks and registered trademarks appearing on Java Code Geeks are the property of their respective owners.
Java is a trademark or registered trademark of Oracle Corporation in the United States and other countries.
Java Code Geeks is not connected to Oracle Corporation and is not sponsored by Oracle Corporation.
Do you want to know how to develop your skillset and become a ...
Java Rockstar?

Subscribe to our newsletter to start Rocking right now!

To get you started we give you two of our best selling eBooks for FREE!

Get ready to Rock!
You can download the complementary eBooks using the links below:
Close