Monday, June 24, 2013

Virtues of a Software Developer

"The three virtues of a programmer: laziness, impatience, and hubris" -- Larry Wall

Hubris means extreme pride or arrogance. Hubris often indicates a loss of contact with reality and an overestimation of one's own competence or capabilities, especially when the person exhibiting it is in a position of power.


Ability to minimize the amount of code you write. Code you don't write is code without bugs. this means either writing problem specific libraries or having them in the system.
Ability to minimize boilerplate. This is where dynamic languages often win.
Ability to change code easily and test or run frequently (not necessarily unit testing). Rewriting usually makes code more robust.

Tuesday, June 04, 2013

Developer Advise

It is important for a developer to be willing to work outside of their comfort zone. Technologies are constantly changing, and as developers we are often asked to do integrations or updates that we have never done before. By pushing yourself to try new things, you end up being exposed to more code and alternative ways of tackling issues. It's this drive to constantly learn and do new things that makes the difference between a good developer and a great developer.

Don't be afraid to break stuff. Breaking things is an important part of learning process. Why did it break? Where did it break? Even if it didn't break, was there a logical outcome?