Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: Is it possible to find remote job on C/C++?
61 points by inlineint on Nov 25, 2015 | hide | past | favorite | 52 comments
Hi HN!

I am an engineer experienced mostly with C++, Python and Node.js, total 6 years of experience.

During the last few years I have been having deal mostly with scripting languages, but now I realized that I want to switch back to C++ (or may be better to plain C) because I want to be more close to metal and write code that is really fast. I interested mostly in networking, DSP or implementing of some learning algorithms, and I would like to develop it for GNU/Linux.

The problem is that I am looking for this kind of job only remotely, and it looks for me like jobs of this type are usually on-site. There is a plenty of remote jobs for Node.js or Python, but it is nearly impossible to find a job that suppose working with C++ or C, is remote and not looking for a guru (I do not feel me a junior, but I am not a guru too).

What do you think about it, HN? Am I looking for not good enough, or it is really impossible to find one of such type?



I work remotely (even though I'm only a half-hour from the office) and practically all of my work is in C. So yes, it's possible to work your way into such a situation. However, that doesn't mean it's easy to get hired into such a position. Many employers are quite reasonably wary of hiring someone who has never worked closely with anyone else on the team. Usually this means working in physical proximity for a while, though exceptions are often made for people who have been deeply involved in an open-source project for a while. Either one serves as "proof" that you can be productive that way, and that proof is what reassures management enough to hire you.

My impression is that companies which aggressively embrace new technologies and markets are also more likely to embrace new management/logistical models such as fully distributed teams. Therefore the pickings overall are better, but mostly in certain technical areas - notably not in low-level areas such as networking and DSP (which you mention). I think you'll have to make some compromise between your preferred technical areas and your preferred working environment, because the overlap between the two isn't very large.


I think the kind of companies that hire C/C++ engineers are not the same companies that post jobs on rentacoder or whatever it is called today. The companies that have remote positions that you can "find over the internet" tends to be small young shops or possibly single persons implementing in PHP, Ruby-on-Rails or similar platforms that offers high productivity for small scale projects (at least in the short run).

That are plenty of C/C++ jobs inside banks and telecommunications but they will not advertise remote job opportunities and if they to, they do it thru recruitment agencies or consulting firms that subcontracts to freelancers. However I think it is quite possible to build a relationship with say a departement at telco thru regular consulting that eventually will let you work remotely.

It just requires some legwork and that you work on-site in the beginning.


Yes, it is possible. We are hiring, learn more at http://Backtrace.io


Interesting looking product - Not really obvious that you entertain remote workers from your website however, you may want to specifically state that.

(Offtopic - do you support non Intel platforms?)


I don't think there's a correlation between the primary language used at the job and the employer's willingness to allow remote working. Investigate C/C++ listings, see if they allow employees to work remotely. Obviously you'll be expected to appear in-person for the interview, but if they are sufficiently convinced that you can be left alone to get your work done, they might agree to let you work remotely.


Eh... I'd say the problems you need C or C++ for tend to be much more finicky than the typical web development job. Not that the web development work is easier, but the issues tend to be fairly intuitive and pretty close to a human problem.

Explaining C++ lookup rules or convincing a teammate that a particular piece of code contains undefined behavior... it helps to be in person. I haven't tried this sort of work over video chats, though.


>Explaining C++ lookup rules or convincing a teammate that a particular piece of code contains undefined behavior... it helps to be in person. I haven't tried this sort of work over video chats, though.

That can't be explained over email? How do the LKML people handle this?


Certainly there is. I'm currently working on a JSF project for a client ... it's nightmare to bring a new remote developer on board, their environment configured properly, eclipse working, blah blah blah.

My last Django project, a remote developer had the app up and running in their environment and was fixing bugs before lunch to get a feel for our code.

C/C++ jobs tend to be more more like the former than the later. Many C/C++ jobs are not even possible to do remote; the last time I managed a C programmer it was for an application appliance and I would have had to ship them prototype hardware if they were remote.


It's secondhand, but I worked with a C/C++ embedded guy once who did exactly that - worked remote doing embedded software, carried around prototype device and interface hardware and shipped it back and forth as needed.

I also helped hire and support a consultant who was updating some C++ drivers for some proprietary hardware we had. He never actually came into the office, I just shipped him the device, supporting software, and emailed instructions.

So it's definitely possible to do, but it isn't the easiest type of job to get, especially if you can't visit the premises at all.

For the OP, I'd suggest relaxing your preferences on what type of code/language you want to write for now. Try to find a job doing something you already have the most experience in, but at a company that either has the C++ projects that you're interested in, or seems likely to have connections to companies that do that. Once you establish your competence with them, you may find it easier to switch over to C++ while still being all remote.


If your build environment is that difficult to setup and undocumented, that's a big problem, whether or not you are remote or an on-site developer.


Agreed, but that's often the case with large legacy projects. I'm slowly pushing them to more modern approaches.


I think there is. But it could be a gut feeling.

If I look at actual sit in office jobs.. I see something like

Java > PHP > .NET > Node > Ruby...

but if I look for online jobs, I see something like

Ruby > Node > <sharp dropoff> > Java??

Sure it changes by area for the local job breakdown.. but while trying to find a remote job, I sometimes regret being a Java/Scala guy instead of a Ruby guy. (But when my code doesn't take 300 servers to run on due to Ruby perf, I am sure that regret will soon fade).


Same here (scala dev / haskell wannabe trying to go remote.)

I have a feeling it has to do with the general demographics of those languages users. Python/Ruby/Node positions would be mostly filled by young people working on web stuff (so they're more open to remote work), and Java positions would mostly be in BigCorps with a more traditional organization. But that's just a conjecture.

The comment about performance made me chuckle (Most of my colleagues work with PHP)


I mean entirely remote jobs and in-person interview is not possible. The reason is that now I live in a small town in Russia.


Living in Russia could be a problem depending on where you're applying. I know that at one company I worked at (in the US), they wouldn't even let beta testers from Russia test the product because they were concerned about piracy and were concerned about political issues in the country affecting their business.


Mozilla allows almost every job to be remote and Firefox is written in C/C++. I'm sure there must be other companies :)


Remote Mozillian here: can confirm!


But not in every country. HR told me that Mozilla can't hire in Georgia (the country in Europe). She contacted me because she initially thought I'm from US state Georgia...


https://reason.com/blog/2014/04/06/does-mozilla-dumping-its-...

I'd be a little concerned of the culture at Mozilla though.

Mozilla's current board considers pandering to external forces more important than the old ways - merit, the hacker ethic, professionalism.

I can confirm they have vacant positions, I talked to a few who found work elsewhere after coup removed Eich.

It's sad when a company loses its way, but thankfully chromium is much faster.


> Mozilla's current board considers pandering to external forces more important than the old ways - merit, the hacker ethic, professionalism.

Interesting. Do you have a source on that? Not denying what you're saying or anything.


I've been freelancing for quite a while and I think you can find some projects that you can do in C++. I don't think it's easy to find remote work in, specifically, C++ for several reasons:

1 - Companies want cheap productivity developers (yeah :S), it's very common that they force you to use some hype productive new framework/language regardless of what you think about it.

2 - If a company is going to invest in system level development, it's very hard to find another new decent C++ remote programmer. This is a very critical point. If you fire a javascript/python developer you can find another on in a matter of hours.

3 - If a company needs stuff in C++, probably the company is scaling and needs to recode some components. Usually they have the budget to hire decent C++ developers non remote.

4 - Myths like "C++ is for genius", "You can't be productive in C++", etc.

5 - C++ is not trending these days and it impacts the hiring and/or project stack decisions.

6 - Most remote projects are easy shit, you'll be amazed by the quality of projects and, sometimes, the freelancers hired themselves. Most of the time the projects don't need a fast runtime but new managers.

7 - Agile methodology is often used as an excuse to change the requirements every 2 weeks or so, it's not rare to find such management. You need to have the right tools and community to survive such environments. C++ was my 3rd language but I never used it during freelancing/remote work. Today I feel very comfortable using node because I know this kind of stuff happens, and when it does, it's much better to have things like NPM and a big community just to remain sane and keep up with deadlines.

Keep in my that these "reasons" are based on my personal experience as a freelancer. It's possible to find some remote work for C++ but you'll find to try much harder than, for example,a node/python developer. Try to focus on areas where C++ is critical. If you contribute to well know C++ open source projects, it's just a matter of time to get noticed and hired remotely.


You can find plenty of them over at careers.stackoverflow.com. I'm not saying this to evangelize them, but see this link:

http://careers.stackoverflow.com/jobs?searchTerm=c%2B%2B&job...

There are plenty of them available and most pay on an international level. Not the kind of rubbish pay that freelancing sites offer. Since you have some experience with Python and Node, you'll see that you're good for a lot of jobs over there.


It is misleading if you examine the search results. At first there are only 5 positions concerned on C++ as a primary language, other just mention C++ as an additional skill. The other three contain Visual Studio in description of the job which means that they are looking for Windows developers, and I not interested in development for Windows.

So there is actually no jobs on stackoverflow careers which satisfy the requirements I mentioned in the question.


Indeed the stack overflow search is very misleading and completely useless for figuring out how many "X" jobs are on the site.


I see a flood of positions published by Crossover lately on the remote job panels. Can anyone share hers/his experience interviewing/working for Crossover? thank you


I'm not sure why the programming language matters. I'm part of a small team that works remotely for a US company (we're in Thailand), and the company couldn't care less about what language(s) we use - they hired us because of what we can build for them and the value we bring to their business.

Having said that, getting the job was more a combination of luck and knowing the right people than anything else. I expect it's harder trying to find advertised jobs.


C and JavaScript are suitable for very different tasks, and thus for different clients.


Do you know anything about audio dsp? I've found jobs in the pro audio industry are pretty easy to do remotely. I do a mix of VST/AU plugins, small audio apps and control surfaces. I get most of my jobs through my network of contacts, but there are a few jobs that get posted here as well: http://www.juce.com/forums/juce-jobs


Where do you get started learning about DSP? Any recommended reading?


Usually you get an electrical engineering degree. I was lucky enough to find a company willing to let me learn on the job.

I can recommend these: http://www.amazon.ca/gp/product/0240825152?psc=1&redirect=tr...

http://www.amazon.ca/gp/product/0262014467?psc=1&redirect=tr...


XIPH has a great video series about it. http://xiph.org/video/

(well that's video, but close enough)


"Series" is a bit generous, as it's two videos...


...which have nothing to do with programming DSPs.


Well, they certainly contain content that is part of the foundation of DSP.


C++ seems very niche for web development, but it is actually very popular for game development.

Try asking in the /r/gamedev and the /r/gameDevClassifieds subreddits. I'm sure someone is wondering how to contact a C++ developer.


I too wonder this. I write C++ for my dayjob and use wxWidgets under Windows and OSX but have used Qt a long time ago, as well as VCL and MFC. I would prefer to avoid MFC and VCL nowadays!

I can also write Java (done that for Android), various bits of SQL (used PostgreSQL, MySQL, MS SQL and Informix), C# where necessary and PHP/JavaScript/HTML but would prefer sticking to C++ nowadays instead of front-end web stuff.

Swift/Obj-C is coming along slowly for me.

I am in the UK and would welcome any interest / work.


Replying as too late to edit: this wasn't meant as a hijacking of the thread but it could have been better-worded. Apologies.


I'm working (albeit freelance) remotely on a project that is 100% COBOL at the moment. They have offered full time work for me, so I know it's possible.

I know COBOL isn't C, but it's the same concept - systems programming/secure stuff rather than bashing out websites.


I landed my first programming job writing COBOL(this was in 2012) and have always been on the lookout for remote COBOL opportunities, mind if I ask how you found your current gig?


I wonder if Golang might be an option for you? It's seen huge surge in use, and is more "modern" so might be more likely to be used by company that understands benefits of remote.


Yes, I've thought about it. I doubt do they hire me if I read "The Go programming language book" and say that I have C/C++ experience? Or it is necessary to spend a lot of time learning Go and contributing to open source projects just to get hired anywhere? Do Go jobs nowtimes actually require just general programming experience assuming that Go could be learned in first days of working?


I think so. Unless you're writing code for rockets and medical devices I'd say fake until you make it... or we can call it "on-the-job training".


This might be a good way to Go--many job posts are (understandably) oriented toward systems development and prefer C/C++ experience.


I'd ask the same question but with Java. Virtually all the remote jobs I see are Python/Rails/Javascript and maybe PHP.


Yes, I get occasional such C++ / C jobs on Toptal (http://www.toptal.com/#hire-astute-engineers) - yes, it's a referral link, sosumi ;)

The job and the community are nice enough that I don't mind evangelizing.


Saying that is the same as saying that there are C++ opportunities on freelance and odesk. I doubt the OP is looking for a reference to a freelance site.


Can you talk more about this? What kind of jobs do you get (pay, duration, deadlines, etc)?


For C++, you'll need to know Qt.

It's probably easier to find an Objective-C job than a C job.


Qt? Because there are a lot of companies hiring specifically remote for Qt? It's not my impression that in general, the majority of jobs using C++ expect/leverage Qt.

There's tons of embedded work using C/C++, but indeed remote work is harder to find there.


because all C++ projects use Qt?? what?


I know Qt (have an open-source project based on it https://github.com/a-rodin/qstardict), but don't want to work with GUI. I think I would like some libraries or applications that run on server and so some complicated jobs that require high performance.


I'm giving this one an upvote. You certainly don't need to know Qt, but when I recently asked a remote / nomad developer about finding C/C++ work, he also recommended learning Qt. He said that while he didn't get C++ leads very often in general, he did see Qt leads coming through to him semi-regularly.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

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

Search: