Ask HN: Do you think QA engineer should know how to code and why?

2 points by youngdev ↗ HN
Friend of mine is a QA engineer. I been asking him to learn to code to personal and professional benefits.

Just curious do you think a QA engineer needs to know how to code? If yes, then why and which language he should learn?

As a QA they get to work on applications devloped on different tech stacks. So which language would a benefit the most for a QA engineer.

6 comments

[ 3.7 ms ] story [ 14.5 ms ] thread
Yes, definitely the engineer should code and write tests. (That's why they're called engineers.) The analyst is the one who doesn't need to, but of course it couldn't hurt either.

I recommend python for simplicity and power. But perl or ruby would be fine too if they are a core tech at your company.

Mixmastamyk, thanks for your reply. The problem is if he learns python and lands next job which is completely .Net shop or Java shop, how would python benefit him there?

Since he is in valley I think it makes sense for him to learn Core Java with test automation tools like Selenium. What are your thoughts?

When you learn to program in one language, you learn to program in general. When you learn the second language, the time necessary is greatly reduced. The clarity of python helps a lot, as one can learn concepts without the need to also memorize crazy syntax. If you have taken algebra you are already on your way.

Java, OTOH isn't widely used in startup shops. It's strengths are in very large codebases with many developers. To achieve those strengths, a lot of overhead is necessary. That overhead is too much for small shops with few developers. They are going to be 10x more productive in a scripting language. Also, as high quality/proven correct code is not normally necessary in tests the overhead time will be wasted. Of course if their main product is in Java or C++ for example, many of the tests should be too. But unit tests should be written by the original dev.

Selenium has bindings in most languages these days, so few limits there.

The industry changes fast enough that I wouldn't worry much about picking the perfect longest-lasting language that you are going to take with you into retirement. It could be replaced in as short as five years, and very likely to be in ten.

Agree they should learn. Disagree that's why they're called "engineers". Plenty of engineers in various fields don't code.
Engineers build things. In the software field if you're unable to build things (code) you're not an engineer.
(comment deleted)