Should Software Engineers Move On?
By MortazaviBlog on Jul 28, 2005
Is it a good idea for a software engineer to move on from their existing project to new ones?
With classical, mechanical workers, it is often the case that one becomes totally proficient when one uses an equipment on a repeated basis. One can become an expert car mechanic, for example, and still find interesting things to do but one cannot become an expert unless one has made great strides in proper use of the tools and equipment.
The reliance on and the importance of tools does not diminish in software engineering. What makes software engineering different is the exertion of mental energy at a very detailed level. There is certain amount of learning (beyond the use of tools) that is required when any piece of code is touched but only continuous learning makes software engineering fun for a large number of people. This continuous learning has to be in multiple dimensions, and without moving along some of these dimensions, one cannot learn. Different engineers have different tastes regarding which dimension is most important for them. Some take pride in their mastry of tools. Others like to be architects and designers. Some like writing volumes of code. Others like to write few but more complex pieces. It has been very rare when a person has gathered all of these qualities at a level that is superior to all others. Hence, the great need for collaboration among software engineers.
So, what about the question we started with?
Well, there are different types of moves, and it all depends. (Isn't that an easy way to dodge the question?) One thing is clear. Unless you choose some dimension to move on, there's very little learning that can happen.