Tuesday, June 7, 2011

What does a developer do?


After graduating college I was hired as a Junior Programmer a little over a year ago. I quickly noticed that I was degrees of magnitude faster than all the other programmers; this seems to be because I simply don't waste time "in general".. The majority of other people however seem to enjoy staring the ceiling, browsing youtube/facebook/random websites, and in general doing in a day the work I usually do in an hour. I'm 100% sure they would be able to do that work in an hour too if they focused.
I've been quickly promoted to Senior Developer and more recently to Team Leader and now I replaced a lot of those people with new hires (still a couple to go).. The situation is now more acceptable, but still I think it could be much better.
I can't help to notice though that everyone seems to behave like this is "normal".. All my bosses aren't concerned about this and they too seem to work little to nothing. I always have a very hard time finding them, they arrive much later than they are supposed to and leave early.. Obviously there is nothing I can do in this case since they're above me, but I'm now wondering if this is the "norm" in all companies or I simply ended up in a very bad one (this is my first work experience). Also I'm wondering if in a few years I'll "become like them".

How do you deduce they are not working?
As a junior I typed all day, hacking away at my code, with just 20 minutes for lunch. The more "senior" I got, the less time I spent typing and the more time I spent thinking.
If I "stare at the ceiling" and my producer walks into the room, she starts to smile, because she knows in half an hour I will have solved a problem that the "juniors" have been trying and failing at for the last few weeks.
As a developer
  • I don't get paid to type
  • I don't get paid to write code
I do get paid to solve problems.
And solving problems works far better if I think before I do.
Over the last few years I have seen this tendency to just hack down the first thing that comes to mind and then tweak and debug it until it seems to be doing what you want.
(Usually ignoring all the corner cases until they hit you later.)
I still remember the mainframe days, where you wrote your code, submitted it and waited for an hour or two until you got the first output. Guess what, you just didn't forget a semicolon or a bracket back then.
Do not judge until you have the experience to do so.
Please come back in five years and add a comment about what you learned

No comments: