Child learns simple words, and use them: "dadda", "mommy"…
Programmer learns simple keywords, and use them: "while", "for", "class"…
Child becomes a Teenager, and by this time should know words more formally: "father", "mother"…
Programmer becomes a developer, learns a few more words, and use them: "virtual", "override",…
Teenager becomes more comfortable with the language, and starts to drop a few vowels here and there: "r u there?", "c u l8r"…
Developer has been writing basic words for so long that has now become "Senior Developer" (no new words have been learned, though).
Teenager becomes an adult, learns a lot more words, and learns that in order to succeed in life, it’s mandatory to use the language properly in order to communicate intentions. Improper use of the language may indicate the person is either uneducated, immature, lousy, or all of the above.
Senior Developer does not learn new words, does not learn how to better use the ones already learned before and used for so many years, and there’s just no hope for improvements.
Question: should the Senior Developer be labeled as uneducated, immature, lousy, or all of the above?
I’d say all of the above, unfortunately. I don’t believe it’s correct to call a developer a "senior developer" just because he or she has been programming for whatever number of years. I believe what makes a developer a "senior" is the level of expertise and knowledge acquired over the years.
Say developer A has read a book such as "Programing with whatever language in 21 days" or "Programming for dummies" 10 years ago, and has been writing code solely based on what’s been learned from that book. Then there’s a developer B, who has read countless books on architecture, OOD, patterns, etc., and has really mastered the craft, but has only been doing this for, say, 5 years. Who should be labeled "senior" in this case?
What I am trying to say here is that it seems like a lot of developers have been living under a rock for ages. These old dogs don’t seem interested in learning new tricks. There’s code out there that really seems like they’ve been written by children. Just like it is hard for a magazine editor to edit an article written by somebody with terrible command of the language, it’s equally painful to read code that seems to be written for nobody to understand.
Obviously, there are exceptions out there, and that’s where I try to set my bar at. I mean, it’s refreshing to see some ingenious code some brilliant people write out there, and that’s what keeps me interested in software development.




Leave a Reply