Ask HN: What skills are employable?

2 points by shire ↗ HN
As a Web developer? A lot of languages out there but I want to study something that's lucrative and marketable.

I'm thinking of leaning towards becoming a Full stack Javascript guy but not sure about the salary and demand for the language.

14 comments

[ 2.8 ms ] story [ 45.3 ms ] thread
As a long-time developer, I can tell you that, no matter what you choose, ten years from now, it will be out of date. That means you should focus on robust, transferable skills like basic computer science knowledge that applies equally to all languages and environments.
Well, my long-term experience is different. The time you've spent on old languages is never really lost.

Every language that you learn and abandon, makes you understand the next one much quicker. Furthermore, you learn the appreciate the new constructs and idioms that new language brings. The new language usually also supports all the old constructs that you got used to in the past. So, you can always fall back on those too.

Concerning computer science, and especially compiler construction, indeed as you wrote, it applies equally everywhere.

After six years of relatively easy money of mostly delegating PHP work to others, I moved on to nodejs this year. I am not that keen on delegating node work at this time, because I want to play a bit more with it by myself.

> The time you've spent on old languages is never really lost.

Fair enough, to each his own. My time spent writing programs for the Apple II in the late 1970s, in 6502 assembly code, was largely non-transferable:

http://en.wikipedia.org/wiki/Apple_Writer

> Every language that you learn and abandon, makes you understand the next one much quicker.

Yes, I think that's generally true, with one possible infamous exception: BASIC as it once was, with line numbers and numeric GOTOs all over the place -- a real nightmare for large projects.

> I am not that keen on delegating node work at this time, because I want to play a bit more with it by myself.

It might be interesting to ask older programmers if they resisted getting into management simply because coding is such a pleasant occupation. We might find a lot of people unwilling to give up coding, even with a salary differential.

I prefer to code and have avoided management. I explain it to people as "I would rather drive the race car than manage the race team."
"After six years of relatively easy money of mostly delegating PHP work to others" what did you mean by this ?
Well 10 years from now is a long time and I have to support myself and family. So is Javascript the right choice in the meantime?
Startups - Everything really. There's lots of JS and Python, but by definition they aren't very lucrative because startups don't have much money (ignoring potential future earnings).

Agency - Mostly PHP still but knowledge of Node is good (mostly for tools like Gulp). Occasionally see Ruby and Python in more design oriented agencies. Money is ok, and there's a lot of work out there.

Corporate - .NET, Java are all relatively popular. Java gets the best money because it's used extensively in the finance industry.

As a note, these languages do cross over. While you're more likely to see .NET in a corporate setting I've worked in numerous agencies and startups that have used .NET. I've also worked with corporations that solely use Python.

It seems pretty obvious, but a small minority of developers tend to see the world as black and white. Choosing a language that makes you happy is paramount, and if you're lucky you could end up as a C# programmer working at a startup, or as a PHP developer earning megabucks in the corporate world.

I think you should focus on programming itself and learn how the compiler works also master one of version control systems. Once you understand the idea behind the programming languages, it's easy to understand different languages. As people said, 10 years from now, your best language may be out of date but the basics will be same.
Lean to program. Because what's lucrative and marketable changes every 2-5 years.
I work with a lot of programmers and the ones that bang out a ton of small projects are the ones I see earning the most money (or the ones that I give the most money to)

PHP/Python programmers with a sound understanding of JS/HTML/CSS and a familiarity with basic networking protocols that also have their wits about them in terms of basic UX/UI is the magic recipe that I am constantly looking for.

so a fullstack Javascript wouldn't just cut it you're looking for senior developers?
there are many times when a Junior developer will do the job.

Larger/more complex/higher paying jobs usually require knowledge of multiple layers of the stack. It is really annoying when someone is able to knock out almost all of a project and then "I don't know how to do this..." when it comes to something outside of their scope.

I guess that is the difference between a hacker and a hack. A hacker will figure it out and add it to their own knowledge base knowing they have this information stored away for future use.

It really depends on the company and market location you're in. Around here (SF / Silicon Valley), there are tons of companies hiring Ruby devs. So if you're around here, that's probably the route to go.

If you are interested in Enterprise, Java is probably still dominant.

JavaScript is a must for front end stuff but I can't say that a lot of companies will adopt it heavily for backend, particularly if most are already established on some stack they've already been working on.

My best recommendation without knowing much is go with Ruby and Rails.