
Ode to The Code Monkey
What you lack are not more lines of code, rather it’s architecture and a road. To substitute quality with speed, Is the motto of the code monkey creed….
What you lack are not more lines of code, rather it’s architecture and a road. To substitute quality with speed, Is the motto of the code monkey creed….
After participating in and leading many painful software design meetings, I have come to the realization that the best way to sell the top design idea is to first share some of the alternative and inferior ones.
Most failures in software usability can be attributed to poor decisions at the executive level, which are promulgated due to a culture of silence. Developers and designers should be encouraged to think critically about their work and be provided with official channels for expressing their opinions (in a non polemic manner).
The greatest engineering feats are the ones we don’t notice. The hallmark of a great designer is his ability to translate complexity into simplicity. The automatic transmission in a car represents significantly more engineering effort than a manual transmission, but it positively transforms the average user experience. The best consumer electronics always focus on hiding complexity, not showcasing it.
Its not enough to capture and display errors. Real quality of service goes beyond just acknowledging your application’s faults. My rule of thumb is that there is no such thing as an “informative error message”. A good error is one that has been eliminated through error-handling code and product design.
Hobbes observed that life under the rule of the mob is “nasty, brutish, and short”. Similarly, life in a startup modeling itself after a society such as the “Lord of the Flies” is wretched and hardly short enough.
Companies such as IBM and Microsoft are still scratching their head trying to figure out if this social networks thing is for real and does providing a communication platform for income-challenged teenagers makes any commercial sense.
Playing telephone can be fun, but it’s not if you are trying to accurately convert business requirements to a software solution in a timely and cost efficient manner.
The ceremony in which the team lead finally admits that he can’t deliver the features on time climaxes in a primeval ritual that rivals ancient Aztec human sacrifices, albeit somewhat more painful.
A high performance team’s esprit de corps is derived from a strong sense of individual belonging, common culture and shared vision.
Building and managing strong development teams goes beyond simply managing developers to quarterly objectives and delivering functional products.