Author Topic: freelancing as an embedded developer?  (Read 4334 times)

0 Members and 1 Guest are viewing this topic.

Offline kamtarTopic starter

  • Regular Contributor
  • *
  • Posts: 62
freelancing as an embedded developer?
« on: June 26, 2019, 03:45:45 pm »
I was playing around with the idea of freelancing as an embedded programmer, not sure if I would like to build a business from it or just a part-time few months experience.
I spent 5 years as an embedded programmer in a small company rather isolated from the industry as a whole so I have no perspective on what to expect from this "market" if you can call that.
I'm working on a few references projects to show that I can do decent firmware and electronics design too (really usefull in a case of a freelance remote job).

My question would be, is it even viable? I can't imagine a lot of companies wanting to deal with somebody remote working on their hardware. I know there are a few freelance devs. but aren't they more of an exception?

If somebody has some experience I would be glad to hear it.
Thanks!
 

Offline scuzzyTerminator

  • Regular Contributor
  • *
  • Posts: 64
  • Country: us
Re: freelancing as an embedded developer?
« Reply #1 on: June 27, 2019, 02:06:49 am »
Quote
I know there are a few freelance devs
Wrong. There are lots and lots of freelance devs wherever lots and lots of devs are needed, but you could have a problem if you stay "rather isolated from the industry as a whole." Silicon Valley was very good to me.

I have done a lot of embedded systems programming as a consultant. Consulting/freelance work is a big general topic and you'll find a lot of advice and warnings on this forum but I'll say a little  :blah: about working remotely with embedded systems (though I never worked remotely because home was always too distracting.)

The first problem working remotely is that it is not often that the hardware can leave
the premises as it is either too big (they would not let me take that scanning electron
microscope home no matter how hard I begged) or the prototype board and development equipment are needed by the hardware dev and techs.

If you are not the total developer (HW & SW) then you are likely programming a moving target. That's hard if you can't drop by regularly. Expect the client will give you more autonomy if you are the total developer.

How are you set for development equipment at home? If you plan to use your own then you're limited to projects that your equipment supports. If the client supplies the equipment they may be reluctant to let it go far away.

I never did a consumer product so my experience is biased toward industry and laboratry products and away from the kind of stuff you can do at home. Perhaps your best bet is working with small companies (e.g. start-ups) making small products and looking to avoid facilitating an engineering staff.

Good luck.
« Last Edit: June 27, 2019, 02:14:14 am by scuzzyTerminator »
 

Offline aandrew

  • Frequent Contributor
  • **
  • Posts: 277
  • Country: ca
Re: freelancing as an embedded developer?
« Reply #2 on: June 27, 2019, 12:51:29 pm »
I've been doing exactly this for the last decade or so. The short answer is "it depends".

There is lots of embedded dev work and few (IMO) devs who are able to handle the specifics of embedded properly. Even fewer can work both the HW/HDL and SW angles in a design and that's where I specialize. A significant portion of my workload involves being brought in to fix things that have gone pear-shaped because someone else thought they knew how to do something and now the company's in a jam.

Working remotely -- that's a mixed bag. Everything scuzzyTerminator said is true; most companies want your butt in one of their chairs, but a few are fine with remote software guys. Fewer are happy with remote hardware people, and even fewer yet want to let their prototypes out of the building. Remote debugging hardware can be interesting and frustrating (much moreso than debugging hardware locally). Ethernet-based tools are MUCH easier to use remotely. I've not found a single USB-over-IP system that works as expected, mostly because the people who wrote the drivers for the USB tools programmed in idiotically short timeouts that just won't work over remote. You can only get so far with VNC or RDP.

Remote in general: meetings. lots of meetings. I wonder how some companies get anything done because there are so many meetings. VERY few companies have adequate conference room equipment (proper conference room phones with good echo cancellation and enough mics to cover the entire room are expensive). If people are writing on whiteboards it is also a hassle to get someone there to either throw up a shitty webcam or again, have a PROPER conference room camera that you can move or see everything with. Microsoft Teams (used to be Skype for Business) is actually really amazing for being able to remotely work, but the company needs to buy in to it and probably won't for just one remote guy. Skype is a close second, but again it all comes down to good mics and potentially a good camera. Most people in meetings don't talk loud enough or their voices are low enough that a typical telephone muddles it and you can't hear properly.

For those who *do* let you work on hardware remotely, a VPN and some way of having it auto-connect is essential, as is network-connected power outlets or network-connected IO for hard rebooting targets. I'd say a UPS is also essential, and as long as my wishlist is open, at least one webcam+light aimed down at the board for watching LEDs/motors/etc. if applicable. I am personally a fan of the "lab computer running autossh -R" but be careful not to run afoul of their network policies. Some sensitive companies will (rightfully) terminate you on the spot if you've punctured their firewall without proper authorization. I've not done it yet, but a cellular networking dongle on a non-networked computer that is connected to the equipment you're working on would probably be a lot more acceptable for remote hardware access.

Even if you can talk to the hardware, you have no hands or eyes there so you can't attach a scope or logic analyzer and poke around easily. I try to make sure I can hit whatever I need before I leave but it's additional risk/hassle. It's much better to have the hardware local to yourself, whether that is onsite or at your own office.

I love contracting -- the variety in challenges keeps me motivated and interested. Being able to draw on my experience from one field to appear the magician and solve a problem in a completely unrelated field is a trip. I'm well-enough established now that most of my work comes from word-of-mouth, but starting out I used agencies. Most *suck* but there are some diamonds in the rough. They all take a (significant) chunk of your hourly rate but they have the "reach" to get you work in areas you can't get to yourself, and after the "hands off" period expires you can go direct to those clients.

Good luck! It's not for everyone, but I love it.
« Last Edit: June 27, 2019, 12:55:40 pm by aandrew »
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 28429
  • Country: nl
    • NCT Developments
Re: freelancing as an embedded developer?
« Reply #3 on: June 27, 2019, 09:21:32 pm »
The first problem working remotely is that it is not often that the hardware can leave
the premises as it is either too big (they would not let me take that scanning electron
microscope home no matter how hard I begged) or the prototype board and development equipment are needed by the hardware dev and techs.

If you are not the total developer (HW & SW) then you are likely programming a moving target. That's hard if you can't drop by regularly. Expect the client will give you more autonomy if you are the total developer.
When working in a team you'll need contact with other team members but you don't have to necessarily sit in the same room. I've been doing contract work (hardware and software development) for over 2 decades and mostly from home. In almost every case a project involves working with multiple people. It greatly depends on your communication skills whether this works or not.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline RomDump

  • Regular Contributor
  • *
  • Posts: 119
  • Country: ca
Re: freelancing as an embedded developer?
« Reply #4 on: June 27, 2019, 10:56:16 pm »
My question would be, is it even viable? I can't imagine a lot of companies wanting to deal with somebody remote working on their hardware.

A lot of Startup's look for freelancers. Check out Upwork and Freelancer for the type of embedded work people want.  John Teel wrote a Blog on this.
--
RomDump
 

Offline aandrew

  • Frequent Contributor
  • **
  • Posts: 277
  • Country: ca
Re: freelancing as an embedded developer?
« Reply #5 on: June 27, 2019, 11:24:33 pm »
My question would be, is it even viable? I can't imagine a lot of companies wanting to deal with somebody remote working on their hardware.

A lot of Startup's look for freelancers.

Forget freelancer.com. Their site is not set up to be able to properly quote or even communicate for anything but the simplest of projects, and you'll be driven into the ground on price by people quoting $50 and 7 days' time to develop complex systems off of incomplete and ill-thought-out "specs".

In general, be careful working for startups. They all want to pay you in stock that never materializes.
 

Offline kamtarTopic starter

  • Regular Contributor
  • *
  • Posts: 62
Re: freelancing as an embedded developer?
« Reply #6 on: July 01, 2019, 11:38:44 am »
Thanks for the input. I will see what the future brings, maybe try to get a few "underpaid gigs" to get feel for it.
 

Offline AndyC_772

  • Super Contributor
  • ***
  • Posts: 4315
  • Country: gb
  • Professional design engineer
    • Cawte Engineering | Reliable Electronics
Re: freelancing as an embedded developer?
« Reply #7 on: July 01, 2019, 01:13:27 pm »
I wouldn't.

If you have the skills and experience to do a good job for a customer, then charge accordingly. A good freelancer / contractor / consultant can (and should) be good value even at a relatively high cost.

If you don't, then no degree of cheap-ness will really make up for it, and it's much harder to increase your prices once expectations have been set than it is to offer a discount to a regular customer. A super low-cost service might appeal to customers without much of an engineering budget, but that's really not a recipe for a successful, mutually worthwhile relationship.

My business is primarily hardware design, and even though I do now probably spent 75% of my time doing software, it's (exclusively) software which runs on my own hardware.

I have been offered software jobs in the past, but they've inevitably been along the lines of "We've got this old code which nobody knows how to maintain any more, and we need you to update it for <reason>. No, you can't see the existing code before you start. How much will it cost?".

Sometimes knowing which jobs to turn down is just as important as knowing which ones you can and should accept.

Online SiliconWizard

  • Super Contributor
  • ***
  • Posts: 15797
  • Country: fr
Re: freelancing as an embedded developer?
« Reply #8 on: July 01, 2019, 01:16:39 pm »
Sometimes knowing which jobs to turn down is just as important as knowing which ones you can and should accept.

It's the most important part IMO!
 

Offline HannahSmith

  • Newbie
  • Posts: 1
  • Country: us
Re: freelancing as an embedded developer?
« Reply #9 on: July 06, 2021, 03:56:08 pm »
I am also a freelancer, but the most inconvenient thing is that I have to keep track of every cash transaction, where all the income goes, where they come, can be some way to make it all easier?
 

Offline FergusonRebecca

  • Newbie
  • Posts: 1
  • Country: us
Re: freelancing as an embedded developer?
« Reply #10 on: July 06, 2021, 04:04:24 pm »
I don't know about you, but I like it when all the administrative aspects of my work are on one screen: expenses, benefits, contracts, customers, accounts, bank accounts...the fact that you already have an income! That's the message I like best when your bank account is integrated with https://www.xolo.io/es-es. You'll be able to automatically track the collection of your bills and the accrual of your expenses. With their open banking technology, connect your bank account and stop using that Excel to add the invoices you upload as if it were 2015. I can firmly state that this agent is great for freelancers such as designers, copywriters, translators, developers, or consultants.
« Last Edit: July 09, 2021, 08:05:47 am by FergusonRebecca »
 

Online SiliconWizard

  • Super Contributor
  • ***
  • Posts: 15797
  • Country: fr
Re: freelancing as an embedded developer?
« Reply #11 on: July 06, 2021, 05:05:47 pm »
I am also a freelancer, but the most inconvenient thing is that I have to keep track of every cash transaction, where all the income goes, where they come, can be some way to make it all easier?

You need proper accounting of course. Tons of software for this out there. Or, you can hire someone to do it for you if you don't have time or really hate this.

Note that if you have so many transactions that it's very hard to keep track of and handle them, then it must either mean that you work like crazy... or that you just accumulate very small projects. Which either way, will do no good to your health in the end. Just a thought.  :)
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 28429
  • Country: nl
    • NCT Developments
Re: freelancing as an embedded developer?
« Reply #12 on: July 06, 2021, 05:58:28 pm »
I don't know about you, but I like it when all the administrative aspects of my work are on one screen: expenses, benefits, contracts, customers, accounts, bank accounts..
I smell a sales pitch coming up...
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 21225
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: freelancing as an embedded developer?
« Reply #13 on: July 06, 2021, 07:44:45 pm »
I don't know about you, but I like it when all the administrative aspects of my work are on one screen: expenses, benefits, contracts, customers, accounts, bank accounts..
I smell a sales pitch coming up...

Well, I'm sure this is just a coincidence...

HannahSmith Date Registered: Today at 04:54:45 am
FergusonRebecca Date Registered: Today at 05:02:29 am
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf