Archive for the ‘ex-developers’ tag
Pros And Cons Of Transition From Developer To Tester
In one of my previous posts Are ex-developer good project managers I was exploring one of a few possible career paths for developers. Post was mostly about evolution from developer to project manager and how development background can help in new role. Under this post Pawel Brodinski left a thought-provoking comment:
I have one great idea for developers who want to transit to some other position: become a tester.
I didn’t consider this path as viable option mainly because it’s not a very popular trend. There was always an obvious gap between developers and testers. I do remember people talking that Microsoft “converts” poor developers into testers… I don’t know if this story holds the water but I’m sure stories like that bear in people’s minds. And it makes transition to tester less desirable, at least from developer point of view.
I believe that both professions require different mindset. Developers are accustomed to a joy of creation; their work requires creativity, and in the same time gives a lot of opportunities for instant gratification. If your new class or method work then great, you are done. It’s easily achievable and very positive.
On the other hand testers are not building anything, they have to verify that things built by developers work as expected. On a basic level this inevitably involves going through a checklists to make sure that (for instance) html renders correctly in all browsers. Repeating such steps over and over is not something that most developers would like to do.
But there are also similarities between both professions which gives ex-developers some benefits. Advanced testers don’t have to go through checklists and check everything manually, in most cases it can be automated and this is the place where pure development skills are very handy. Another advantage is creativity which is a requisite not just for good developers but also for all good testers. Figuring out all possible scenarios in which given functionality can be used, checking all available paths; digging as deep as it’s possible – without creativity it’s hard for good outcome.
I agree with Pawel that good tester can be “well worth the bigger money than they coding colleagues”. Tester which is able to reliably verify that software works is invaluable. Testers who are familiar with typical development pitfalls are able to relatively easy find all edge cases; it makes them priceless members of any team.
What about instant gratification? This is essential thing which keeps developers happy. Do testers have something like this? I don’t think so … and this is what makes those two jobs so different and transition from one to another so hard.
Are Ex-Developers Good Project Managers?
Sooner or later developers have to start thinking about their career path. They are facing a question like ‘I have been programming for x year … now what?‘. As I see it there are three potential career paths for developers:
- Well known path from development to project management
- Purely technical path towards “senior developer” / “technical lead” / “software architect”
- And finally third path towards technical consultancy
Quite often you can hear that developers are not good project managers. People say that mainly because being a good developer doesn’t make anyone a good leader or project manager. Programming and management require different set of skills. Majority of developers got technical training and they lack soft skills which are essentials when it comes to managing people. However developers want to “progress” and in some companies this is the most natural way, the most obvious path. Transition to manager requires learning new competencies and changing “point of view” but for sure it’s possible.
Assuming that ex-developers feel good in the role of project manager they have one big advantage over non-ex-developers PMs – they know what debugging is!
Every software developer knows how to debug code. When something goes wrong they can figure out what the problem is. Once the problem has been identified, they can figure out how to fix it. (In most cases.)
Ex-developers understand software creation process inside out. That puts them in much better position to investigate problems which may occur and solve underlaying issues. For them project is not only about tasks, estimates and tracking progress. They know what is really going on. PMs without technical background usually have following options when the project is in trouble:
- additional people to speed things up
- overtime hours
- functionality descope
Ex-developers are not limited to the above list, this is their strong side!