Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Which language/web framework to learn for employability?
65 points by watermel0n on Jan 18, 2014 | hide | past | web | favorite | 71 comments


However, think very carefully before embarking on that journey. Having an average proficiency in Java already will almost certainly get you a job in some bank, insurance company or similar enterprise-style companies. At the same time you become an exchangeable code monkey that from thereon will only be hired based on the TLAs listed in his CV.

In other words, your work will become a commodity and you won't be judged by your abilities such as abstract thinking or creative problem solving any more. All that will count will be the frameworks you have experience in at any given time. It doesn't matter that you can learn a new framework within a week. If you don't already have proven experience in framework X when applying for a job it's required for you won't get that job.

To cut a long story short: Screw employability!

I think this touches upon an important point: "employability" will depend on which subsector of the so called "software industry" you're aiming for.

Enterprisey places will ask for Java. Startup'y places might ask for Python/Django or Ruby/Rails. Embedded software (microprocessor places) or Video game places will ask for C. Apple will ask for Objective C.

"Employability" without putting in some constraints really doesn't make much sesnse.

Another reason to know a bit of Java is that a lot of interesting software design books and articles use code examples written in Java. It's good to have a basic understanding of the language to be able to follow.

Here's an advice: browse for job posts you'd be interested in. Look at required/preferred qualifications. Start learning those. When ready, apply for those kinds of jobs.

Also, find out what other libraries/API they might use. For example, the company could be using some niche software that's nice to know, but it wasn't important enough to list in the job description. The HR people won't care if you say that you know X, but you might impress a fellow developer during the interview, and that's a plus.

This is, from my perspective, the only advice that matters when discerning what to learn while seeking employment. Look at businesses and people that you admire and see what tools they're using and see what they're looking for. It's one thing to see that there are a lot of (potentially boring and poorly paid) jobs out there using some technology and another to see that you can do the kind of work you want to and find a job you'll enjoy if you learn something else.

This is actually excellent advice. It will also drive you to recognize what you need to be able to demonstrate to actually get the job after you become proficient in the language / framework you select.

I used to ask myself this question all the time, I still ask it. The best answer I've come up with is: don't choose the language first.

Pick the project to work on first. Once you've done that your field of (practical) languages to use gets narrowed, and it becomes easier to choose the language.

- Want to build a web app? If you're looking to break into the web startup scene, Ruby and the MVC framework Rails seem to be the most popular.

- Want to do robotics / embedded systems? First I'd say buy an arduino kit and have fun with it. This will involve a flavor of C, and C looks like the de facto king of the field.

- Want to do banking? Perhaps try to build a trading bot in Java with Yahoo's free (15 minute delay) stock quotes.

! Find your interest first. If you can't find your interest, find a project that sounds fun (not too big!) and then choose the best language for it. If you find it's fun and interesting, keep going.

With employability, projects reign supreme, programming languages don't. (most of the time, but you don't want to work for the companies that care too much about you knowing their specific language -- hint: the job will get boring quickly).

Didn't know about that yahoo quotes thing, do you have any reference?

It looks like google's hosting some documentation links:


If you're using Ruby, I wrote a small wrapper around it, a dozen years ago: https://github.com/herval/yahoo-finance

I'm interested in the banking route. What specific libraries are useful for building such trading bots? What do banks look for in particular? P/L of the bot? Beta?

Java, Spring, SQL, XML processing, and recently Scala and NoSQL (E.g. Mongo) are good choices to invest in learning - they are used extensively but of course not exclusively.

Don't worry about super special libraries - just cover the basics of some of the above and build something that "works" and it'll be good groundwork.

What "Works" means is up for grabs, but any set of functions that expose you to the platforms will be worthwhile. All the concepts and capabilities you build in will do you personally a lot of good, and give you good talking points, but don't expect interviewing panels to be actually that picky about specifics - they want to find good developers, not bring in a 3rd party trading bot :-)

It really depends where you want to work. Gonna make some wild guesses here!

1. SV startup: Python, Ruby are best bets. Java will make people squirm. C# will make people tilt their heads. You'll probably get bonus points for Go

2. Google/Microsoft/Amazon: If you know C or C++ you'll be fine.

3. Facebook: They really let you interview in anything but you might as well be awesome in PHP. That said, they definitely use other languages internally.

4. Other: Java. If the company uses C#, they'll still probably be OK with you only knowing Java.

At a certain point, companies shouldn't be hiring for languages you know since a language can be learned relatively easily compared to the Larger Broader Concepts that they should really be trying to probe for. Which is generally true - any company who doesn't give you an offer because you didn't memorize language syntax for whiteboarding is crazy. It's not about that.

What it is about (I think) is trying to figure out who are you?. As an example, if you only know Java many people will think "oh this is your run of the mill CS student who doesn't do side projects" - whether true or not (of course it's possible to do side projects in Java). But it just makes people think you have less initiative than the applicant next to you that knows Java (because he has to) but also knows Python (because he wants to)

I know everybody on HN hates Microsoft and perceive .NET as an enterprise (ie boring and/or subpar) but since I switched from primarily PHP to primarily .NET in 2007, I've worked with a number of great teams with both starups and large companies with strong engineers and on interesting projects. Furthermore, to address the actual question of the thread, the job market for .NET skills is huge. I get emails from recruiters multiple times a day. And if you are a good generalist with .NET skills plus knowledge of other skills like modern web tech or data technologies, even better.

I can +1 that. C#/.NET isn't very trendy, but it's my main language right now. I get at least one or two inquiries from recruiters a month with about 10-20 minutes spent on a Linkedin profile.

All of them. Ok, that isn't a serious answer, but take the time to learn 2 or 3 and you'll start seeing the similarities and underlying structure needed for a web framework and the things the language will do to plug into it. And once you can see those connections, you can learn any language/web framework pretty quickly.

This is true, but I was sort of assuming it as part of the question. If other people weren't, here's maybe a better question:

Say I know a lot of languages, up and down the stack. IA64 assembler, C++11, Ruby/Python/Go, Clojure, Haskell, etc. I don't know Java or C# very well, but I've gotten my feet wet in both.

What's the most practical thing to study next, if I'm basically going for a minimax approach--that is, minimizing the maximum regret I'd feel in having wasted my time and effort--to optimizing the area under the curve of ([breadth of possible career opportunities] x [pay of each opportunity]), in the current global market? Presume that I'm both willing to telecommute or relocate, and up for anything from founding a company to working as a faceless code-slinger.

(Personally, I have a feeling that that curve is a power-law, so there might be a strictly area-dominant industry, e.g. finance, which would mean that whatever language that industry expects would also strictly dominate.)

Well if your targeting small companies I would order them JS, Java, C#, in terms of languages. If you would like to be working for an enterprise company probably Java, C#, JS. Of course given adaptabiilty it doesn't really matter, you can learn what you need.

This is more worrisome though : Presume that I'm both willing to telecommute or relocate, and up for anything from founding a company to working as a faceless code-slinger.

When folks tell me "I'll do anything" I'm left wondering

If they are a contractor, its all up front, they are a money to code engine, pour in money on one side, get out code on the other. As the going in position for a full time employee I wonder, "Is this just a paycheck? Or do they have any goals they are trying to achieve?" I've known folks who just wanted a paycheck because their passion was something they were doing outside of work, and that works well on a contractor basis, but less well on a FTE basis.

I may be unusual but if someone is working for me I want them to be getting something more durable out of their efforts than just a paycheck. New skills, new experiences, moving some personal goals closer to reality as they relate to their career. (that last bit is important because clearly moving closer to a goal of "home ownership" is a solid goal, but as a manager my tools there are limited :-)

So being flexible is a plus, but not knowing where you are going is a minus. An example of "going" is this, let's say you wanted to learn how anyone could build a web service that serviced a billion users, and Facebook was the only place where that happened. You could learn the language and frameworks that Facebook used, and the stack, and the systems management, and all the places where scale negatively impacted the user experience and how they fixed that. (unlike Google they are very open with this stuff so its easier to do from the outside). That is a goal and then the languages and frameworks fall out of the goal. Or a goal of "making the connection between writing and publishing more seamless" which will have you looking at Wordpress and Ghost and Tumblr Etc as frameworks and languages where people were trying to achieve that goal, did it work? Did it miss? Where could it be better?

Hard to describe, but it is not unlike someone coming up to you on the street and saying, "Excuse me, should I drive down that street, that one, or take the freeway?" The answer is meaningless unless you know the destination.

>When folks tell me "I'll do anything" I'm left wondering.

Not everyone is a delicate little flower that requires every aspect of his environment to be perfect in order to come to work, bust his ass, and keep a smile on his face.

Some people love to program and don't really care where they do it or in what language. Sure, there are languages that hn loves to hate, but in every such case, I'd bet that there's someone out there that's a better programmer than you that fucking loves it. To be clear, that's a statement about diversity in opinion, not an attack on your skills.

Other perfectly talented people have a hard time finding a job and just want a chance to show someone what they can do. This is the situation that a lot of people just starting out are in, but there are also experienced people who for whatever reason, struggle to find employment.

Not sure if you have experienced unemployment, but its terrifying. It shouldn't come as a surprise that people put survival above finding a perfect job.

People shouldn't default to the assumption that people who have a hard time finding work must somehow be defective.

> Hard to describe, but it is not unlike someone coming up to you on the street and saying, "Excuse me, should I drive down that street, that one, or take the freeway?" The answer is meaningless unless you know the destination.

Actually, that is exactly what I was asking, and it seems like a perfectly sensible question to me. (Though it's not a question you'll encounter every day.[1])

I think you're ignoring what, exactly, a minimax algorithm entails: it's not a goal-directed least-cost search, like, say, A⁎. Instead, it's more about picking and weighting a set of potential goals, given the costs involved with pursuing them.

So the question becomes, in effect, not "what road should I take to get to X," but rather, "which road should I start heading down, assuming I'll narrow down the set of possible Xes I might want to pick later, that will cause me the least problem for any given X I might have chosen?"

Oddly enough, this is a question driving-directions programs have a heuristic for. If you chart a course, on e.g. Google Maps, between suburban addresses in two different cities, the directions will almost always start with what amounts to "first, get out of the suburbs, so you can reach the highway."

Given this, without knowing where you're going, "get out of the suburbs and onto the highway" is a high-value guess in how to get there.[2] You might be wrong, of course: the place you might like to go might end up being in the same neighborhood you were already in. But, across the set of all possible destinations, you'll regret the strategy of heading to the highway less often than you will the strategy of "sit in your driveway waiting to see where you're supposed to be going."


[1] It's kind of an inhuman way of thinking, really. Humans tend to come with both "axiomatic" terminal goals, and deontological notions of how they have to get where they're going. Minimax solutions only become relevant when, for example, you've decided that what you'd like to do with your life is "to pursue, in a consequentialist manner, the maximum amount of money-earned-per-unit-time, so I can then engage in effective altruism." ;)

(More generally, though, every real-world question people deal with where they want a "good answer that leaves my options open" is actually a bit of goal-directed search, and a bit of minimax. You do want to invest effort getting to X; but you don't want to have invested too much, if it turns out X is closed, or your friend wants to meet at Y instead.)

[2] Actually, I just thought of a real-world scenario for this. A lot of jobs (e.g. truckers, ambulance drivers, taxis) involve a combination of a driver and a dispatcher, where the driver has to be ready to get "anywhere" the dispatcher might tell them to go. If dispatches come in steadily, then the driver must simply travel directly from the end of whatever route the last dispatch took them on to the beginning of the next. But if the driver has enough time between the end of the previous dispatch, and the start of the next, then where should they drive toward, optimally, to wait?

Nice! You are correct of course, I did mis-understand your question. I suspect the minimax answer is Java. My reasoning for that is that enterprise shops both consume and turn over a lot of Java programmers, this is in part to consulting gigs with Salesforce, SAP, Oracle, or IBM.

Thanks for the clear response and your excellent example. It is interesting to see what it optimizes for. I don't doubt you could stay employed "forever" at $45,000/year Java shop code monkey jobs for example. My personal conjecture is that Tech is not a 'connected graph' in the sense that not all nodes are reachable from any node, and not all paths can be traveled in both directions.

The example I am most familiar with is 'CEO taint' which is folks who get to a certain level, and then become CEOs of their own startup, where they reach a certain level of qualified success. Then, in a quest for finding their next engagement they are un-hirable because 'former CEO' isn't something you higher in to be a coder, and maybe not manager. Their only accessible nodes are 'new startup' or 'appointment as CEO to startup' or 'consultant'. If you can't get funding for a startup, and you don't have enough street cred as a 'consultant', its a really sticky place to be. The other common one I've seen is people who 'grew up' in a company, started right out of college and put in 10, 15, or 20 years, and then left as UberDistinguishedPrinciple Engineer/Scientist but were unable to find anyone who would hire them at a level and salary they could easily accept. But I'm wondering how much of that transition resistance is simply pride/wages related.

Depends on the type of place you want to be most "employable" to:

- startups: Ruby, Python, Objective-C

- large tech: Java, C++, potentially Scala

- large non-tech: Java, C#

But ideally you would want to work at a place that cares less about a list of skills and more about the quality of code you write. Learning a new language (and/or framework) is trivial for a halfway decent programmer.

I currently live in DC and Ruby is really big outside of government work. JavaScript is also really really popular.

PHP is still somewhat useful if not for any other reason than legacy.

If you can get a both Ruby and JavaScript down you'd have no problem finding a job that pays well into six figures.

Some useful frameworks for those languages include:

- Rails

- Sinatra

- Angular

- jQuery

6 figures with those skills... Oh America, your salaries are just outrageous.

Really? I mean consider this scenario.

A developer works for an agency that builds websites. The agency sells a job to a client for $150k (an average size job). The project entails building an application that can sort tasks a user inputs. These tasks have certain data associated with them that are automatically pulled in from a resource the client provides. So as a developer you're thinking: "ok I can use Rails as the back-end and Angular on the front-end because I know it works great for that type of interface sorting".

For the sake of this post let's leave it as a high level example. From here the developer and a PM devote 10 hours to research the idea. A designer gets the client's brand guidelines and spends roughly 10 hours putting together some style tiles for the client to look at. From here the designer and developer work on some wireframes together and have something useful after another 10 hours. After some back and forth between the client the small team of 3 has come to a conclusion on architecture and design style in just 40 hours of work. The designer then starts mocking up the design in flat HTML and the developer starts building the rails app. Fast forward 50 hours each plus 30 from the PM and we arrive at 170 hours total at the end of the project.

If we go back to our $150k figure and divide it by the 170 hours spent we should arrive roughly at $900/hour. If the developer makes $100k per year that's $48.08 per hour. If the designer and PM both make $85k per year that's $40.87/hour. Add those three up and we've got $129.82/hour. That means the cost of production is roughly 14% of the total cost of the project.

So in what world is six figures too high for a developer with these very relevant skills?

For server side work, Java or C# are a fairly safe bet. Generally you would pick one or the other to learn well and focus on for a while. Try to get an entry level cert to show you're proficient and you might be able to get a position as a developer without experience within a company (eg if you work at an agency in Ops, you might be able to convince people to let you move into a dev seat after 6 months).

I think Java is likely the single largest market - .net platform costs quite a lot so it's a bit less appealing to many companies.

If you want to be a front end guy then there is only one choice (exclude transcompilers which you don't have to think about for some time) - html/css/js

I would say JavaScript - there is no aspect of web, mobile or desktop (QML) programming that is untouched by JS.

I regret very much that I'm not very good at JS - and I have a hard time working with JS.

Offtopic - really hope @zedshaw writes a learnjsthehardway.

If you want the breadth of web+mobile+desktop then Java is the other definite consideration. It really depends whether you end up more on web or desktop, but it'll give you a similarly strong breadth across those areas.

Depends on where you want to work... Want to work 60 hours a week in cube farm in banking, where you will be just some guy in the IT department? What to sit in long meetings? What to take 18 months to do a project instead of 3? Then learn Java and stuff with "enterprise" in the title. Otherwise, learn Unix command line basics, then Ruby or Python, Rails or Django, and lots of Javascript and CSS. Then look for more interesting work in startups.

Don't learn for employability. Find something you want to build, teach yourself the best tools for the task ---or the ones you find more exciting--- and build it. The kind of experience and the learning you'll get from actually doing something will be much more important towards being employable than having learnt a particular language or framework. And you'll have something to show to prospective employers.

In terms of straight, steady jobs: Java and .NET, and go to the Midwest. The latter part being a key that is missing from a lot of these HN threads. There are tons of great jobs doing enterprise-like stuff in .NET and Java in the Midwest that you simply don't hear about on Hacker News. They'll pay a full salary with benefits, and you'll be able to afford a house in a couple of years.

> In terms of straight, steady jobs: Java and .NET, and go to the Midwest.

Huh, that's a good point. Some of my peers from college went to work in Arkansas for Tyson. I also recall other companies from that area (J. B. Hunt and Walmart come to mind) were having recruitment drives some years back.

There are many big organizations one doesn't normally associate with technology that do have large-ish IT departments and tons of programmers on staff, although knowing C/C++ is usually helpful as well.

Other things that are typically overlooked are strong DBA or sysadmin skills. It helps to have provable knowledge of the full stack regardless of where you're going.

I work for a large non-IT company in the midwest. People with the ability to translate between business process teams and development teams are always in demand. Also, although it seems to be looked down on by the hacker community, SAP/ABAP skills are good if you don't mind the enterprise environment.

You've given us no information about yourself. In what geographic location do you live? Is there a particular place that you'd like to live instead? Are there places in which you'd rather not live?

What do you want to do? You might be leaning towards web development, but that's not clear, since you asked for a "language/web framework". Languages and web frameworks are not the same things. But, let's assume for the moment that you want to go into web dev. Do you want to stick to the front end or back end? Or both? If both, do you like the idea of sticking to one primary language throughout the web stack, or does that not concern you?

And if you don't want to go into web development per se, then what do you want to do? Maintaining legacy applications (not necessarily "cool", but there can be a lot of money in it)? Machine learning? Working on distributed systems? Embedded systems? Game programming? Sysadmin? BOFH?

Try to put yourself in our shoes for a moment, and think about how woefully incomplete your question is.

Funny you are being downmodded - because what you are saying is completely true.

In this thread I see quite a lot of recommendations to learn C++. However, C++ just isn't in very high demand outside of certain geographical area or development niches. I have been looking around for a new job in the Netherlands, but the amount of jobs available in C++ development is tiny compared to jobs in languages such as C#/Java/PHP.

They didn't used to teach scheme because of employability, but for it will make you a better programmer til the end of your days.

Sometimes it really isn't the language/framework you know and really is just being a good fit with the team and being able to hit the ground running, especially in more junior positions. Personally I have my largest skills set in Rails, and when I was job hunting I ended up getting 2 offers because of free books I am working on (on Clojure and Meteor.js). One ran Rails, the other did a little bit of old LAMP stack stuff and a lot of Python and Java. I ended up taking a job working with Rails, but the road was largely paved by accomplishments that lie outside that general ecosystem.

Obviously every situation is unique, and my story may not be that of many others. I've no metrics on it. But in my experience, it largely is enthusiasm and willingness to learn over having a specific ability with someone's specific box of tools. Jormundir gave a lot of great input on what to get into depending on what sector of business you want to break into.

I second "Ruby", but I'm deep in the web app development world. Despite the trend towards single page apps, there is still a large market for apps being developed with Ruby-based APIs.

Excellent Javascript skills are in high-demand, especially if you have a good understanding of one or more Javascript front-end frameworks.

1. Like always learn One Framework/Language and learn it very well and you will become a Export and probably there will be work for you

2. Even if people right now hate on MongoDB and Nodejs(i dont know why...) i would suggest to learn javascript(not jquery).

3. Which framework? there is no solution to rule them all or look at 1.

Honestly? It doesn't really matter. Just pick one you like. Chances are you'll pick one that will land you some job. I doubt you'll pick Brainfuck. I don't think you'd genuinely like Brainfuck.

Whatever you do end up choosing, good programmers are presently in high demand. So just learn one and get good. Being good matters far more than what specific framework you use. And if you aren't good, no framework will save you in the long run.

By the way, I'm not saying it what language/framework you use doesn't matter. I'm saying it doesn't matter for your employment, so you shouldn't let that decide for you.

I'm assuming with your inclusion of web framework in your question, you're focusing on web developer employment

- JavaScript (client, Node.js, Framework du jour)

- Java

- C#

- Python

- Ruby

- Any language that runs on top of the JVM.

One of those, probably in that rough order. For enjoyable employability, I'd shuffle that list around considerably.

It would depend on which job market you are trying to target, this is my guess (it also differs based on geography)

Enterprises (mostly in this order) - Java (standard J2ee framework) - Javascript, HTML, CSS - .net (mostly asp.net, many corporate sites are built with this) - specific applications like Oracle, SAP etc.

Startups - Javascript, HTML, CSS (and any popular framework) - beyond this there is no one thing, it is mostly the founders comfort zone

Software Biggies - their software stack - Javascript, HTML, CSS (ans any popular framework)

But given your profile and the nature of posts that you have made, I am curious why you raised this question?

Honestly, probably Java or C#.

If you just want a job - any job - maybe. The vast majority of Java/C# jobs though are poor quality as far as dev jobs go, since the vast majority are enterprise-y positions. Most of them treat software as a cost center instead of a competitive advantage.

I would personally argue for mobile (iOS/ObjC and/or Android/Java) and/or Ruby/Rails and/or Javascript. Plenty of demand, better paying, higher quality.

Some would argue the average enterprise job is more stable - as someone who started out in C# in big corps, that was not my experience. What I would agree with is that enterprise jobs are generally less demanding, and that enterprise jobs are available in more places.

Here in the Vancouver area, definitely C# (and ASP.net for that matter.) I assume it's bleedover from being so close to Redmond, and probably also affects Seattle.

I checked out your site. I see you're a writer. So am I!

How is the job market for entry-level web developers in Vancouver? I studied literature and philosophy at UBC but I'm looking into transitioning into web development.

I moved to Los Angeles two years ago from there, but I will be moving back. It seems like there are more opportunities for entry level web devs in LA than in Vancouver.

I've been focusing more on JS, Python, Ruby, PHP and MySQL, but your comment caught my eye.

Thanks for any info!

It depends where you want to be employed. Java has the most jobs listed online (by a lot), but less jobs in startups. javascript has growing demand and is used all over. Though you'll also want to factor in supply.


If you want something you can learn quickly go for Ruby on Rails. It's one of the most popular web frameworks with tons of resources and great community. It abstracts a lot of complexity and enforces some good practices that you'd have to learn the hard way with other frameworks.

I am surprised there aren't more suggestions of SQL. Especally if you are looking to go to enterprisey / Java / C# type places. Even with Rails or Django understandng SQL will help a lot (though NoSQL seeems a popular aletrnative in that space).

Frameworks are whatever, diversify your base of languages and you'll be prepared to "use the right tool for the job". THAT is employability.

Short answer: Ruby/Python for B2C startup, Java for B2B / large company.

This is easy to quantify just by looking at the jobs posted on AngelList.

Really depends on the sector and focus.

- Ruby

- Python (plus R if you are doing data stuff)

- Javascript

>Really depends on the sector and focus.

...And location. In Ohio you might have a harder time finding work knowing Ruby or Python compared to knowing Java or .Net.

Not a counter to your comment, just a field report on Cincinnati, since you mentioned Ohio:

Supply of ruby developers is lagging demand, with two well-known and growing agile-development companies with a ruby bent (http://neo.com/ * & http://gaslight.co) & a host of funded ruby-based startups coming out of The Brandery http://www.brandery.org/ that are hiring at market rates.

It's an underrated city with great arts & entertainment, and an active community of developers.

* my employer

When I left Columbus about a year and a half ago, it didn't seem as though there were any serious opportunities for my Ruby skills. I saw plenty of Java, C# and PHP work, but that was basically it.


I don't think there are a lot of jobs in Haskell. Yesod/Snap/Happstack(/Scotty) are the only web frameworks and I can count only three companies (not blogs or framework websites) that use Haskell to serve websites. And learning Haskell is very demanding. I'd never advise any one to start learning Haskell and hope to get employed any time soon.

Learning Haskell improved my programming probably more than any other single thing I've done. And while it's true that I've spent most of my career writing python and never worked as a Haskell programmer, the things I learnt from Haskell are things I use every day. So even if I was employing someone to program python, seeing Haskell on their resume would definitely be a plus in my book.

There's only 5 web frameworks for haskell, and that's a problem somehow?

>I can count only three companies (not blogs or framework websites) that use Haskell to serve websites

I can count more than three just that I've worked at. I think "companies using haskell that some random guy happens to know about" isn't a very useful metric.

>And learning Haskell is very demanding

No, it isn't.


not even sure why the thread was posted. if you type in "employable programming language" into google it doesn't even show search results, just redirects to haskell.org.

Everyone seems to be posting the obvious choices so I'll go with this one. Skate to where the puck is going to be. Learn Go.

Given nothing else: learn either Android or iOS Development.

I believe Ruby is the way forward, but I'm biased.

C/C++, Ruby, Python - you can do anything now™

"skate where the puck is going to be"

Depends where you live. Where do you live?

seriously?! Why is no one mentioning PHP? It's easy to learn and there are tons of jobs for PHP developers!

JavaScript is a must.

If you don't know HTML5/CSS3, you're screwed!

If I had to learn a stack and my goal was to be employable today and increasingly employable tomorrow, I would learn Angular/Node/CouchDB.

Registration is open for Startup School 2019. Classes start July 22nd.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact