A Courteous Architect or Developer

I’ve been having discussions with developers at other job sites and listened as they tried to “make their mark” at the placer they were working.  One of the developers had dropped in a new templating engine into a significantly large site – that already had a templating engine.  This person did it because “that other template engine is garbage.”  He had been on the job two days.

Something that really bothers me about this industry are the amount of egotists we have to deal with.  This person’s actions — so quickly — show a massive ego and short sightedness.  I put some questions to this developer:

  1. So, now the other developers have two template engines to learn and deal with? – Yes
  2. Can the other pages be easily converted to this new engine? – No, due to business logic
  3. Can both engines use the same style sheets?  – That will be the challenge

Now a thousand developers and architects will tell you “I like to design/architect, to pick out the components and wire them together; then move on.”  Having been in this business a while, and knowing plenty of developers such as Template Guy, I can say with honestly that a very good developer or architect has the insight to pick out technologies that easily and efficiently achieve the business’ goals, don’t hinder development and maintenance, and are cost effective.

But to really do that, one has to put oneself in the others’ shoes:  and that means dropping the ego.

Sure, its definitely OK to be selfish and try out a new tech.   But after that, have the foresight into the future to see what will happen with your decision before you move.

Cases in point: on several projects I’ve seen  old simple dependency management systems l(directory from a code repository) get half-replaced with Maven or Ivy.  Now, instead of a single solution, there were two solutions.   Why?  Well, for one the developers who did the upgrades didn’t have the impetus to finish the job they started because it got difficult.   Also, they probably didn’t understand the full extent of requirements in the applications makeup and got stuck.  An in the end left a large pile for everyone else to deal with and declared their actions a victory of technological savvy.

Our egos are good things because they drive us to be inventive, especially when tempered with the ability to meet the real goals of the project.  Usually these goals aren’t for us developers or architects to best each other, call things garbage, or show our talent in a new technology.   It’s to make something useful for others to enjoy and profit by.

Comments are closed.