views:

635

answers:

15

Hello guys, I am 31 years old. I graduated with a degree in computer science at 25 years old, and until now I haven't worked in my major as a software developer, actually this issue makes me somewhat sad. My current career is as a software tester, and (in my point of view) I consider that this career has no future. So can I change my career to software developer, and does my age has any effect. And what should I do to become good developer since I don't have any experience. Another question, how can I get benefit from my current career as a software tester if I want to work as a software developer? Do I have enough time to be successful developer?? Please be honest in your answers.

Thanks

+19  A: 

Age is no matter.

You can get a job as a computer programmer if you can program. Sadly, if you don't have much experience doing actual programming you will probably have to take a job paying much less than you're currently making for the first year or so. But, after that, if you've proven yourself to be an excellent engineer, the sky's the limit!

Go for it!

Terry Donaghe
Agreed. Go for it, Joe.
Adam Crossland
+1 I would even go as far as to say, having worked as a tester is a *brilliant* start for a career as a really good software developer.
Pekka
Although not exactly the same, i know testing in games is a sure fire way to get a job in actual game development. I'm fairly confident this would apply to computer applications, testing is a vital thing to do and the experience you have from it can be put to good use.
Jamie Keeling
Anyone who says "age does not matter" is nuts - I'm 56, and I can assure you it is MUCH harder to get gigs at this age than it was when I was 36.
anon
+8  A: 

1 - learn to type and spell :-)

2 - tester is a very good profession. Great testers are worth their weight in gold. So do not despair

3 - You can be a dev if you can think clearly and like creating things. If u graduated CS then you should have some smarts

Just dive in and try it. Give yourself a programming task and see if you can do it and if you enjoy it

pm100
I agree with 2. and 3; Re 1. remember that there are many people here for whom english is not the first language, but who are perfectly proficient in their own.
Pekka
3: "If u graduated" -- see #1 (Capitalization and punctuation are useful too.)
thursdaysgeek
Actually, #1 can be very important, mainly when working on big/group projects. I've had way too many WTF moments due to typos. But really, this is just a minor setback, nothing to prevent you from becoming a dev.
Wallacoloo
If you work in an English environment/team, having good English skills are quite useful, regardless of what if it's your native language or not.
Lars Wirzenius
So points 1 and 3 contradict each other
Chris S
A: 

Yes, you can be a good developer, IMO. It can be depressing to not work as one would like after getting out of school, I'd think that would be common. Being a tester should give you some skills that would transfer to being a developer, such as attention to detail, testing methodologies, etc. Does your current employer having Software Developer openings that you could apply? If not, then try to various recruiters that may be able to help you find a development job.

"Can Starting Your Career As a Tester Make You a Better Developer" seems like what this person is asking, at least in some ways.

JB King
+8  A: 

Sadly, software testing is often not valued as much as it should be. Your conclusion that you should move to software development may well be correct. But yes, you do have plenty of time to be a great, successful, valued software developer. Many developers start in their 30's or later. I started in my late 20's with no degree and no industry experience.

Your experience as a tester will be valuable. The right employer will value that experience. The wrong employers won't, but that's okay? Testing has taught you some things that some developers don't learn! The value of artifacts and good documentation, good communication, the horrendous cost of bugs found late in the process, and seeing how software implementations miss the mark. In using and analyzing interfaces, you have probably learned more about discoverability and usability than some developers learn coding such interfaces.

What to do now? Pick a technology of course. Java, .Net, whatever. I don't know your situation, but learning to program in your company's language/framework should be helpful. Your Computer Science degree will be very helpful (I wish I had one), but it most likely did not teach you about good practical software development. So it is very important to get a good book on general programming, like Code Complete or the like. At the same time, make goofy programs for fun to start coding.

Good luck! I also got into programming a little late, like you, and at first I was down because I thought I had wasted time. Not the case at all. Cheer up, and go for it.

Edit: Took me a while to find, but I thought it was a great discussion and would be very helpful for you. Check out this stackoverflow podcast, where they discuss the differences between testers and developers.

Patrick Karcher
A: 

What age? The way I see it - good programmer is like an artist, if you have a talent you can program at 85. On the other hand - if you don't have a talent then maybe you should not program at all. It's your call. Most of the good programmers I know simply can't (and won't) do any other job

DroidIn.net
+3  A: 
  • Age does not matter
  • Tester is extremely valuable experience if you are good at it
  • From hight level view tester is software developer (even though many may not agree)
  • No matter what role you are after, put together list of skills that are relevant for your next role and present that to your employer, don't start with sentence "I have a tester experience and have no software developer skills" - you will fail, be positive, you have lots of software development experience
  • Write small app that solves something using some algorithm or a small applications in whatever domain you are interested (any of these or similar scope will do: network app to transfer data, gui app to manage todo list, rss feed reader with xml parsing or simple tool that does something like invokes commands and reports results) and add it to your portfolio
  • Read some books or follow online whats happening around your preferred area of expertise (latests frameworks, tools ...)
stefanB
+1  A: 

I transitioned into development from QA. I would suggest you don't just jump into development. Take on small projects now while in QA. The way I did it was to do development in my spare time, reading books, and talking to developers. I found what I learned while practicing applied to testing anyway.

Here is a list of QA ideas that would help you build skills for development:

  1. Created Load testing projects with test data from database
  2. Build an application to test web service results. Verify results against expected values.
  3. Create applications and scheduled tasks to verify content has been updated at a certain time
  4. Get familiar with source control
  5. Help setup continuous build server
  6. Look at unit tests and determine code coverage
  7. Try to find places unit tests were missed and suggest some

It won't be easy though. It's a big change from QA and you will probably have to start by doing low pay grunt work. Although, if you stick with it you eventually earn trust and be put onto larger projects and new development.

Jason Rowe
+1 I've met more than a few QA folks who have made me go "Man, that guy would be a great developer". They're the guys who don't just test, they build systems to make testing *easier*, more *complete*, and generally more *useful*.
ZoogieZork
+2  A: 

Like it has been said before your age will not hinder your goal of becoming a software developer. In your post you haven't mentioned if you were doing any development or actively trying to learn development in your own time. Just because you do testing at work doesn't mean that you can't develop in your spare time.

If you have not been doing any development on your own, you better start now. You might have a computer science degree, but 6 years is a long time, and if you haven't done anything related to development - creating small projects, reading up on your language of choice, etc - then this will be the greatest obstacle to getting into the field.

So, what you should do is: 1. start reading up on your language of choice or one that you might be interested in. 2. Start developing applications. They don't have to be huge projects, but something you are interested in. So, when you apply for that Junior position - you will have to start from the bottom - and the hiring manager asks you what projects have you worked on, you can talk passionately about the applications that you are creating on your own, even though you are doing testing at work. 3. Similar to the reason for number 2, you can join an open source project.

In short, you need to start practicing now! You can't go to a company and say that the last thing you programmed was a class project 6 years ago and expect them to hire you. It might happen, but experience - be it from work or personal projects - will make it easier to get into the field. Recent projects, especially personal projects, will show that

  1. You are able to develop
  2. You are actually interested in programming and not just trying a new job to see if you like it.
  3. You are passionate about programming
  4. You are able to learn on your own and don't need someone to spoon feed you
  5. You are actively trying to better you skills
  6. etc, etc, etc.

Best of luck and I hope everything goes well.

Waleed Al-Balooshi
+1  A: 

What age? The way I see it - good programmer is like an artist, if you have a talent you can program at 85.

Try to explain this to employers...

More seriously your age matters, rather the time spent between the time you got your degree and now (with still NO experience as a software dev). Job interviewers will silently think you have failed to demonstrate development skills so far. So keep this in mind, you have to communicate to them that what happened is due to some of the choices YOU have made in the past (whatever is good to say), rather than the unfortunate destiny of staying a tester for several years.

Look up small, fragile companies, they are usually willing to hire atypical people as long as it cost them a bit less, and if they believe you will learn quick.

But to answer your question, yes you can be an excellent dev. It's a matter of getting hired and hard work.

Marc
There will always be employers you talk about. And there will be times when everyone seems to be that way. Thats the fun part for me, convincing others by actions, hard work and perseverance.
omermuhammed
A: 

Absolutely yes. Just combine theory with practise, all you need.

Abbut
+1  A: 

I've seen people make the transition from tester to developer where I work, so I know it's possible.

There are two types of testers; those who want to be developers (perhaps they took a test job to get their foot in the door), and those that do not. The later tends to avoid code like the plague; they won't even read it when presented with it in the debugger. Both can be excellent testers. I prefer the former, actually. They tend to file less stupid bugs.

If you want to be a developer, just start playing the role. Instead of filing a bug, why don't you try fixing one? And make your interests known to the dev managers around you. We tend to reshuffle around ship dates; that would be an excellent time to make a transition.

Terry Mahaffey
A: 

You are not too old to become a developer, but you will have to demonstrate to employers that your time spent being a tester was not because you couldn't dev. Build some sort of project that you can show to potential employers so that you have something on your resume that says developer.

My recommendation is to build yourself a website with dynamic content Could be something as simple as a photo gallery app. Doing this would give you confidence that you can develop and it would be something that you can point out on your resume and cover letter.

RHicke
+1  A: 

How much code do you write as a tester?

The best tester I've worked with wrote quite a bit of code. He did two things:

1) If something crashed, he'd actually debug it a bit and try to produce a minimal test case rather than just emailing us a core dump.

2) He'd write acceptance tests against components. Give him a specification, or a newly-designed API, and he'd write his own test cases in addition to running the ones he was told to. Having a separate person write tests often resulted in things being tested that neither the coder nor the designer of the interface would have thought to test: the coder is writing unit tests, and the designer may be more at the level of integration tests.

Also, having someone coding to the interface sometimes threw up problems in the documentation that the implementer didn't notice. For instance, if it gave the implementer too much freedom for the API to be really flexible, but it happened to suit whoever was the first user of the component, then when the tester came along and tried to achieve something slightly different with it, he'd come back with criticism of the interface itself.

In the long run, it was really useful having these kinds of tests in addition to the top-level integration and QA that a test department might more traditionally do. Also, his bug reports were on average more surprising and yet easier to investigate than anyone else's, which is exactly what I want as a developer.

He didn't switch to developer before he retired, although I think he might have been a developer in previous jobs, I can't remember.

But, given that you have some ability, you might find that using it more as a tester will first make you a better tester, and perhaps open some opportunities there, and second might get you into the swing of writing code, which could make a transition to development easier. If your employer can see that you're writing solid code in test suites, and that you understand the design and architecture of the product, you might have a decent chance of a sideways move.

Steve Jessop
A: 

Being a software tester could get your foot in the door because naturally your working in a software development company. Your software testing platform might be the key to get you in. If your just clicking through interfaces following test cases then you should find another testing job. Find one that will let you write some scripts.

I did some testing for about a year with quick test pro. I wrote tons of vbscript code to automate test cases. Stay away from the record and playback stuff and build re-usable testing frameworks. If you can manage to get in to any testing environment that allows you to write scripts then your going to be gaining some needed skills.

It is hard to get a job as a programmer if you have no experience but it's easy to get experience! Create some open source projects and give your code away. create something useful, the people that use your code will help you to make it better. Before long you have a portfolio of code you can show to any hiring manager. Even if you duplicate someone else work; just do not copy their code, write your own code just use their app as a model or prototype. Give your code back to the community and use it to help you land a developer gig.

JBeckton
A: 

It might be hard to find a job without experience. Start an open source project and you can show this to prospective employers with what your capable of. Also, start a blog about programming. The key here is to create a brand ... i.e. you as an expert in some language or technology.

Johan Cyprich