I've done a search on HN for similar questions before but it seems they get distracted by questions regarding if the op meant standard QA or test automation.<p>So for background I'm a CS grad who doesn't seem to have a great ability to develop, at least not yet. I went into finance and worked for two years in support/development and got on very well, unfortunately my application got quite popular and therefore the team was heavily regulated, this meant I went to strictly support and low level so I wasn't happy with the lack of complexity.<p>As a result I decided to try a different industry and have went back to technology and got a job as a QA engineer. I am fully aware I cannot rely solely on my employer to provide the skills necessary to become a good QA Engineer.<p>Therefore I wish to firstly cement soft skills as a good QA tester which I believe I already have. i.e. an eye for detail, enjoy a good puzzle. What technical skills do people feel are required to be a good 'manual' tester?<p>Lastly the main reason I took this jump was to get into automated testing as I believe it will allow a jump in complexity and perhaps a side move to development when I'm good enough. Where do I start in becoming good at automated testing?<p>The standard advice for a dev is to start developing personal projects? What about a tester? Is it the same so then you can test your project thoroughly? I've often seen it said you should be testing OTHER peoples code mainly. So how can I get this exposure?<p>Just for additional info, I've been researching a bit myself and have come across a few products like selenium to play with and reading the google testing blog. On top of this I've started two udacity classes, one for software testing and one for debugging. Any further suggestions? Any decent books to help me feel a little less lost in my current situation?<p>Thanks for any advice you can provide
become as good a programmer as you possibly can, and learn to write extremely thorough test plans.<p>put another way, build quality in from the start. ensure that you don't need to fix/update your code or test plan later. if that's unavoidable, at least make doing so as quick and painless as possible.