Productive Developers are Smart and Lazy
Join the DZone community and get the full member experience.Join For Free
- developer as in energetic and focused on building real-world code solutions
- not a dreamer who never gets around to writing anything practical
- smart as in able to think things through (i.e. not smart-ass)
- lazy as in lazy-loading , that is taking time to write code (i.e. not couch potato)
- really understanding the requirements and getting product management (business analysts) to be clear on what are the actual requirements
- they often are not given time to gather requirements
- they often don't have access to the right subject matter experts
- they sometimes have very poor abilities to synthesize consistent and complete requirements (see when ba means b∪ll$#!t artist )
- really making sure that you understand how you are interfacing to other developers on your team and other teams, this involves:
- collaboration in front of a white board
- producing diagrams (uml and visio)
in reality, less than 5% of that time is spent productively (see the programmer productivity paradox ). if you see developers spending 100% of their time staring at their screens with no human interaction then you are looking at some of the worst developers.
- the ratio of initial coding time was about 20 to 1
- the ratio of debugging times over 25 to 1
- program execution speed about 10 to 1
- program size 5 to 1
developers become psychologically attached to their code
- refactor the code if the code is largely doing the right thing
- rewrite the the code otherwise
Published at DZone with permission of Dalip Mahal, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.