Career Maturity Model in Software Engineering V.V.S.Raveendra Many of our new entrants into software engineering appear to be concerned that they are left behind, if work/project is not offered in e-business. To see if it is really an issue, I was looking at a career model that would be independent of the project and client that one works for. Here is a model in that direction. Level 1 : Typically one would start his/her career as a Programmer. It could be coding effort arising from program specifications or change requests or fall over of programs in production. Mostly one gets opportunity to work in one line of technology. Say IBM mainframe, AS/400, Java, Microsoft or Oracle.At this level, one would also get to know about basic nuances in Change Management, Metrics, Configuration Management, Quality, Process etc. Level 2 : In the next level, as an Analyst one would be writing program specifications or doing impact analysis at high level before raising a change request or merely identifying the solution outline in the case of a production fall over of a program/job.Level 3 : In the Designer level, one should be able to do system design, capacity planning, performance tuning etc. A designer is also in a position to look at the performance or design problem of an application that he did not deal with earlier and still be able to solve the problem at a higher level.Depending on the opportunities and experience that one had in the first two phases the designer could still be confined to a single line of technology. The design methodology could be procedural or object oriented. Level 4 : Architect is a person who can compare technologies and arrive at a suitable architecture for a new application or enhancing an existing application. He is in a position to write proposals and recommend alternative architectures.A person to be an architect, he/she needs to constantly read and update oneself proactively with new technologies. Architect should also be able to assess new technologies and offer means and ways of absorbing them into the existing software systems. It is really challenging to keep oneself updated. For example, let us take a look at some of the concepts related to Java platform: Applets, Servlets, Aglets, Java Beans, Jini, Java Mail, JDBC/ODBC, RMI (Remote Method Invocation), JMS (Java Messaging Service), EJB (Enterprise Java Beans), JT-API (Java Telephony API), JNI (Java Native Interface), JNDI (Java Naming and Directory Interface). Please note that a serious study of each one of the above concepts involves reading a separate textbook and substantial programming effort. One should also keep track of various products supporting these concepts. Consider various web servers in the market: Internet Information Server, Netscape Enterprise Server, Oracle Web Server, Java Web Server, Web Sphere. An architect should be able to compare these products on the basis of a few features like, scalability, stability, availability, security, support for maximum number of concurrent users, product cost, application development cost etc. Subsequent to this, a comparative analysis in the context of a specific project should be made before recommending a web server. It is at this stage, one needs to familiarize with all technologies irrespective of what one learnt as a programmer, an analyst and a designer. Those who constantly updated themselves in the first three phases can comfortably become architects. Those who have been ignorant of technologies other than those offered by the projects, will need to strive hard to come up to speed. Level 5 : A Consultant not only needs to know technological developments, but also has to update himself with line of business knowledge. Therefore his/her effort to stay abreast of what is happening in industry gets compounded and the responsibilities are even more daunting. A consultant deals with crucial problems at a higher level like, whether migration would benefit an organization or redevelopment is necessary or simple reengineering is enough. He would help a client in arriving at the future IT strategy for next few years.The above Career Maturity Model has not taken into account the Quality and Management related dimensions and is limited to technical challenges that one would face over the years. So, pull up your sleeves and get ready to achieve this CMM Level 5! March 2000 Home |