views:

639

answers:

6

I have a degree in software development but found a job as a tester, I feel like testing has made me a better developer (before I'm even a developer).

I have noticed that the applications I make for myself, friends, and family, have become better and more stable since working as a tester. I think it's a good way to start a development career, it has improved my logic as well as changed my focus when writing code.

To test the logic of the application I have to first understand the logic in the application, and then create my own logic to test the developers logic. Because of this, I notice my logic has become more efficient and better structured.

Testing has also changed my focus when writing applications. I no longer focus so much on just making things work. I focus more on making things work not only as I expect them too, but also making them work in unexpected situations.

The bugs I find the most in software are simple "input errors", developers not checking what is being input and just expecting users to always enter the "correct" information. These bugs are easy to avoid, but often overlooked by developers. Testing has helped me avoid these types of problems in my own software, understanding that you cannot rely on the user to do the right thing has made my applications more stable.

The final asset I have gained is the "what if" mentality; which is a must in testing, this is a good mentality to have when writing code. Rather than just writing code that works, it is good to think "what if" I do it this way or "what if" I change that. I often find that the first way I do things is not always the best/most efficient way. It may work and it may be a good way to do it, but there are almost always other ways to do things that may be better.

I think if I move to development in my career, testing has given me a good base to build off of. I would like to know what others think of starting a development career as a tester, or starting a testing career as a developer?

+4  A: 

Absolutely, yes. Testing is a skill that many developers hadn't developed enough until recent years. I know I'm a much better programmer for learning how to use a good unit testing framework. Also, learning the most common types of errors that other programmers make will be valuable to help you prevent the same types of errors in your own code.

Just a few words of caution, though. Make sure your boss values your skills as a tester as well as your programming skills. If you don't want to get pigeon-holed into a career of testing only, keep up on developing new software on your own. It does take a different mind set that you don't want to lose.

Bill the Lizard
Amen brother! And you can get pigeon-holed rather quickly. It's not that being a tester is bad in any way, but there is still the reputation that you're getting, unfair and undeserved as it is.
thursdaysgeek
I completely agree, being a tester should not be looked down on in any way. Good testers should be encouraged to stay in that line, imho. Bad ones could be promoted to management. :)
Bill the Lizard
Who, as a team leader, is more likely to get stakeholder buyin, and deliverables approval? A developer or a tester?
le dorfier
A: 

It can make you a better developer. If you stick with it for very long, though, you may find it hard to transition to developer roles; you get type-cast.

Make sure that you keep coding skills current; consider contributing to an open-source application so you can build up a "portfolio".

If you find yoy really like testing, though, the need for testers is always great. You can make a career of it.

Charlie Martin
+1  A: 

I would like to know what others think of starting a development career as a tester, or starting a testing career as a developer?

It's good for your skills as a developer.

Whether it's good for your career is another matter: some people warn that it's possible to become pidgeon-holed (difficult to be hired later as a 'real' developer because you don't have 'real' development experience).

Another option that good experience imo is to be hired as 'software maintenance engineer': maintaining (i.e. bug-fixing and adding small features to) some already-written, already-shipped code.

ChrisW
+1  A: 

After 5 years working as tester, I made the jump to being a developer. It was difficult to make the jump because of the type-cast problem but also partly financially. As an experienced automated tester, my salary band was higher than a junior developer. It was tough to find the right manager and company willing to pay me the same salary as a developer as I was making as a tester.

My experience as a tester gave me a head start on understanding where the gremlins try to hide in code and an appreciation for the value of unit testing. What testing doesn't do is teach you how to actually design and write bug free features. It's one thing to be real good at finding mistakes, it's quite another to avoid making those same mistakes yourself. I have a much better understanding of the challenges involved in putting together a complex application. If I ever do find myself back in the role as a tester, I'll be less likely to grumble about finding errors in an application.

If I had the responsibility of running a team, I would to try find ways for testers to do some dev work and developers to do testing on an application they didn't write code for. Each side brings a unique set of skills and perspective to the process.

+1  A: 

When I interview developers anyone who has testing experience gets first priority. Especially if, like you, they have the development training. I wish we could make testing a requirement for consideration as a first or second level developer.

I bet you even know how to talk to users, ask them questions, and understand their answers - and use that for your primary requirements spec.

Over the years I'd say developers who have had a serious stretch in testing get promoted higher and faster, if they show equal enthusiasm for both. The only testers who got stuck were those who self-categorized themselves away from other skills.

I'd say you're golden.

le dorfier
A: 

The good testers almost always become good developers. Similarly, the bad testers almost always become bad developers.

I'm still in test after many, many years, but I've worked with dozens of testers who have moved to dev and been very successful (due to the exact traits you've described). It helps to be in an org where testers get paid the same as developers, but even if that's not the case, some time spent learning how software doesn't work will help just about anyone figure out how to make it work...sometimes at least.

Alan