Context
I've started looking into programming/software development jobs. I don't have a computer science or software engineering degree. I did do two years of a Computational Linguistics degree, which involved computer science modules, before switching program; that was a decade ago. Recently I did a Masters in Sound Design which involved a fair amount of programming using patching paradigms (eg. Max/MSP), and I threw myself into any other kind of programming task I could find. Basically my programming brain has been reactivated, and now I'm learning C++, algorithms, etc.
Question
Since I don't have much provable coding experience, I've been looking at companies that offer graduate jobs where they look for transferable skills, and train you to code. I just came across one such employer which offers £35,000 starting salary with bonuses, is employing year-round, and 'promises' you'll be working on interesting problems at the cutting edge.
It seems kind of too good to be true. So my question is basically, what's the catch? More specifically:
- What's in it for the company? How can they offer a very competitive salary to relatively unskilled employees? I get that top graduates with the right skills will flock to the big companies, but there are also so many smaller companies offering closer to £20,000 starting salary asking for a lot of specific knowledge. Is it just such a dull, unchallenging job that they need so badly to attract people?
- Is it worth my while getting experience at such a place? I've read suggestions that places like this "need many people who have a basic knowledge to code from existing libraries using defined templates". Would a year or two of experience at such a place be valuable to other employers down the line? With my current skills, would I be better off looking for ways to prove myself to another kind of company?