Which programming skills are best for the nomadic lifestyle?

The problem which I have come to realize, is that my main area is hardware. I design for FPGAs and microcontrollers. Some of the work has to be done in the lab, and I can't see how I can easily do such work remotely.

Since none of us really talk about this stuff openly like all the other devs, I'll throw in my 2 cents. I'm a C coder also, almost same boat as you. If you want something where your skills are more directly transferable, I'd look into IoT, which in non marketing terms means doing desktop linux C development, primarily embedded linux in the form of Raspberry Pi. I say desktop C because raspberry pi running debian, ubuntu, arch, etc is basically the same as desktop except it's ARM. It follows all principles of linux programming.

For the first time since the advent of application level languages, this is the one area where we C programmers actually have a leg up and won't get underbid by people who write in higher level languages who complete what we can in half the time. IoT is currently growing faster than mobile, and embedded boards are very hot in the startup scene right now. Even a quick search - https://www.upwork.com/o/jobs/browse/?q=raspberry%20pi - sure in the past week compared to web dev, embedded isn't getting much action, but keep in mind people doing hardware projects generally have much higher budgets than your average "I need a site for my hair/pet/clothes shop" type people, and also since C isn't something you can fake a knowledge of, or better said the copy/paste "expert developers" types can get away with and takes a lot longer to learn, real competition is much, much lower. If you notice, at least 60% or so of those jobs are people with high budgets, many being big spenders on Upwork. And if you know C and work with MCU's, I'm sure you already know about arduino and this (most of the time) doesn't need to be done in a lab, I work with them often (but I do carry around about 5KG+ in electrical gear, solder iron, bunch of parts, etc. ). For C coders with EE knowledge, arduino C++ comes very easy.

Most people also these days want to code in Python on embedded boards, but most of the time there is no ARM python modules to do that so you can write them Python code in C.

And also, most of these clients are going to need a mobile app to supplement some sort of hardware, but 90% of Java/swift mobile guys can't code lower level stuff like accelerometers, various sensors, etc without a ready made library, don't know how to read datasheets, etc and there's nearly never going to be some handheld tutorial explaining this like they're used to, so they need guidance on that and that's where you come in.

So I guess my point is, I've been in your shoes and seen how tough it can be for C coders but don't get discouraged because there is definitely remote work there, but our dynamic is a bit different than the web dev one. I actually did web dev work in javascript/php for around 4 months, and yeah it works, but I didn't like it, I def. didn't look forward to doing it every morning like I did hardware. I guess it just isn't as fun as hardware.

So practically, on remote hire sites like Upwork, I'd look for combinations of the following words to get work - python/c/c++/bash ; raspberry pi, odroid, beaglebone, arduino, olimex, sensor, automation. If you're not already, get active on the big hardware forums - you WILL get MUCH more work here once you start answering people's questions. Good luck!

/r/digitalnomad Thread