Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: What stacks dominate in remote jobs?
193 points by throw31337 on Oct 21, 2016 | hide | past | favorite | 90 comments
I work as a dev in UK for 6 years now, mostly JVM (Scala, Java), SQL, Javascript, some Python and Rust. I am now very interested in starting working remotely, so I'm curious what stacks are popular in remote jobs? What should I concentrate my attention towards from purely realistic and practical perspective?

Obviously if I could choose I'd prefer something like Scala/Big Data or Rust/Real time, but something tells me Ruby/Rails and Python/Django or something with Javascript will be way more popular?




I’m not too sure if the question is meaningful. But since I’m running https://whoishiring.io and scrapping all major sources with jobs for developers, I have a lot of data related. I can put some numbers here.

Top 10 from all sources (that I'm looking at) since August 2015.

  Javascript 27.69%
  SQL 22.41%
  Ruby 17.71%
  Python 17.60%
  AWS 13.85%
  Ruby On Rails 13.83%
  AngularJS 11.47%
  Java 10.89%
  PHP 10.57%
  React 10.46%
(top 100 https://gist.githubusercontent.com/xando/1853d5e48f94abe2f13...)

Top 10 from “Hacker News Who is Hiring” since 2011

  Javascript 24.17%
  Python 22.38%
  SQL 18.63%
  Ruby 18.13%
  Ruby On Rails 17.00%
  AWS 12.38%
  AngularJS 10.82%
  Java 10.13%
  PostgreSQL 9.72%
  React 9.53%
(top 100 https://gist.githubusercontent.com/xando/d1daca52b797e725175...)

edit: where 100% equals all jobs tagged as remote.


To add to this, here are some charts that I put together for https://cleanwebjobs.com.

Tech skills desired by employers: https://twitter.com/CleanwebJobs/status/767684601615704064

Tech skills available in the marketplace: https://twitter.com/CleanwebJobs/status/767683809714245632

Python and JavaScript are the biggest players along with UX/UI design (not really development). Seems to match the data above.

Unfortunately we don't track remote work independently, but I may be able to trawl through the location data to extract this information.

BTW I have a recent Show HN on this if you have other comments that would take this thread too far off-topic: https://news.ycombinator.com/item?id=12759415


5% of people have design skills, yet 17% of employers seek designers. Interesting.. Maybe I should turn to design, instead of front-end development.


It would be useful to compare the proportions difference between non-remote and remote instead of the absolute popularity.

Example: Since SQL dominates most job offers already, it's gonna dominate also remote jobs offers. What you want is to look at technologies that are more predominant in remote than non-remote.


Actually a lot of people ask me about different angles for the data. For this reason I'm trying to build a stats / trends page. So feedback / requirements welcome.


I think it would be better to just let people download the raw data (like the database dump). Then people can do their analysis on top (like, I could produce the stats I just told you about)


Actually what would be cool would be to release the data, and hold a contest related to it. Maybe one award track for interesting analysis, one for presentation of data. You could probably get some companies to sponsor it, as it's cheap advertising that people will be interested in viewing. Plus someone might be able to write up a paper on it for journal publication.


This is the first question that came to me.

Although, if people want to be hired for remote work then the absolute percent matters more, but if there is some reason to believe that remote work is different, this would illuminate that difference.


This is really cool. Do you have a breakdown by year? Comparing Angular to React since 2011 doesn't seem really fair.


Thanks. Check this blog post that I wrote https://blog.whoishiring.io/hacker-news-who-is-hiring-thread...


Not really representative. JavaScript is used in almost every web app (like HTML) but pure JS (i.e Node) jobs are rare compared to PHP, which isn't even on the second list. Likewise with SQL: every web app uses a database.


Unrelated to the OP, but what are you using to resolve place names to geography?

Seems to be mostly on target, but you get weird stuff like Camden Town (UK) -> Camden, New Jersey, US and it's common enough to notice.


http://nlp.stanford.edu/software/classifier.shtml I'm not too happy about it.

But, I planning to replace it with simple knuth morris pratt text search against the list of all significant locations. This 100x slower but results are rarely bad.


Cool, thanks for taking the time to answer.


Just wondering what you used in the back end for the database and storage?


Python, Elasticsearch, Postgres


Unrelated to OP, the instances where you're scraping HN 'who's hiring' threads seem to be missing the job title lines.

Would you be able to take the first line of the posts as job title? Thanks


I guess you mean "scraping", not "scrapping"


From my experience (working 100% remotely for some years), I'd say that the sweet point lies in relatively "exotic" stacks, like Scala, Erlang, maybe even Rust.

It's not that there are more remote jobs in Scala than in Javascript. However, people who hire Scala developers seem to accept that when you need a top Scala team, you have to bring people from all over the world, i.e. they are fully committed to building a great fully remote team, not bringing remote developers as an afterthought (in general, you wouldn't want to take a role of remote engineer in a mostly non-remote team, especially if you are one of the first ones).

And Python/Javascript developers are dime a dozen (maybe not, they are still expensive, but much more numerous, and usually there isn't a problem to hire locally).


I would definitely agree that you best option is to pick a stack that is popular enough to have a bit of traction but one where knowledgeable practitioners are rare enough that a company would consider finding someone who knows that stack compensate for the perceived downsides of a remote worker. I would probably replace Erlang with Elixir/Phoenix on that list, you are likely to find more open positions and the latter will imply web work that is more amenable to a remote coder.


We actually decided on remote early on as a way to expand our potential talent pool, when it became a key part of getting our first hire on-board. We've recently made the decision to start doing our major work in Rust after it had a strong showing building an important internal tool and prototyping a small service in it, and our mounting frustration with the current stack (plus some other issues that made it a good time to decide if we wanted to switch). A remote hiring policy has been key to confidence in that decision; we've yet to fully put that into practice with actual Rust hires, but I'd be much more wary with a talent pool restricted to just the local area (Austin, in this case).


What about legacy systems that were once popular but aren't anymore, like PHP? I know there's a lot of wordpress development demand out there and fewer and fewer skilled devs who are willing to learn and/or work with PHP.


PHP is still too mainstream these days.

However, if you are an experienced Perl programmer, you'll have better luck.

But _starting_ with Perl or PHP is probably not the best course of action; this is a path for already experienced developers.


That reflects my own experience. I work remotely and our company uses Scala. We have several fully-remote engineers.


I thought so too once.

But the mainstream tech is just used by such a vast amount of companies, that even they haven't enough devs.


I totally agree. I'm working right now as a remote Scala engineer, and while I was job hunting, I saw more remote positions for Scala/Spark than any other stack. (At least within the world of data engineering)


Agree, I'm a remote Scala engineer.


I make Remote OK, which aggregates most job boards for remote jobs. I have data for the last 2 years of jobs.

I quickly made this page for you to see what stacks/tags are most popular: https://remoteok.io/stats.php

Top stacks:

  Ruby		1,759 jobs	(9%)
  Node JS	953 jobs	(5%)
  PHP		779 jobs	(4%)
  Meteor JS	645 jobs	(3%)
  Python	552 jobs	(3%)
  Java		525 jobs	(3%)
  C++		374 jobs	(2%)
  Linux		313 jobs	(2%)
  C		268 jobs	(1%)
  Rails		266 jobs	(1%)
  Scala		242 jobs	(1%)
  Wordpress	226 jobs	(1%)
  Jquery	212 jobs	(1%)
  Mongodb	136 jobs	(1%)
  .NET		119 jobs	(1%)
  Drupal	115 jobs	(1%)
  Photoshop	100 jobs	(1%)
Top tags:

  Dev		8,919 jobs	(46%)
  Senior	2,619 jobs	(13%)
  Exec		2,045 jobs	(10%)
  Ruby		1,759 jobs	(9%)
  Marketing	1,469 jobs	(8%)
  Full Stack	1,293 jobs	(7%)
  Mobile	1,036 jobs	(5%)
  UI		881 jobs	(5%)
  Sys Admin	789 jobs	(4%)
  Backend	722 jobs	(4%)
  Devops	674 jobs	(3%)
  Admin		641 jobs	(3%)
  Python	552 jobs	(3%)
  Full Time	546 jobs	(3%)
  CSS		513 jobs	(3%)
  Medical	437 jobs	(2%)
  PM		426 jobs	(2%)
  C++		374 jobs	(2%)
  Cloud		370 jobs	(2%)
  Ops		346 jobs	(2%)
I think these are fairly similar to non-remote positions but I'm not sure. It's predominantly dev/tech jobs any way.


@dang could you replace the top list with these? I made a tiny error:

Top stacks:

  Javascript		2,005 jobs	(10%)
  Ruby			1,759 jobs	(9%)
  Node Js		953 jobs	(5%)
  Sys Admin		789 jobs	(4%)
  PHP			779 jobs	(4%)
  iOS			708 jobs	(4%)
  Meteor JS		648 jobs	(3%)
  Android		569 jobs	(3%)
  Python		552 jobs	(3%)
  HTML			549 jobs	(3%)
  Java			525 jobs	(3%)
  CSS			513 jobs	(3%)
  Excel			381 jobs	(2%)
  C++			374 jobs	(2%)
  Angular JS		372 jobs	(2%)
  Linux			313 jobs	(2%)
  SQL			268 jobs	(1%)
  C			268 jobs	(1%)
  Rails			266 jobs	(1%)
  Scala			242 jobs	(1%)
  Wordpress		226 jobs	(1%)
  Jquery		212 jobs	(1%)
  MongoDB		136 jobs	(1%)
  React			136 jobs	(1%)
  .NET			119 jobs	(1%)
  Golang		119 jobs	(1%)
  Drupal		115 jobs	(1%)
  Elasticsearch		107 jobs	(1%)
  Photoshop		100 jobs	(1%)
Top tags:

  Dev			8,920 jobs	(46%)
  Senior		2,619 jobs	(13%)
  Exec			2,045 jobs	(10%)
  Ruby			1,759 jobs	(9%)
  Marketing		1,469 jobs	(8%)
  Full Stack		1,293 jobs	(7%)
  Mobile		1,036 jobs	(5%)
  User Interface	881 jobs	(5%)
  Sys Admin		789 jobs	(4%)
  Backend		722 jobs	(4%)
  Devops		674 jobs	(3%)
  Admin			641 jobs	(3%)
  Python		552 jobs	(3%)
  Full Time		546 jobs	(3%)
  CSS			513 jobs	(3%)
  Medical		437 jobs	(2%)
  Product Manager	426 jobs	(2%)
  C++			374 jobs	(2%)
  Cloud			370 jobs	(2%)
  Ops			346 jobs	(2%)


Thanks for the stats. It seems logical that Ruby is on top since Basecamp guys are probably the most influential evangelists of remote work out there.

I'm pretty sure these are not similar for non-remote positions, though.


This website is awesome! This'll be a stellar resource for me.


Hey, check your trends page, might be a bug? https://remoteok.io/trends


Yep it's kinda broken, will fix now :)


I don't think this is a meaningful question. No stacks "dominate" in remote jobs just as no stacks dominate in on-site jobs. Most remote jobs are just working from home or somewhere else for the same companies that have people on-site.

If you want to work remotely what you should focus on is honing the business value you can offer, because that's what companies pay for. No company, whether they hire remote or not, ever needs 2,000 more lines of Ruby or Javascript in the next month. What they need are people who can solve business problems. If you can do that, where you happen to do it from becomes irrelevant.

I have been freelancing remotely for almost ten years. I concentrate on fixing business problems. The "stack" rarely matters. Technologies come and go, and over-specialized programmers go with them.


Maybe I didn't express myself clearly enough - this is all about the practicality of starting remoting. I agree with your point of solving business problems - that is obvious and I am a quite a generalist (with certain preferences) when it comes to tech. I am just trying to be realistic here - I don't find it easy to find a job on site and my guess is finding a remote one is way more difficult with all the devs around the world from developing countries knocking down salaries. I thought most companies tend to hire with focus on certain experience?


Low-end competition on places like UpWork is mostly piecework, doing small and very specific jobs at sometimes extremely low rates. I don't compete in that market and I don't advise it.

If you want to freelance remotely I advise lining up clients before you start traveling or living abroad, because it's harder to do that remotely. Unless you like churning your customers or doing piecework, you need to aim for long-term relationships. I focus on small- and medium-size companies that don't have in-house IT/programming staff, they are used to outsourcing already. They often have a backlog of work and a history of bad experience with freelancers, so if you gain their trust and show an interest in their business (not just what tech they happen to use) you can find plenty of work.

If you want to find a startup that's hiring remote staff there are online job boards specifically for that.

The business problems I address in my freelancing is taking over legacy applications (usually web sites, and often not very old or even finished) where the original developers have left. This happens a lot -- small businesses are terrible at putting together requirements and specs, terrible at hiring, and don't usually attract the kind of people who want to get hired at Google and Snapchat. I only need a handful of clients to keep myself flush.

My blog (see my profile) has some more specific articles you may find helpful.


Couldn't agree more about the UpWork, though I've managed to mostly get long-term contracts there. The rate was far from competitive, but it's nice when you're just getting started or still on college.

I avoid it now though, most of the jobs posted there nowadays are just trash. Wouldn't recommend anyone experienced to waste time there.


How do you find small businesses with these technical issues? Using networking?


About half word of mouth and referrals. I work through an agency now and get customers through them. Once in a while I get a lead/customer from articles on my blog.

Every business has a backlog of bugs and enhancements they don't have resources for, so it's not so much a matter of finding them as it is persuading them you can help. Listening and understanding their business problems is the key.


do you end up rewriting the entire legacy applications? How do you balance doing a good job with time efficiency?


Rewriting is rarely a good business decision. Companies have already invested time and money and changed their internal processes. I maintain and fix what they have. If they decide to replace it I am usually the first developer they offer the job to.


> Technologies come and go, and over-specialized programmers go with them.

Not really, programmers adapt to the changing tech landscape.

Technologies/languages keep changing, but programmers can always switch to more relevant languages if required, and that's what happens.


Note that I wrote "over-specialized programmers." Yes, we adapt. I've adapted for 35 years. I've also seen programmers left with few options when the landscape changes.


  Technologies come and go, and over-specialized programmers go with them.
True !


What kind of business problems do you solve or see other remote programmers solving?

edit: nevermind, you answered, legacy systems, according to your blog PHP/MySQL work


I focus on web applications and most of those are PHP and MySQL. I have worked on other kinds of code in the last ten years though. Ruby, Python, C#, Oracle, C++.


You can see the current trends by looking at job listings. E.g. http://stackoverflow.com/jobs?sort=i&allowsremote=true

Another good source of info is: https://github.com/lukasz-madon/awesome-remote-job

I think it has more to do with the company itself and less with the tech stack though. There are companies that get remote working (not necessarily new or startups) and others that they don't.


> Another good source of info is: https://github.com/lukasz-madon/awesome-remote-job

Real HQ - Maker of Agent Pronto, software designed to help make home buying and selling a better experience. We've been remote since the start, now 50+ spread across the globe

On https://realhq.com/jobs/ though:

Work Remotely

We’re looking for people who live in the United States.

Another company doesn't state that explicitly under http://www.surgeforward.com/careers/ - but they feature a map of stick figure "employees" spread over the US on that site, a clear indication they're in the same camp

For many companies "remote work" is synonymous with "remote work for US residents", and it's a totally different category from global point of view. I'd like to see some source that dinstinguishes between the two


From what I've seen, Rails and Node tend to be the big contenders, with quite a few people starting to move things to Go now. That's just anecdotal though, hard to get much concrete numbers on this sort of thing.

https://remoteok.io aggregates remote jobs, and has lots of them tagged by language, which might be a route to try and get more substantial answers to this.

Let me know if you/anybody has a go at this actually, I might have a go myself next week, if nobody else has in the meantime.


I don't think you should look at it from the standpoint of what's popular as it really depends. Instead take a look at the company, team experience, road map, learning opportunities, size and stage of company, etc.

If you enjoy learning and exploring parts of the stack in some depth ensure that vision matches up with the role and it's responsibilities.


Well so let's say you're an "enterprise developer" with Java/Scala for the backend and some JS skills. From the looks of it you also into the big data stuff... Are you really willing to switch to (for example) PHP or Ruby on Rails just to be able to work remote?

I'd say start looking for a remote job which requires your skill set. If you start seeing a need for some new tech in your "portfolio" based on what you're seeing out there - won't hurt to take a look at it, maybe do a "weekend POC" type project push it to github and add that tech to your resume :)


I have worked as a PHP full stack developer several times remotely. LAMP/WAMP stack is mostly in demand for most of the startups based in India. The next in demand is Ruby on Rails, I believe. RoR is basically preferred by small startups who want their product up and running quickly. I've built products with RoR and it's really fast development. The only drawback is that it is heavy on your pocket, so to speak.

One thing that you should definitely have in your kitty is JavaScript. OO JS is gold. Next in line, AngularJS and ReactJS.


> One thing that you should definitely have in your kitty is JavaScript. OO JS is gold. Next in line, AngularJS and ReactJS.

Is it, though? There are so many JS developers out there that a company would have little trouble hiring one locally. How would you stand out as being worth the money and the communications overhead?


By being great and preferably experienced. Finding a solid JavaScript developer who's also a great programmer in general is hard.


And how do you expect a potential employer to identify such people? It's not an easy or trivial thing to determine who is a good dev and who is a bad dev.


Show samples of your previous work. Maintain an active Github account.


That's not going to set you apart from the legions of JS devs they can hire locally who also have samples of their previous work and maintain an active github account.


Agreed. I'm out of ideas here as to how you would stand out among the crowd. I think it just comes down to the complexity and budget of the project. You hire according to that. With so much IT projects around the world, if you make some effort you surely get some work.


The actual amount of local devs that have active GitHub accounts and work samples and are smart is actually pretty tiny. Maybe not in the Bay Area, but even in NYC I haven't come across many.


I'm also from E.Europe and I was in similar position. Was contracting as php dev in UK/London, then moved back to my home country. As someone suggested, the best thing is trying not to be 100% programmer, but also have a little bit of business acumen and trying to get to know companies/people in London while you're there. This way I managed to do some remote work (same rate as on-site). Some companies are willing to pay you well as long as they know you personally and have experience what you can do.


We do a lot of remote work with Scala. I think we know each other, but if we don't my work email is noel at underscore dot io.


Doing Apple and Microsoft mainly (but basically anything when it's required, like a PHP or Python API for an app or JS for a website), I'd say doing iOS work is the main part of it in terms of offers.

iOS projects are or can be pretty small yet they require a great deal of expertise to execute correctly. I worked on many projects solo or in distributed teams.

Microsoft work is a bit harder to find (or doesn't get delivered on my doorstep as often) but more often when you do land it you're going to be The Only Guy That Knows How The System Works after a while since ASP.Net and WinForms / WPF / etc applications are more often slowly evolving highly specific and mission critical applications, so once you land them you're in a better position than with those many one off iOS applications.

I guess Java and .Net are more or less interchangeable in that regard.


Outside of the software stack I'd imagine you'll struggle if your devops stack is on-prem. Look for jobs that use cloud-based source management, cloud-based CI, and are hosted in the cloud.

I wrote a general blog about working from home with some other things I use. https://www.redoxengine.com/blog/working-remotely-at-redox


I work remotely for a US company from Romania. I do web development in Perl. And some jQuery for the frontend, but 90% backend dev using Perl.


It looks like I'm working with statistically 'wrong' stack for a wannabe remote dev


I get the same feeling. What's yours?


.net, javascript, sql :) web dev on MS stack


I'm also a mostly Microsoft stack developer, and I looked at remote jobs, and there are very little with this stack.

It's popular with enterprises, which are very much remote-adverse.

I didn't find a solution, although I'm doing a side project in React - now I need to learn either Node or Ruby I guess (my backend is .NET based).

Node has Visual Studio and Azure support, so it would be the least painful I guess.


I'm an iOS engineer and remote work is pretty hard to come by. :(


I work with Scala remotely, and we're hiring! (send me a PM).


You don't have your contact info on your profile.


They're likely to also be https://github.com/alpeb who also works with Scala and there are contact details there.


maybe that was the joke


Google the username.


Is this question some cynic attempt to see what keywords are going to be upvoted?

What does "remote" even mean here? A ukranian remotely working for a US company? A brit remotely working for a chinese one?

Why would there be a difference in stack just because someone is not working in-office but from somewhere else? The stack much rather depends on the field of work, the technology involved and maybe the location of the parent company (at which you might also be able to work non-remotely). ;)


No, this is a very legitimate question. I am an Eastern European and having spent 7 years in UK (and last two in London) I realized that all I do here is bleed huge amounts of money for rent. I want to get a remote job and move back to my homeland. This is all about maximizing my chances of getting such a job, because I understand that remote is rather competitive market with developers from developing countries knocking down salaries, etc. Just trying to be realistic.


As long as you're already in London, I suppose the best way would be to start working for a company on-site and then make an arrangement to continue the collaboration remotely (assuming they do remote at all). It's always better if someone gets to know you face to face first.


I agree with this. Establish a face-to-face relationship and then begin working offsite.

I assume you can find a London employer with similar values (rent is ridiculous - let's hire remote devs, so we don't have to lease so much office space).


> developers from developing countries knocking down salaries

That's not "remote" where the salary has to comply with the company country rules; that's subcontracting, freelancing...


I was thinking remote as in any kind of remote. Isn't subcontracting the most popular choice here though? For instance - how would one get a remote job in US if they cannot be employed there because of visa restrictions?


What makes you think that "remote" jobs have different stacks though? That's my main point.


In my totally unscientific survey of remote-friendly jobs over the past few years the majority appear to be webdev of some flavor, followed by devops of some flavor. There's an occasional Java, Go, or Rust position thrown in there as well.

Now, I don't see any variation in the stacks for webdev or devops jobs with respect to whether the job is remote or not. The significant bias in specializations available remote, though, significantly biases the overall stacks available.


Surprised I am not seeing C# here. One of my remote gigs was the Microsoft stack.


I didn't see many when I searched. Where did you find it? Word of mouth or a website? Thank you :)


We're running Rails + React at Ruzuku. How's that for alliteration?


Been seeing a number of JS / Angular related stuff as of late.


From my personal experience you are best off with Javascript and then either Node/Python or Ruby as the backend, loads of jobs advertise for these.

Much easier to find front end work than backend remotely I think.

I work remotely using Java 8 (the good type :D)


we're starting to get quite a bit of both elixir and react in green jobs. lost of rails in existing apps.


PHP + JS here


I'd say Ruby/Rails and JavaScript (Angular, React, Node) dominate the remote market. Just check weworkremotely.




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: