Author Topic: What is the best way to hire an embedded hardware/software consultant?  (Read 421 times)

0 Members and 1 Guest are viewing this topic.

Offline PDP-1Topic starter

  • Contributor
  • Posts: 28
  • Country: us
  • Spacewar!
I've been working on a project based around the STM32H745 micro on a custom PCB for the last year or so, pretty much as a solo developer. The hardware prototype is pretty much done, the software is maybe 30% done and I can sketch out a roadmap for the rest. Unfortunately I am not going to be able to complete this project as I have just gotten a different job in another country. I have very much liked working for my current employer (a research group at our local university) and I want to help them find and hire a consultant to finish the code.

I've never had to look for an embedded software consultant before, maybe some of you have done so or are consultants yourselves and can comment on a few questions:

1) Where do you go to find people/companies who can do this type of work? I suppose posting in the jobs sub-forum here would be one way to start, are there any other online communities that we should try to advertise in?

2) What would such a consultant expect from my group to get started? I'd guess they would need a copy of the prototype hardware with schematics, the code base as far as it has been written today, and a write-up of what we would like it to do when complete. Am I missing anything that would help them out?

3) The project consists of making the micro read from an external ADC input, do some light signal processing, and then write to an external DAC output, while responding to commands issued over Ethernet. Ideally we would like to be able to push firmware updates over Ethernet too. Where does something like that fall on the easy-to-hard scale for an average consultant?

4) Are there any other considerations that I am missing? I have to leave for the new job in a few weeks and will likely not meet with whatever consultant ends up with the job, so I want to make sure I leave them with as good of a package as possible to get started with.
 

Online mikeselectricstuff

  • Super Contributor
  • ***
  • Posts: 13871
  • Country: gb
    • Mike's Electric Stuff
Re: What is the best way to hire an embedded hardware/software consultant?
« Reply #1 on: August 14, 2024, 07:02:53 pm »
Some manufacturers ( e.g. Microchip) have registered consultant programs ( Think MCT call them "Design Partners") these days, and their website provides some info on specialisms etc.
https://www.microchip.com/en-us/support/design-help/design-partner-ecosystem/design-partner-program

These can be useful even if you're not using that company's parts
Youtube channel:Taking wierd stuff apart. Very apart.
Mike's Electric Stuff: High voltage, vintage electronics etc.
Day Job: Mostly LEDs
 

Offline radiolistener

  • Super Contributor
  • ***
  • Posts: 3718
  • Country: ua
Re: What is the best way to hire an embedded hardware/software consultant?
« Reply #2 on: August 14, 2024, 07:37:07 pm »
the software is maybe 30% done

this is pretty disputed value when original developer is unable to finish it and it needs to be finished by other developer, because this value may appears to actual 0% in some cases. So, there is possible some kind of risk like when original developer get money for some time of development, but unable to get some result due to not enough experience and looking for another developer who can write project from scratch for the rest of project budget. And it may appears that hardware is not properly developed and needs to be redesigned at the same budget. At least I would be wary of such a combination of circumstances.

So if your project really has some progress, I would suggest to add some info that can help to make sure that existing code is properly written and this is not a kind of project when a new developer will need to get obligations to write all things from scratch for 30% less price than average price on the market.

This will help to avoid scaring off candidates with strange circumstances of the current state of the project.
« Last Edit: August 14, 2024, 07:43:52 pm by radiolistener »
 

Offline westfw

  • Super Contributor
  • ***
  • Posts: 4251
  • Country: us
Quote
while responding to commands issued over Ethernet.
That is SOOO "open-ended" and could range from "read these raw ethernet packets that we already have an app to send" to "implement a secure web server with forms for us to put the data in, using latest draft spec from RFCmumble for data formatting and fast transfer update. With IPv6 multicast."


I hope there is a better spec!


Quote
(a research group at our local university)
Wouldn't they normally look for a grad student or Senior in a related department, search of a project/thesis?  Cheap labor!  (were YOU that student?)
That puts the hiring issues into perspective, too - do they want someone from their research area who "understands the problem", or do they want a coder wiz-kid who drip STM32H code out their fingers at a furious rate?


The best consultants would probably do a good job of explaining what's wrong with your current code and spec, and come up with at least two paths - one reusing as much of the existing code as possible, and the other starting from near scratch.


Would there be additional projects or a full-time job possibility if things go well?  Some consultants are looking for stability, others for variety.


Make sure the consultant is budgeted to teach their follow-on how it works, or to provide really good documentation.

 

Offline ebastler

  • Super Contributor
  • ***
  • Posts: 6791
  • Country: de
I don't know about the "best way" to find a consultant, but this certainly does not look like the "best time" in the project to do so...

It seems to me that there is a high likelihood that the new guy will end up starting over -- certainly on the software side, maybe on the hardware too. Given that you have worked on this on your own, is there good technical documentation, so someone new to the project can grasp what was designed and why? Especially given the fact that there will be no personal hand-over between you and the new consultant.

I would suggest that you let the university group find a new person to take over (or start over). That way it will be their responsibility to find a person who is capable and who they like to work with -- so they won't blame you for leaving them with an unfinished project and setting them up with the wrong guy...
 

Offline Ice-Tea

  • Super Contributor
  • ***
  • Posts: 3098
  • Country: be
    • Freelance Hardware Engineer
Well, firstly I'd look for someone who calls himself a freelancer rather than a  consultant.

At least in my perception, a freelancer is there to help with the workload. A consultant is there to tell you how you should do things.  8)

And in my experience, best way to is to draw from your own pool of people you know...

Online AndyC_772

  • Super Contributor
  • ***
  • Posts: 4263
  • Country: gb
  • Professional design engineer
    • Cawte Engineering | Reliable Electronics
Self employed engineer here, and this is the sort of project I'd normally be happy to work on - though I'm afraid I'm too busy right now to take on any new customers, sorry.

Job title? I've called myself a consultant, freelancer, nerd for hire, man-with-a-scope, whatever. It makes zero difference.

There are basically two kinds of people who do this kind of work:

- people who can't get a job working for someone else, and
- people who don't need a job working for someone else.

If you're on a tight budget, then go for the former. You may or may not get a usable result, but at least they should be cheap. There are plenty of 'find a freelancer' sites where you should be able to find one, but IMHO they're a race to the bottom in terms of price and quality.

If you care about the quality of the end result, you need the latter, plus a realistic budget and time scale. Good people are usually booked up some time ahead, and they do of course charge an hourly rate commensurate with their skill, experience and available resources.

Given the project as you've described it, I'd expect a good consultant to rewrite the software, but use what already exists to guide parts of the implementation. For example, I already have a code template that I always use for this type of project (initialisation, hardware drivers, main loop, command parsing, common library functions etc). If I were doing the job, it would be best for both of us if my software adhered to this template, but the application specific parts (eg. the actual signal processing) might be copied & pasted from the existing code.

How to find someone capable? Ask around, word of mouth is how I get most of my referrals.

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 27486
  • Country: nl
    • NCT Developments
The most important thing from the list is missing: is there somebody at the research group who can manage the project and determine whether the freelancer has delivered what was promised?

Also, with a good set of requirements you can get fixed price quotes for the projects which is good as budgets are typically not infinite. Letting people develop something with a blank cheque is never a good idea.
« Last Edit: Yesterday at 10:39:44 pm by nctnico »
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf