Recently, I happened to read an article about Roles,promotions and career growth – Development stream?, written by one of my colleague, in which he expressed his views about the technical stream in software engineers career. After reading that post, I thought of putting my views in this blog.
Architects in Service based companies:
Firstly, every software developer steps into the IT industry with a dream of innovating something useful to the community.
But when he becomes a part of a service based company, his roles and responsibilities are already well defined. So, his logical career path in service based companies would be developer -> Senior Developer -> Analyst -> lead -> manager. If he choose a technical stream instead, then the career path would be developer -> Senior Developer -> Technical Architect -> Senior Architect. The developer moves along this career path to end up as a Architect or a Manager.
But again, in an service oriented company, mostly the architects are used as advisory councils. Since the large number of projects coming to a service company would be having a similar set of requirements, the architect’s job here is to learn that particular domain and then share that knowlege with the rest of the team. He cannot do anything more this other than acting as a knowledge center. He may invent a new process to do certain things effectively but on the technical part, nothing more can be done. His responsibilities will be evaluvating other technologies and guide the team.
So, IMO, if a developer has more passion for programming, he should either be a part of a product based company or be part of a open source project in his free time.
Being a coder for a long time?
And most people are happy to code for a long time in their career. Somewhere I read that software coders can be compared with the assemblers in a car making shop. The job of the assemblers is just to assemble the parts as per the specification given to them.
The software coder might be doing some extra things, but the entire satisfaction lies in designing the product. That’s what every developer’s dream, isn’t it? So, the next logical step of a software coder after getting enough experience in coding is to move on to architecting the application. This makes the developer’s dream to come true.
To conclude, if you are a developer with a passion for coding, do more and more coding and after learning the applications well, move on to architecting them.
{ 1 trackback }
Comments on this entry are closed.