Monday, February 4, 2008

Software engineers self-development

When I was in faculty my image about my future was that I will be a software developer in some company. I think it was the image of the most of us. But most of who work in software development when hired, find that the job title is software engineer (I talk about other job roles in undergraduates vision about their future).
Fresh graduates when hired have different reactions about this new job title which was not in their mind during the faculty. Some of them do nothing and consider that software engineer is just another name of software developer, which was the reaction of the majority of us. Some of them who are more smart, noticed that the job interview focuses on some areas of knowledge, so they enhances themselves in these areas after the interview. But the intention of this self-development is to do better in the next interview.
This may make some of you ask, so what is the difference between software engineer and software developer? Which I discussed in Software Engineer or Software Developer.
Back to fresh graduates, after they hired and get into work, then all self-development plans are gone and the main concern will be to keep their current job.
Some of you may say that the work experience enhances our knowledge.
Yes, you are true. But let me add to your answer a common forgotten part and say your answer again which will be, the work experience enhances our knowledge only in what our current job and company concerns about and apply.
My added part looks ambiguous?
Yes, I confess.
But let my explain my point. As we know not all the software companies have the same size, not all of them work with the right processes, not all of them work in all the types of application development.
This extreme difference with the previously mentioned behavior of software developer in self-development led the software developers experience and knowledge to be only the accumulation of what he worked in, see, heard about during his years of work.
But what about the other areas, approaches, methodologies that you are not forced to work with in your company?
The concept of “Learn what get me in” make the developer pause his self-development activities in the times that he is not preparing for a new interview, which are the majority of his time. This concept in behavior of developers wastes most of their time in ordinary work tasks and make their learning and enhancement process very slow.
This behavior implicitly naked the targets of most of us, which are only better job, better salary. Shame on us if these is our only targets. We should as a software engineers – not software developers - have a nobler targets and ethics.
Also this behavior led to some of outcomes which are:
  • Most of us only use the technologies that is introduced to us by the others, we use not innovate.
  • Even in using the technology, we know what make us accomplish our task, not to expert to technology.
  • We always fight to win positions in the operational levels – I talk about who worked in big companies like Microsoft, IBM, ORACLE, etc – we not get to higher positions or research departments.

Software engineers’ self-development in Egypt has the following Characteristics:
Path: Very slow and my stop for long periods.
Motivations: Better job, better salary.
Targets: Better opportunity.
Outcomes: Developers in the operational levels with medium knowledge in technology and no innovative ideas.

This is with the developers is the main concern. There is more to say if we talk from a national perspective and our role in aiding our country to compete in the international economy.

This is my opinion; hope to know your comments so we can change these conditions.

No comments: