views:

607

answers:

12

Hi All,

I am currently working as a Quality Assurance manager for a software development company. However, I am finding that what I really enjoy is programming. Unfortunately, I feel I do not have enough experience to actually be hired as a programmer. I have the opportunity to do some programming in my job (for example I am writing a system in ruby rails that will execute, record, and display the results of our software's stress tests). In addition, I am trying to improve my programming abilities (for example I new nothing about web development 6 months ago so I started to teach myself rails).

So that is the background now here is my questions: What can I do that I can put on my resume to show my future employer my skills in programming?.

If everybody could please respond with the top/best thing they think I can do that would be great. Then we can all vote on the responses to find the best answer. Thanks for all responses in advance!

Josh

+5  A: 

What you're already doing seems to be already quite good:

I am writing a system in ruby rails that will execute, record, and display the results of our software's stress tests.

Extending on that, look for other programming opportunities in test-automation, continuous integration, build-automation, unit-testing and so on.

David Schmitt
+3  A: 

Most hiring managers would know that job titles can be misleading. If you can manage to contribute to any of the products or internal utilities of your company then you have the right to include "software development" on your CV.

Ed Guiness
A: 

I think clearing certifications like Java Certifications would be a good way to show your genuine interest in programming. This also will speak about your abilities. Rest all will depend, obviously, your real knowledge.

Jagmal
A: 

Test Driven Design

If you're in QE, you've got a good appreciation of the value of testing early. Some of the best developers at my company have come up through QE.

Don't learn a new language. Any employer worth working for will assume that you can learn a new language quickly.

Learn how to write well tested software in whatever stack your company already uses and you will be in demand.

Here's a good reference to start with, I'm sure there are many more.

Bart
+11  A: 

First - I hope the projects you've been testing are written in a language you've been exposed to or willing to learn

Second - Get on the good side of a programmer whose code you test. When you find a "failure" with your testing hat, ask to see the relevant code and see if you can find the fix.

After a few good catches your questions to the developers will be treated with more thought. Then ask the developers what books they find useful. Before you know it, you won't know what your job title is. Maybe "debugger" or "troubleshooter"?

If I were hiring, I'd love to see someone who can fix problems, not just create them. Your testing skills should pay off nicely.

Good Luck

Brad Bruce
+1  A: 

In my experience a good programmer needs a lot experience and a fundamental education in order to make the right decissions for the team. However, even more important is the right attitute and lots of talent! And if you have fun doing what you do, success comes automatically.

Go to your manager and ask him for small programming jobs in development projects. Never be afraid to ask more experienced programmers, they usually love to share.

akr
A: 

If I put myself in the shoes of a potential employer my doubts about someone doing such a transition would be:

  1. How well do they work with other developers/coders and managers (maybe even customers)
  2. Familiarity with standard S/W engineering tools such as SCM
  3. Familiarity with good team based S/W engineering practices

It might be difficult to do any thing about 1, that's often difficult to evaluate even in an interview - but you hope that an experienced developer won't have problems. If you can construct a way of doing a project that involves this as a coder that would help.

Regarding the others, there's lots of good practice reading material on this site already which can help you.

In the end employers are looking for keen developers who understand both pure coding and adhere to good software engineering practices.

tonylo
A: 

I would suggest that you work on transitioning from QA to development at your current company. I've worked for a few companies that are happy to help good QA people make a transition into development. Once you have development experience on your resume then it's going to make things a lot easier for you to find a new job in the future.

Also, I would be very surprised if you didn't wind up having to take a pay cut somewhere along the way since you'll be going from a QA manager position to a software development position where you have little experience.

17 of 26
+5  A: 

I started as a tester and transitioned to development. I think you are on the right track. As was stated previously get a good working relationship with the development team. I did this by being making sure all of my communication about defects was clear, professional and showed a strong understanding of the product and software in general. Picking up whatever development opportunities are available is another great step. Unit tests, testing frameworks, and tracking down bugs in the source (if they give you access) are all good opportunities to show your skills.

As long as you show yourself to be a valuable member of the team and clearly communicate your desire to move into development any decent manager should be accommodating. They typically hate to lose valuable team members. I spoke to both the qa manager and the development manager about my desire and they were more than happy to move me over a few months later when the development team needed someone and the qa team could afford to lose me.

Your testing skills will be very valuable as a developer, especially in your current company. I was immediately able to add value to team since I had much more overall product expertise then most of the developers.

Matthew
A: 

The best thing you can do is keep doing as much programming as you can - those tools and systems you are working on are what you need to put on your resume and talk about in an interview.

Is there a chance to move into development at your current company? It would probably be easier to make the jump there, assuming you already have a good reputation. I know many QA engineers who have made that transition at my company.

+2  A: 

As a tester, you're learning a lot that can make you a better programmer. You've learned:

  • The kinds of mistakes programmers make.
  • The kinds of bugs those mistakes produce.
  • How to discover those kinds of bugs.
  • The way we sometimes put on blinders about our limitations.
  • The cost of finding & fixing bugs vs. not making them in the first place.
  • The fact that some programmers are slow & reliable, some are fast a little unstable, some are sloppy and don't know it, some learn from their mistakes but others don't.
  • Making testers find stupid, obvious bugs is mean. Learn not to make those bugs, and your testers will enjoy their jobs a lot more.

When you get a chance to work on some code, don't just go for meeting the user's requirements: use every chance to develop your skills as a programmer. What's the cleanest, clearest code you can possibly write? If you had more time to work on this problem, what would you do differently?

Watch the progammers around you and see waht works well for them and see if you can copy it.

Ask a programmer if you can pair with him for a couple hours. You'll learn a lot. Do it with different people.

Your current employer, if smart, will help you succeed in your career, along whatever path you choose. People doing their best work & loving it is a recipie for success.

Jay Bazuzi
A: 

First, you have to become a good programmer. You mention that you are learning Rails. That's good. Hopefully your company works with Rails also. If they don't, try learning whatever language they use. Not only will this make you more valuable to that company, it will also allow you to better understand what is going on around you. If you know rails but the company all works in C#, you won't be able to follow. If you can't follow, you can't converse and you can't learn.

It's likely going to take a lot of your personal time to become a good coder. I've seen people try to learn on the job and they are never given enough time to do it.

Buddy up with a developer. Find someone to ask questions of when you get stuck. Most good devs are more than willing to teach.

Finally, look for opportunities at work to program. In QA there have to be lots of test cases you run every day that could be automated. Pick some and write a tool (in the language your company uses) to run them for you. Look for tools that might be needed and write them. This gives you experience and proves to those around you that you can program.

Steve Rowe