freelancing as an embedded developer?  - Page 1
Forum section: electronics / general

author: kamtar
author_rank: Regular Contributor
timestamp: June 26, 2019, 03:45:45 pm
content: 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!

author: scuzzyTerminator
author_rank: Regular Contributor
timestamp: June 27, 2019, 02:06:49 am
content: QuoteWrong. 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 littleabout 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 leavethe premises as it is either too big (they would not let me take that scanning electronmicroscope 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.

author: aandrew
author_rank: Frequent Contributor
timestamp: June 27, 2019, 12:51:29 pm
content: 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.

author: nctnico
author_rank: Super Contributor
timestamp: June 27, 2019, 09:21:32 pm
content: Quote from: scuzzyTerminator on June 27, 2019, 02:06:49 amWhen 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.

author: RomDump
author_rank: Regular Contributor
timestamp: June 27, 2019, 10:56:16 pm
content: Quote from: kamtar on June 26, 2019, 03:45:45 pmA lot of Startup's look for freelancers. Check outUpworkandFreelancerfor the type of embedded work people want. John Teel wrote aBlogon this.

author: aandrew
author_rank: Frequent Contributor
timestamp: June 27, 2019, 11:24:33 pm
content: Quote from: RomDump on June 27, 2019, 10:56:16 pmForget 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.

author: kamtar
author_rank: Regular Contributor
timestamp: July 01, 2019, 11:38:44 am
content: Thanks for the input. I will see what the future brings, maybe try to get a few "underpaid gigs" to get feel for it.

author: AndyC_772
author_rank: Super Contributor
timestamp: July 01, 2019, 01:13:27 pm
content: 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.

author: SiliconWizard
author_rank: Super Contributor
timestamp: July 01, 2019, 01:16:39 pm
content: Quote from: AndyC_772 on July 01, 2019, 01:13:27 pmIt's the most important part IMO!

author: HannahSmith
author_rank: Newbie
timestamp: July 06, 2021, 03:56:08 pm
content: 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?

author: FergusonRebecca
author_rank: Newbie
timestamp: July 06, 2021, 04:04:24 pm
content: 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 withhttps://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.

author: SiliconWizard
author_rank: Super Contributor
timestamp: July 06, 2021, 05:05:47 pm
content: Quote from: HannahSmith on July 06, 2021, 03:56:08 pmYou 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.

author: nctnico
author_rank: Super Contributor
timestamp: July 06, 2021, 05:58:28 pm
content: Quote from: FergusonRebecca on July 06, 2021, 04:04:24 pmI smell a sales pitch coming up...

author: tggzzz
author_rank: Super Contributor
timestamp: July 06, 2021, 07:44:45 pm
content: Quote from: nctnico on July 06, 2021, 05:58:28 pmWell, I'm sure this is just a coincidence...HannahSmith Date Registered: Today at 04:54:45 amFergusonRebecca Date Registered: Today at 05:02:29 am