Sandeep Deb's Home Page
BLOG entries
  [03-Jun-07] I am not an Architect...
I don't want to be called a Software Architect. I have known and worked with (and for) many people whose designation ranked them as 'Architects' (and/or superlative variations there of), but except for few, I have rarely had any reason to respect the 'Architect' role the way it had been projected. From what I have seen and experienced, the whole concept of the role is twisted beyond recognition. It's very hard for me to imagine how can a Architect not want or be able to code, not want to design and not be approachable for technical problems. Architect's are projected as epitomes of technical excellence and all I have found them to be doing is trotting around as technical glam dolls, spewing jargons, giving presentations from which you can't derive an ounce of real life value.

During the years when I was being mentored, it was hammered down my head that to become an Architect, you have to be an excellent designer and to be a designer you have to be an excellent developer. Being an Architect is not about drawing boxes or spewing jargon, it's about being able to foresee the road and be comfortable, accountable and responsible to pave it if required. Being an Architect is being able to use your knowledge and experience to mentor young people. Being an Architect is being able to wear a suit and explain to the customer as to why the solution needs to be the way you see it. Being an Architect also means that you be able to roll up your sleeves and spew high quality code, better than your developers. Being an Architect also means that you can read requirements and foresee how and which parts of your system will get stretched. Being an Architect is like being a technical 'matriarchal elephant', who in drought or happy times can raise her trunk and smell which way the water hole is.

All good things. But it requires time and devotion and an unfailing love for technology. In today's software industry, you are expected to shed off your technical skin the moment you cross three-four years. You are expected to 'lead', 'manage' and 'talk big'. It feels so disturbing when I see young kids demanding to take on a lead role and not be asked to code. The reason why this model works is because the limits of 'Quality' has been streched so wide that a dinosaur can run through it. The industry thrives on outsourcing, maintainence of applications. The industry believes that by following 'processes' it can churn out reams of checklists and procedures which will render skilled labor redundant. Have you ever felt the undercurrent of assurance amongst management that if your project is CMMI compliant, you are on track! How many of the management have you seen being worried about the fact that the project doesn't have a build environment or there hasn't been one succesful build in the last month? Tell them that the project got an process non-compliance because the right template was not being used for capturing the minutes of the meeting and see a flurry of eMails at the higest levels.

The funny part of the entire story is, when shit hits the ceiling. Ever seen the scutter of people during the end part of the project when the process comfort fades off and you realize that you don't have a stable build or that your project is running way behind schedule, components don't interlock properly. I have been in too many projects and seen this happening too frequently. What happens then? Fire-Fighters are called in and asked to douse the fire. Fire-Fighters are no one but senior people who love coding and the warmth of the fire by their backsides. Where is the process now? Where is the comfort that CMMI offered for all these weeks when the status reports were green to the core. If you see it closely, fire fighters are essentially agile works. They work at close quarters, have a high degree of communication between them, have high degree of respect for each other, believe in the santitiy of the cleanliness of the code, work in iterations, prioritize work, believe in frequent deliveries (to soothe the managers who are purging thorns), to appease the customer who has lighted the fire in the first place. Well, but then agile is not an accepted practice in many CMMI organizations. Ever heard joke about agile methodologies during coffee breaks? Maybe because many they don't fit in into the agile group, because prople in the agile group don't bullshit, they write code, make things works, don't belive that if they fill a word document capturing their review comments, the entropy in the world will subside. Rather they believe that if the build breaks, the project health is going downhill.

I love coding. I can design. I can visualize multi component systems, their interactions, performance bottlenecks. If asked what I would like to be called, I would rather say 'Senior Developer'. But in today's environment, that would sound more like a demotion than an honest confession.

Maybe things will change one day.

Post a comment -