My hovercraf
t is full of eels: Assistant Orange Peelers
The author raises a very good point. I don’t believe you can be successful (or perhaps, its more difficult to be successful) if you break software develop
ment down into a series of specializations. Although a developer may have more training and intimate knowledge in a specific area of code, it is not effic
ient to let him/her focus solely on that area.
A good developer needs to have the ability (ie: knowledge and tools available) to diagnose and debug a problem regardless of where it may lie and what tech
nological cross-sections it might touch.
When I look for a developer, I look for someone with good cross-sectional exposure to technologies and methadologies. These are the types of people that a
ble to easily adapt to different environments and share their experiences while contributing to valuable discussion. What I term a vertically focused deve
loper (someone who is a specialist in a single area) could potentially be very set in his ways. Design/implementation designs should be based on a holisti
c view of the entire system and not on someones personal perferences (although the experiences of a domain specialist are valued).
This leads to my last point, the over-reliance on specialists to make far-reaching decisions.
Hypothetical Situation:
Company: We know we’re doing something wrong and its going to bite us later, but at that point we’re going to bring in a high-priced outside senior perso
n to magically fix the problem for us. For now we’ll look at ways to “optimize” the code.
Maybe I’m not optimistic enough, but I don’t see the point of waiting for someone senior to come in and point out the mistakes (and magically fix them) wh
en you could start taking iterative steps towards reaching a suitable goal right now. I’ve been in situations where I’ve been brought in as a so-called ex
pert to provide man power on a dead-end project. It’s difficult to fight past momentum and really make the right (and necessary) kind of change. So, on a
whole, all developers need to be agile and prepared to work collectively on all aspects of a code base. It’s not possible to have intimate knowledge of t
he entire code base, but it should be possible to have a birds-eye view of the different components and perhaps their most important points of interaction.
The code is owned by the collective and although you may not be a specific expert in a given technology, that’s no excuse not to raise a concern or quest
ion a course of action.
Management should encourage their developers to cross-train and become self-sufficient, I believe a cross-sectional approach to development far outweighs
a specialist vertical approach.
-
Pet Peeve: Don’t email my password to me in plain text You know the drill.
Signup for some random service on the internet
Receive a confirmation email with your account information
or
Forget a password for some random service ...
-
Eclipise Memory Analyzer (MAT) I must say the Eclipse Memory Analyzer looks pretty slick. There is some pretty good material over on the developers blog. Lastly, there was a talk on it ...
-
Open-source Web-based Code Review Tool: Rietveld Guido van Rossum, of Python fame, has recently released a Django-based application that enables web-based code reviews... Rietveld.
It supports any language and currently can hook into Subversion repositories. You ...
-
An implementation of the JVM in Javascript? Caught this over on JavaPosse Google Groups.
Essentially, some bright fellows over in Japan have developed a bytecode->javascript compiler. There's a demo floating around that took a Tetris ...
-
Facebook Chat? So it looks like the Facebook Chat service has finally started rolling out to my network (Facebook Chat has been mentioned previously).
Not quite sure how ...
Latest Entries
- Lessons Learned as a Project Lead
- Good ANTLR Resource
- Testing with Unitils
- Headed to Kelowna for a short vacation (and the laptop stays behind)
- Seam + Groovy + Maven : Nice Simple Hibernate POJOs
- Pet Peeve: Don’t email my password to me in plain text
- Eclipise Memory Analyzer (MAT)
- caBIG Annual Meeting - A developers perspective
- OS X + Java6: java.lang.UnsatisfiedLinkError: /usr/lib/java/libObjCJava.A.dylib
- Getting started with JBoss Seam and Maven
Blogroll
No Comments
Leave a Comment
trackback address