Author Topic: Would you hire a self taught embedded software developer?  (Read 8493 times)

0 Members and 1 Guest are viewing this topic.

Offline embeddedguy85

  • Contributor
  • Posts: 38
  • Country: us
Would you hire a self taught embedded software developer?
« on: October 21, 2017, 03:56:11 am »
For anyone who has ever done hiring before, would you ever hire a self taught embedded software dev?

What would you look for in them? How many projects would it take and what type of projects would it take for you to know this
person is skilled?

 

Offline dmills

  • Super Contributor
  • ***
  • Posts: 1201
Re: Would you hire a self taught embedded software developer?
« Reply #1 on: October 21, 2017, 05:05:43 am »
I was hired this way, well the job was punitively analogue and mixed signal with some DSP, but somehow it actually seems to involve a **lot** of C and assembler, mostly not on DSPs.

Getting past the HR filter is easier at smaller companies which are generally less prone to let the HR folks wag the hiring manager dog.

I would be looking for real projects, involving other people and specifications from a third party that keep changing (This is a very different sort of thing then doing something to a spec you are basically making up on the fly).
Also exposure to things like version control systems and on the technical side I would be certainly asking searching questions about things like what volatile and static mean in C and what does memory fragmentation mean.

But really the way to get hired in this situation is to exhibit significant task domain knowledge (In my case it was live broadcast audio and DSP that sold it). Embedded programmer is a 'meh' thing, embedded programmer who understands exactly what the product should do and who can make sane contributions to the hardware design and specification is actually far more valuable.

My favourite interview questions is "What is your favourite thing that you have you built?", then start digging, the good people will talk about the design, problems and trade offs (And what they would do differently). Show me that you are an Engineer and not a failed MBA or marketing type...

Regards, Dan.
 

Offline AndyC_772

  • Super Contributor
  • ***
  • Posts: 3172
  • Country: gb
  • Will design for cookies
Re: Would you hire a self taught embedded software developer?
« Reply #2 on: October 21, 2017, 05:14:15 am »
My favourite interview questions is "What is your favourite thing that you have you built?", then start digging, the good people will talk about the design, problems and trade offs (And what they would do differently). Show me that you are an Engineer and not a failed MBA or marketing type...

The favourite thing I've built is a fairly easy choice to make.

Unfortunately, like pretty much everything non-trivial I've ever designed, the internal workings are proprietary and confidential. I simply wouldn't be able to talk about them in any detail.

An interviewer would either (a) completely recognise, understand and respect that fact, and move on, or (b) miss the point, and assume I'm being vague and difficult because of a skills shortage on my part.

Fortunately, the likely outcome is probably the more desirable in both cases.

It's actually quite a good reason to do a project of your own. It gives you something you can actually talk about in as much detail as you want to.

[upd]: One similar question I've used on recent engineering graduates, is simply, "tell me about the project you've done that you'd most like to talk about". For good candidates, it gives an opportunity for them to talk enthusiastically about almost anything, and gives them their best opportunity to shine. It also stumps poor candidates who don't really have any projects to draw on.
« Last Edit: October 21, 2017, 05:17:42 am by AndyC_772 »
 
The following users thanked this post: Richard Crowley

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 6980
  • Country: gb
    • Having fun doing more, with less
Re: Would you hire a self taught embedded software developer?
« Reply #3 on: October 21, 2017, 06:58:02 am »
One similar question I've used on recent engineering graduates, is simply, "tell me about the project you've done that you'd most like to talk about". For good candidates, it gives an opportunity for them to talk enthusiastically about almost anything, and gives them their best opportunity to shine. It also stumps poor candidates who don't really have any projects to draw on.

That's always a good starter, for the reasons you have given.

However, there are also "theoretical" topics that I would require an engineer to know, whether they are self-taught or otherwise. I would ask questions to determine to what extent a candidate had understood them and how they had dealt with them. Examples: the byzantine generals problem, effects of L1/L2/L3 caches on performance and correctness, different ways of structuring a design and then implementing it, uses problems and solutions of FSMs, whether threads can be implemented as a C library, etc.

A formally educated engineer ought to have a better chance of providing decent answers, but regrettably it is only a chance. The candidate in front of you is what is important, not the statistics.
There are lies, damned lies, statistics - and ADC/DAC specs.
Gliding 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
 
The following users thanked this post: cdev

Offline bd139

  • Super Contributor
  • ***
  • Posts: 5155
  • Country: gb
Re: Would you hire a self taught embedded software developer?
« Reply #4 on: October 21, 2017, 07:08:00 am »
In the commercial software sector we get more luck out of self taught / autodidacts or people who did unusual degrees for software engineers.

They give you the tools to learn at a university. Some people are born with them in their hands.

You want someone who enjoys it as well. Some people really don’t and will naively turn out turd after turd.
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 14412
  • Country: nl
    • NCT Developments
Re: Would you hire a self taught embedded software developer?
« Reply #5 on: October 21, 2017, 08:17:41 am »
In my experience the people who are good at programming AND have a degree are better than the self-taught ones. This difference surfaces with larger projects and/or projects needing some (basic) math. Taking on big projects in a structured manner and math are the typical things taught at a school.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline dr.diesel

  • Super Contributor
  • ***
  • Posts: 2060
  • Country: us
  • Cramming the magic smoke back in...
Re: Would you hire a self taught embedded software developer?
« Reply #6 on: October 21, 2017, 08:26:31 am »
I'm assuming your question is/means, without a degree, which has been asked here many many times.

One gotcha, big corporations usually have hiring requirements, ALL of the big companies I've worked for have.  Without a 4-year degree for a developer your resume would never make it to my desk, even with 10000000000000000000000000billion years of experience, doesn't matter, NO exceptions.  Might not be right, but it's the way it is for many places.

On multiple occasions I've even tried promoting people with decades of proven ability, no go.   :palm:

Small companies, start-ups, YMMV.

Offline mikeselectricstuff

  • Super Contributor
  • ***
  • Posts: 11050
  • Country: gb
    • Mike's Electric Stuff
Re: Would you hire a self taught embedded software developer?
« Reply #7 on: October 21, 2017, 09:01:35 am »
Probably more likely to succeed with smaller outfits where ability to get the job done is top priority, over things like "House style" and working on big teams.
However things move so quickly that someone who got a degree 10 tears ago could be pretty out of date.
Being self-taught does show interest and enthusiasm, which can be very valuable.
Youtube channel:Taking wierd stuff apart. Very apart.
Mike's Electric Stuff: High voltage, vintage electronics etc.
Day Job: Mostly LEDs
 
The following users thanked this post: cdev

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 6980
  • Country: gb
    • Having fun doing more, with less
Re: Would you hire a self taught embedded software developer?
« Reply #8 on: October 21, 2017, 09:25:29 am »
In my experience the people who are good at programming AND have a degree are better than the self-taught ones. This difference surfaces with larger projects and/or projects needing some (basic) math. Taking on big projects in a structured manner and math are the typical things taught at a school.

Yes, that's a sound starting point. But there are exceptions.

There's a standard long-standing tension between doctors and nurses. Doctors need nurses to do the things that doctors are usually bad at doing, e.g. inserting a needle. Nurses need doctors to do the things they don't understand, e.g. deciding between various possible treatment regimes. The problems arise when either side don't recognise their own limitations and the  strengths of the other side. To give a patient optimal treatment, we need both doctors and nurses; neither is better, they are complementary.
There are lies, damned lies, statistics - and ADC/DAC specs.
Gliding 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
 
The following users thanked this post: Richard Crowley

Offline frog

  • Contributor
  • Posts: 42
  • Country: nz
Re: Would you hire a self taught embedded software developer?
« Reply #9 on: October 21, 2017, 10:39:02 am »
Well I did my degree a long time ago, when embedded wasn't a thing because nobody could stray far from the bare metal.  However, there are a few things that you need to know to be really good at embedded: don't to anything at runtime that you could have done at compile time, don't make your CPU perform any instructions that aren't necessary to get the job done etc.  Things may be different now but back in the 80s anyone wanting to become good at embedded would have to find their own way.
 

Offline embeddedguy85

  • Contributor
  • Posts: 38
  • Country: us
Re: Would you hire a self taught embedded software developer?
« Reply #10 on: October 21, 2017, 11:06:27 am »
If there were a way to get a degree without going into massive debt, I would do it. But I dont see that being possible.

Here's another line of thinking. What if I could get a job at a smaller company.... would a larger company care that I dont have a degree even though I have the experience from the small company?
« Last Edit: October 21, 2017, 11:09:05 am by embeddedguy85 »
 

Offline cdev

  • Super Contributor
  • ***
  • Posts: 3284
  • Country: 00
  • I love science, stars, nature and electronics.
Re: Would you hire a self taught embedded software developer?
« Reply #11 on: October 21, 2017, 11:10:32 am »
If you could get a job soon, you might have a several year window to become established and invaluable.

Have you thought about pursuing college in Germany?
« Last Edit: October 21, 2017, 12:00:40 pm by cdev »
"What the large print giveth, the small print taketh away."
 

Online blueskull

  • Supporter
  • ****
  • Posts: 9594
  • Country: cn
  • Power Electronics Guy
Re: Would you hire a self taught embedded software developer?
« Reply #12 on: October 21, 2017, 11:18:50 am »
If there were a way to get a degree without going into massive debt, I would do it. But I dont see that being possible.

Consider studying abroad? Chinese tuition for state owned tier 1 (best) universities is ~4800 CNY (~730 USD) per year, plus you need another $200~$500/mo for living allowance.
You need to compete Asians on math to get into one, though.

Here's another line of thinking. What if I could get a job at a smaller company.... would a larger company care that I dont have a degree even though I have the experience from the small company?

I would hire only people with a degree, but I don't care if it's computer engineering or EE. Basically, university education gives a platform, and that's more important then the textbook knowledge.
The best PHP/HTML/CSS programmer I know of studies philosophy and social science, and the best Java programmer I know of studies math.
SIGSEGV is inevitable if you try to talk more than you know. If I say gibberish, keep in mind that my license plate is SIGSEGV.
 
The following users thanked this post: cdev

Offline embeddedguy85

  • Contributor
  • Posts: 38
  • Country: us
Re: Would you hire a self taught embedded software developer?
« Reply #13 on: October 21, 2017, 11:50:53 am »
If there were a way to get a degree without going into massive debt, I would do it. But I dont see that being possible.

Consider studying abroad? Chinese tuition for state owned tier 1 (best) universities is ~4800 CNY (~730 USD) per year, plus you need another $200~$500/mo for living allowance.
You need to compete Asians on math to get into one, though.

Here's another line of thinking. What if I could get a job at a smaller company.... would a larger company care that I dont have a degree even though I have the experience from the small company?

I would hire only people with a degree, but I don't care if it's computer engineering or EE. Basically, university education gives a platform, and that's more important then the textbook knowledge.
The best PHP/HTML/CSS programmer I know of studies philosophy and social science, and the best Java programmer I know of studies math.

What do you mean by platform in this context?
 

Offline embeddedguy85

  • Contributor
  • Posts: 38
  • Country: us
Re: Would you hire a self taught embedded software developer?
« Reply #14 on: October 21, 2017, 11:58:40 am »
If you could get a job soon, you might have  several year window to become established and invaluable. Maybe they would sponsor you for college. But, do it soon. There is a lot of pressure from developing countries firms to open up service markets. With no opposition because people have no idea this is happening. And the quite influential firms and countries have successfully changed the framing around job loss and income loss (which are projected to be huge in countries like the US)  to instead be about "efficiency gains" from lowered wage costs, despite this analogy from the world of trade in goods, not really being applicable. Once inked, deals become impossibly costly to reverse in 3 years. They do nothing or almost nothing during that time so no public discussion has any chance to occur. And then the window shuts forever.

(See Ins ide US Trade for March 10, 2016)

Are you saying that people from other countries will come here to work? Because remote working is already a thing, right?
 

Offline cdev

  • Super Contributor
  • ***
  • Posts: 3284
  • Country: 00
  • I love science, stars, nature and electronics.
Re: Would you hire a self taught embedded software developer?
« Reply #15 on: October 21, 2017, 12:09:59 pm »
It doesnt matter where in the world they're from. Whoever has the best education, who can work for the least amount of money the longest. Legally.


Is there a cult of efficiency?  Google this: "efficiency gains" "trade in services"

Whomever can make them richest the fastest? Here is another term "efficient breach" (of contracts, and promises) 

Read Coase "The Problem of Social Cost".

Blueskull means that you're considered better if you have a degree. Only if you have a degree. They don't care that you don't have one because of -----whatever---

Thats your problem, not theirs. You just don't have one. Unless your skills are literally the best around, in your area, Then you'll be a hot property wherever you go. Otherwise to most hiring managers, you won't exist.

So, while you still are young, you have to work ten times as hard, now, to get one. Now, before the rush. Imagine what it will be like, when people have no work, unless they have some really difficult skill. You will need that degree just to get any job at all.

« Last Edit: October 21, 2017, 02:35:41 pm by cdev »
"What the large print giveth, the small print taketh away."
 

Online blueskull

  • Supporter
  • ****
  • Posts: 9594
  • Country: cn
  • Power Electronics Guy
Re: Would you hire a self taught embedded software developer?
« Reply #16 on: October 21, 2017, 01:59:04 pm »
What do you mean by platform in this context?

Calculus, university writing, understanding to social science such as politics and psychology, having a grasp on cutting edge technology and how leading edge academic research works (so you can use the outcome properly, even if you don't want to do academic).

The list goes on.

No matter how good a nurse is, a nurse is never a doctor. This might be discriminatory and politically incorrect, but that's how companies looking for a new people.

Literally, the planet is packed with 7 billion other people, and why should an HR pick you up while there are better educated people lining up in the queue?
« Last Edit: October 21, 2017, 03:25:24 pm by blueskull »
SIGSEGV is inevitable if you try to talk more than you know. If I say gibberish, keep in mind that my license plate is SIGSEGV.
 
The following users thanked this post: cdev

Offline cdev

  • Super Contributor
  • ***
  • Posts: 3284
  • Country: 00
  • I love science, stars, nature and electronics.
Re: Would you hire a self taught embedded software developer?
« Reply #17 on: October 21, 2017, 02:49:36 pm »
Go to Germany or China to get a degree.

Broaden your horizons while you can.

If there were a way to get a degree without going into massive debt, I would do it. But I dont see that being possible.
"What the large print giveth, the small print taketh away."
 

Online hendorog

  • Super Contributor
  • ***
  • Posts: 1135
  • Country: nz
Re: Would you hire a self taught embedded software developer?
« Reply #18 on: October 21, 2017, 07:38:31 pm »
Once you are old enough to have experience a degree is irrelevant.

If you are hiring people solely based on their degree and disregarding experienced and skilled people without a degree then you are doing it wrong. Simple as that.
 

Offline NANDBlog

  • Super Contributor
  • ***
  • Posts: 4021
  • Country: nl
Re: Would you hire a self taught embedded software developer?
« Reply #19 on: October 21, 2017, 08:02:27 pm »
I probably wouldn't hire someone without degree. For accountability. If he screws up something, which is taught at programming 101, I'm the one to blame. University is pretty much around 8000-10000 hours of educaton, impossible to self teach it. Maybe for something like Linux errand boy or code monkey.
Are you saying that people from other countries will come here to work?
That is how the USA operates since forever.

If there were a way to get a degree without going into massive debt, I would do it. But I dont see that being possible.
I had positive cash flow at university. Scholarship was paying me money, and tuition fee was 0, only for failed credits I had to pay a small fee.
 

Offline mikeselectricstuff

  • Super Contributor
  • ***
  • Posts: 11050
  • Country: gb
    • Mike's Electric Stuff
Re: Would you hire a self taught embedded software developer?
« Reply #20 on: October 21, 2017, 08:06:05 pm »
Go to Germany or China to get a degree.
possible.
I believe The Netherlands is also a popular destination for college courses, taught in English
Youtube channel:Taking wierd stuff apart. Very apart.
Mike's Electric Stuff: High voltage, vintage electronics etc.
Day Job: Mostly LEDs
 

Offline b_force

  • Frequent Contributor
  • **
  • Posts: 936
  • Country: 00
    • One World Concepts
Re: Would you hire a self taught embedded software developer?
« Reply #21 on: October 21, 2017, 08:10:23 pm »
In fact I would probably hire someone who is self taught much sooner than someone with some kind of degree. A degree really doesn't say anything and in my opinion it's also not important at all.
It's all about mentality and the will to grow and learn.
The fact that someone taught himself all these things already shows he is not afraid to get his hands dirty.

My personal experience is also that self taught people or mostly more open minded, can think better out of the box and sometimes are even much smarter theoretically and in practice.
« Last Edit: October 21, 2017, 08:12:13 pm by b_force »
"If you can't explain it simply (or at all), you don't understand it well enough." A. Einstein

http://www.oneworldconcepts.com/
 

Offline janoc

  • Super Contributor
  • ***
  • Posts: 2296
  • Country: fr
Re: Would you hire a self taught embedded software developer?
« Reply #22 on: October 21, 2017, 10:29:50 pm »
It depends.

The problem is usually not whether the guy can or can't do the job but getting the foot in the door past the HR filter in the first place.

E.g. I may have quite a bit of electronic design experience but I am very unlikely to ever get hired for it - my education is "wrong", I have degrees (including a PhD) in software. So my resume will most likely never get through the (mostly automated these days) filters at the HR level where they don't look at what you have done and can do (a typical 20-something HR "consultant" or "specialist" frankly has no ability to judge it anyway) but whether your CV matches their keyword list. (and, frankly, I don't have the skill level for many of those jobs neither, but that's beside the point)

So I concur with the others here - better chances at smaller shops that are unlikely to use these kind of hiring filters/services and where you have more chance to actually speak with someone who knows what they are talking about.

And don't underestimate the value of education - self-taught is great but there are plenty of things where you simply won't even realize that they could be an issue or that there is a better way to do it unless you are shown by someone else - or you are so exceedingly brilliant that you are able to rediscover many of the research results of past century or so all by yourself (but then what are you doing there instead of being in the research somewhere?). This is what the university is great for, even though most students (me included!) don't realize it at the time. The education is mostly an enormous time saver - instead of having to rediscover and learn the basics of a (unfamiliar to you) problem on the job you can often go straight to solving it.

Get a degree if you can - it solves both the HR problem and the "filling your toolbox"/"getting armed for the fight" issue.

« Last Edit: October 21, 2017, 10:34:18 pm by janoc »
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 14412
  • Country: nl
    • NCT Developments
Re: Would you hire a self taught embedded software developer?
« Reply #23 on: October 21, 2017, 10:53:35 pm »
It depends.

The problem is usually not whether the guy can or can't do the job but getting the foot in the door past the HR filter in the first place.
Well you could lie about it. I never had to show any paperwork to back up the education I claim to have on my resume.  >:D
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 
The following users thanked this post: b_force

Offline b_force

  • Frequent Contributor
  • **
  • Posts: 936
  • Country: 00
    • One World Concepts
Re: Would you hire a self taught embedded software developer?
« Reply #24 on: October 21, 2017, 11:18:19 pm »
It depends.

The problem is usually not whether the guy can or can't do the job but getting the foot in the door past the HR filter in the first place.
Well you could lie about it. I never had to show any paperwork to back up the education I claim to have on my resume.  >:D
Haha, lol, yes .

Or just be creative, say you studied software technology and electronics, if they ask about it, say that you've done many electronics minors.
I don't take any company serious at all if they still ask about your study if you have more than 5-10 years of experience.
Than they don't even really read and understand your resume.
"If you can't explain it simply (or at all), you don't understand it well enough." A. Einstein

http://www.oneworldconcepts.com/
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 6980
  • Country: gb
    • Having fun doing more, with less
Re: Would you hire a self taught embedded software developer?
« Reply #25 on: October 22, 2017, 12:38:52 am »
In fact I would probably hire someone who is self taught much sooner than someone with some kind of degree. A degree really doesn't say anything and in my opinion it's also not important at all.
It's all about mentality and the will to grow and learn.
The fact that someone taught himself all these things already shows he is not afraid to get his hands dirty.

My personal experience is also that self taught people or mostly more open minded, can think better out of the box and sometimes are even much smarter theoretically and in practice.

Old wisdom: "the race does not always go to the fastest horse, but that's the way to bet". In my experience many/most candidates do not have a decent theoretical grounding, and only the best, very rare, self-taught candidate does.

But who you would hire depends on the job to be done. If I needed needles inserted, wounds dressed etc, then I would hire a nurse. OTOH, if I needed to determine the cause of symptoms or which treatment to undergo, I would hire a doctor.

So, are your jobs dressing wounds or diagnosing/treating cancer?
« Last Edit: October 22, 2017, 12:41:10 am by tggzzz »
There are lies, damned lies, statistics - and ADC/DAC specs.
Gliding 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
 

Offline cdev

  • Super Contributor
  • ***
  • Posts: 3284
  • Country: 00
  • I love science, stars, nature and electronics.
Re: Would you hire a self taught embedded software developer?
« Reply #26 on: October 22, 2017, 03:08:19 am »
You should know, once you get to a certain point and can talk the talk, recruiters will try to find jobs for you. They even try to do that for me. (probably older than many of you.)

I run into recruiters a lot - of all places, on the bus or train. I have a big stack of their business cards that I am collecting.

You should also make a calendar of maker events to go to. And become known at all your local hackerspaces.

But janoc is right - if I was looking for a 'real job' in electronics (I'm not) it would be hopeless without a degree in this job market.

One thing which nobody has touched on is career inertia. Basically that means that if you want your career to go forward you have to always be moving forward. At this stage of your life that means either diving deeply into some project your heart is telling you you can literally blow peoples minds with, or pursuing academic goals. Maybe not "the next big thing" or even close (start with attainable goals) but something you feel proud to be associated with and tell others about. Or starting your own business, "even if you are not expecting to make any money off of it".  (Be realistic about the slim odds of success.)

Maybe building a website for your projects (putting your embedded devices online) would help you gel your ideas a bit.

There is a fun and still growing area, with a bright future, where you may be able to get your foot in the door, maybe you could specialize in building good, usable web UI's for embedded devices.


If you don't have some big project you can turn into a masterpiece, you should be getting a degree. If you don't have the first you really need the second.

When I think back to when I was your age, I was working in truly crap jobs and was feeling utterly miserable. I felt far older then than I do now, quite honestly.

But, I was meeting a lot of interesting people and learning how to use (partly by fixing) computers that I picked up on the street as junk. I learned some Unix and was connecting up to friends systems to get and send emails, which at that time were addressed using chains of exclamation points.

And I started hearing more and more about the Internet which was opening up to everybody. And an amazing social scene was occurring, where all sorts of ideas were exchanged. In many ways that was the most magical thing, because out of that cauldron so very many good ideas emerged. It was like the Renaissance.

That wouldn't happen in the America of today. But something else may happen (and its just as likely as not to be somewhere you're not) and you have to recognize it and get involved in it. There is no roadmap except your own intuition.

The world is a lot smaller than it must seem to you now. A lot smaller.
« Last Edit: October 22, 2017, 04:07:32 am by cdev »
"What the large print giveth, the small print taketh away."
 

Offline embeddedguy85

  • Contributor
  • Posts: 38
  • Country: us
Re: Would you hire a self taught embedded software developer?
« Reply #27 on: October 22, 2017, 04:24:19 am »

There is a fun and still growing area, with a bright future, where you may be able to get your foot in the door, maybe you could specialize in building good, usable web UI's for embedded devices.



I've thought about that but I hate this idea. Web app interfaces for embedded devices? Doesnt that make it vulnerable to attack? Seems like a bad direction to take things.
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 6980
  • Country: gb
    • Having fun doing more, with less
Re: Would you hire a self taught embedded software developer?
« Reply #28 on: October 22, 2017, 04:36:18 am »
I learned some Unix and was connecting up to friends systems to get and send emails, which at that time were addressed using chains of exclamation points.

Youngsters today can't believe what was involved in that "bang addressing", so-called since "!" was sometimes pronounced "bang".

The key point is that you (the author) specified the name of each and every mail-forwarding computer the email addressed passed through on the way to the destination. Get one wrong, or if a machine was down, and the email bounced back in your face. That lead to many "interesting" conversations such as "have you tried going via ucbvax; that's pretty well connected and might know about kremvax".

Sometimes the past wasn't so golden!
There are lies, damned lies, statistics - and ADC/DAC specs.
Gliding 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
 

Offline cdev

  • Super Contributor
  • ***
  • Posts: 3284
  • Country: 00
  • I love science, stars, nature and electronics.
Re: Would you hire a self taught embedded software developer?
« Reply #29 on: October 22, 2017, 05:14:05 am »
The "Bang path" it was called..

At various times I was connected via UCSF and also a number of local systems which were run by interesting, colorful people. 

I used a huge Telebit Trailblazer modem.. no other modem would do.  Anybody remember them?  While negotiating the link, they made a unique sound ... 

By the early 90s this era was ending as corporate ISPs came onto the scene..

But still, for a while, there was a small local ISP, "the Little Garden" - That ended around 1996.

At the beginning the speeds were very limited for many people.

Nobody believes me when I tell them this but for a long while, all of Wired magazine's net connectivity was through a single Zyxel modem.

Not like today.

But I had a really fast connection at work. Which was fun. Work was fun, imagine that.

Everything was new and changing very very quickly.



« Last Edit: October 22, 2017, 05:40:59 am by cdev »
"What the large print giveth, the small print taketh away."
 

Offline cdev

  • Super Contributor
  • ***
  • Posts: 3284
  • Country: 00
  • I love science, stars, nature and electronics.
Re: Would you hire a self taught embedded software developer?
« Reply #30 on: October 22, 2017, 05:17:53 am »
Cost.. switches and displays are expensive.. silicon and radio waves and web GUIs are cheap. And extendable/flexible.

 Just keep embedded HW on their own net without ANY connection to the wider internet.


There is a fun and still growing area, with a bright future, where you may be able to get your foot in the door, maybe you could specialize in building good, usable web UI's for embedded devices.



I've thought about that but I hate this idea. Web app interfaces for embedded devices? Doesnt that make it vulnerable to attack? Seems like a bad direction to take things.
« Last Edit: October 22, 2017, 05:37:38 am by cdev »
"What the large print giveth, the small print taketh away."
 

Offline bd139

  • Super Contributor
  • ***
  • Posts: 5155
  • Country: gb
Re: Would you hire a self taught embedded software developer?
« Reply #31 on: October 22, 2017, 05:25:39 am »
I learned some Unix and was connecting up to friends systems to get and send emails, which at that time were addressed using chains of exclamation points.

Youngsters today can't believe what was involved in that "bang addressing", so-called since "!" was sometimes pronounced "bang".

The key point is that you (the author) specified the name of each and every mail-forwarding computer the email addressed passed through on the way to the destination. Get one wrong, or if a machine was down, and the email bounced back in your face. That lead to many "interesting" conversations such as "have you tried going via ucbvax; that's pretty well connected and might know about kremvax".

Sometimes the past wasn't so golden!
Ugh I’d forgotten UUCP. Thanks for all the bad memories :)

It’s also take you a few days before you got the bounces because it was all dialups and they only dialled out off peak when I was working for cheap arses. I do miss usenet before it turned to shit :(

I regular get asked why I refuse to learn AngularJS. Because I’ve seen things you will never see!
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 6980
  • Country: gb
    • Having fun doing more, with less
Re: Would you hire a self taught embedded software developer?
« Reply #32 on: October 22, 2017, 05:37:51 am »
By the early 90s this era was ending as "real" ISPs came onto the scene..

And with them came eternal September and the green card spam.

Quote

But still, for a while, there was a small local ISP, "the Little Garden" Nobody believes me when I tell them this but for a long while, all of Wired magazine's net connectivity was through a single Zyxel modem. Not like today. But I had a really fast connection at work. Which was fun. Work was fun, imagine that. Everything was new and changing very very quickly.

I remember when there was a single web page where people could announce new pages, at cern.ch of course.

Then came altavista and yahoo, which were obviously un-scalable. Then google.edu appeared.
There are lies, damned lies, statistics - and ADC/DAC specs.
Gliding 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
 

Offline embeddedguy85

  • Contributor
  • Posts: 38
  • Country: us
Re: Would you hire a self taught embedded software developer?
« Reply #33 on: October 22, 2017, 05:47:01 am »
Cost.. switches and displays are expensive.. silicon and radio waves and web GUIs are cheap. And extendable/flexible.

 Just keep embedded HW on their own net without ANY connection to the wider internet.


There is a fun and still growing area, with a bright future, where you may be able to get your foot in the door, maybe you could specialize in building good, usable web UI's for embedded devices.



I've thought about that but I hate this idea. Web app interfaces for embedded devices? Doesnt that make it vulnerable to attack? Seems like a bad direction to take things.

How would you even do that? If its connected to the LAN and the LAN is connected to the WAN, it is connected to the internet.
 

Offline coppice

  • Super Contributor
  • ***
  • Posts: 3392
  • Country: gb
Re: Would you hire a self taught embedded software developer?
« Reply #34 on: October 22, 2017, 06:38:18 am »
I used a huge Telebit Trailblazer modem.. no other modem would do.  Anybody remember them?  While negotiating the link, they made a unique sound ... 
They were quite a pioneering use of OFDM type techniques. I'm not clear why nothing else in the phone line modem world went in that direction, as they worked very well (ADSL doesn't count. That bypasses the telephone network, and just reuses the last mile pair with an OFDM type of signal).
 

Offline dmills

  • Super Contributor
  • ***
  • Posts: 1201
Re: Would you hire a self taught embedded software developer?
« Reply #35 on: October 22, 2017, 06:39:56 am »
How would you even do that? If its connected to the LAN and the LAN is connected to the WAN, it is connected to the internet.
There is nothing fundamental that says WAN has to equal internet....

Very common on broadcast sites where you sometimes have huge, many Gb/s realtime video multicast on one network complete with 40/100Gb ports, with IGMP and all that pain, then you have a control network at 100 or 1Gb/s, then you have the office lan which might have some very restricted access to the control lan but will usually have no connectivity to the video transport network at all (And there has been serious experimentation with distributing this stuff across multiple sites around the country).

Interestingly that whole world lives on IP v4 and there is no real pressure for v6.

Regards, Dan.
 

Offline coppice

  • Super Contributor
  • ***
  • Posts: 3392
  • Country: gb
Re: Would you hire a self taught embedded software developer?
« Reply #36 on: October 22, 2017, 06:49:18 am »
How would you even do that? If its connected to the LAN and the LAN is connected to the WAN, it is connected to the internet.
There is nothing fundamental that says WAN has to equal internet....

Very common on broadcast sites where you sometimes have huge, many Gb/s realtime video multicast on one network complete with 40/100Gb ports, with IGMP and all that pain, then you have a control network at 100 or 1Gb/s, then you have the office lan which might have some very restricted access to the control lan but will usually have no connectivity to the video transport network at all (And there has been serious experimentation with distributing this stuff across multiple sites around the country).

Interestingly that whole world lives on IP v4 and there is no real pressure for v6.

Regards, Dan.
That's a bit exotic, but most large multi-national companies have their own global networks, with just a couple of tightly locked down gateways to the public internet, allowing only e-mail and tightly controlled browser data though.
 

Offline cdev

  • Super Contributor
  • ***
  • Posts: 3284
  • Country: 00
  • I love science, stars, nature and electronics.
Re: Would you hire a self taught embedded software developer?
« Reply #37 on: October 22, 2017, 06:53:28 am »
Simply never connect it to the Internet or to anything that is.

If you need multiple subnets use routing by IP address + router. No DNS required.

"What the large print giveth, the small print taketh away."
 

Online hendorog

  • Super Contributor
  • ***
  • Posts: 1135
  • Country: nz
Re: Would you hire a self taught embedded software developer?
« Reply #38 on: October 22, 2017, 07:07:04 am »
How would you even do that? If its connected to the LAN and the LAN is connected to the WAN, it is connected to the internet.
There is nothing fundamental that says WAN has to equal internet....

Very common on broadcast sites where you sometimes have huge, many Gb/s realtime video multicast on one network complete with 40/100Gb ports, with IGMP and all that pain, then you have a control network at 100 or 1Gb/s, then you have the office lan which might have some very restricted access to the control lan but will usually have no connectivity to the video transport network at all (And there has been serious experimentation with distributing this stuff across multiple sites around the country).

Interestingly that whole world lives on IP v4 and there is no real pressure for v6.

Regards, Dan.
That's a bit exotic, but most large multi-national companies have their own global networks, with just a couple of tightly locked down gateways to the public internet, allowing only e-mail and tightly controlled browser data though.

Yep, not the smartest of ideas though and a heck of a lot more than email and browser data is allowed through. Firewall pinholes do require approval of course and get reviewed periodically. There will need to be more like half a dozen or more gateways to the internet as well - if you don't want the peasants to rise up - because latency ya know.

Makes for a fun time when some random other country gets infected with something and it spreads worldwide over the internal WAN. This silly idea of 'perimeter defence' is borken when the perimeter is so incredibly large.
 
In my experience, the closer you are to head office the more 'exceptions' to the rules there are, as they have never been forced to clean up their historical crap (too big to migrate blah blah). The remotest parts of the world are forced to discard the past and migrate to whatever the latest flavour of the month is, and so in doing so are kept up to date and relatively clean and tidy.


 

Offline janoc

  • Super Contributor
  • ***
  • Posts: 2296
  • Country: fr
Re: Would you hire a self taught embedded software developer?
« Reply #39 on: October 22, 2017, 10:24:09 pm »

There is a fun and still growing area, with a bright future, where you may be able to get your foot in the door, maybe you could specialize in building good, usable web UI's for embedded devices.



I've thought about that but I hate this idea. Web app interfaces for embedded devices? Doesnt that make it vulnerable to attack? Seems like a bad direction to take things.

Not any more or any less than having any other network interface on the instrument.

How many instruments have poorly implemented LXi interfaces or half-baked command interpreters where you can just telnet in without a password (or with a trivial, well known one that cannot be changed), accept firmware updates from bogus sources, etc. ?

Having an embedded web server on the device that serves you a control panel or something when you open it in the browser if not fundamentally more dangerous by itself. It just needs to be implemented properly and not exposed to the internet.
 

Offline cdev

  • Super Contributor
  • ***
  • Posts: 3284
  • Country: 00
  • I love science, stars, nature and electronics.
Re: Would you hire a self taught embedded software developer?
« Reply #40 on: October 22, 2017, 11:34:42 pm »
The cost constraints on many products and the sophisticated UIs and APIs which can be implemented in HTTP and HTTP-like protocols via web UIs and XML make it the obvious choice for hardware products which need extensibility combined with low cost. As I said before, the hardware which would be necessary to implement all that functionality without using a web UI is much more expensive. Why reinvent the wheel?

This is why the next big revolution in the workplace will be machines talking directly to other machines via text-based protocols- but usually without people in between them as is the case today.

Every ipv6 capable device has its own globally unique network address.. Think about that for a minute.

------

You know, there is a body of early research in what is called "ubiquitous computing" (much of it was doe at Xerox's Palo Alto Research Center or "PARC") that you might want to check out.

As it was a vision of a kind of high-productivity- high-functioning cooperative workspace which for some reason we still have not managed to ever replicate in corporate America, but which does often happen in pure science research/academia.

Since you lack exposure to academia, it would also be an opportunity for you to build up some of the knowledge acquisition skills you would otherwise get doing college level research and writing papers.

You might want to check out the Linux operating system because of it's wealth of tools for science. I can tell you that for large segments of the computing world, Linux and other Unixes are the default operating systems for many reasons. Stability is just one of them. Another is Unix's modular nature lends itself to scripting, connecting the (standardized) text-based output of one application to the input of another in chains.

If there is an exception (error), its also handled in a standardized way.

Linux is free so all you need is time and some hardware or disk space you can devote to the task. You likely already have a quite capable Linux box if you have a Raspberry Pi or similar SBC.

The recent RPIs actually are more powerful real computers than many high end boxes were back in the day.

There is really a lot of software available for them, including (for free!) Mathematica.

[Note: If you use an RPI as your Linux desktop, you should use a real hard drive.. and get in the habit of backing it up (or use software RAID for redundancy) because flash memory wears out eventually. Especially you should not compile large software packages on a flash card. That might toast it very quickly.]
« Last Edit: October 23, 2017, 12:16:22 am by cdev »
"What the large print giveth, the small print taketh away."
 

Offline cdev

  • Super Contributor
  • ***
  • Posts: 3284
  • Country: 00
  • I love science, stars, nature and electronics.
Re: Would you hire a self taught embedded software developer?
« Reply #41 on: October 22, 2017, 11:44:07 pm »
Just in very practical terms what that means is that exactly like cheap embedded computers are replacing very sophisticated electromechanical devices in all kinds of areas very rapidly, similarly cheap 'tablet computer" technologies (i.e. touchscreens affixed permanently to the device and APIs accessible via the device's internal network, or a non-routable IP based intranet of things.)  can replace almost any control panel for those very expensive devices relatively effortlessly, and in most cases do a far better job. (provide the optimal level of control granularity instead of being constrained by parts cost to only a few control modes.. or whatever)

Because of the economics of scale that brings the cost down substantially.

Designing those interfaces optimally is a difficult task, that's professionally challenging.
« Last Edit: October 22, 2017, 11:46:42 pm by cdev »
"What the large print giveth, the small print taketh away."
 

Offline cdev

  • Super Contributor
  • ***
  • Posts: 3284
  • Country: 00
  • I love science, stars, nature and electronics.
Re: Would you hire a self taught embedded software developer?
« Reply #42 on: October 22, 2017, 11:53:18 pm »
It's my understanding that some (Telebit Trailblazers, and similar) are still in use in places like Africa and South and Central Asia where old telephone hardware makes up the networking infrastructure, nothing works as well under degraded analog telephone conditions, over old copper telephone lines and through the old style switching systems.

They were quite a pioneering use of OFDM type techniques. I'm not clear why nothing else in the phone line modem world went in that direction, as they worked very well (ADSL doesn't count. That bypasses the telephone network, and just reuses the last mile pair with an OFDM type of signal).
"What the large print giveth, the small print taketh away."
 

Online rhb

  • Super Contributor
  • ***
  • Posts: 1335
  • Country: us
Re: Would you hire a self taught embedded software developer?
« Reply #43 on: October 23, 2017, 12:09:58 am »
I'm a failed PhD geophysics candidate with a BA in literature and an MS in geology.  My PhD supervisor made me slave labor admin for a MicroVAX II.  My sole formal education in computing is 1 credit hour of WATFIV taken during my undergraduate work.

All I know about computing came from reading books and talking to people.  If someone mentioned a book as being good I'd buy it and read it.  The computer section of my personal library consumes 80 ft of shelf space.  The opposite side is geosciences, DSP and general math.

Higher education has become a scam, so you are right to be wary.  Rather than get a degree, take calculus and physics on a relaxed course load where you have time to work ALL the problems, not just the assigned problems.  Don't take physics I until you've finished calculus I.

Get a copy of the C standard and read it.  Pay particular attention to where things are undefined or implementation dependent.  Make sure you  NEVER do those things. Learn forth.  Mecrisp is very good.

Get a copy of the "Art of Electronics" 3rd ed by Horowitz  & Hill and read it cover to cover twice.  If you find it heavy going get the previous edition of "Electronic Principles" by Malvino & Bates  The current edition is $200 which is ludicrous.  An older edition is fine.  H & H will get you up to date.  Build the circuits and test them.  Document it all in a notebook.  Build the interesting circuits dead bug style so that you have trinkets to show.

Get a copy of "Advanced Programming in the  Programming Environment" by Stevens & Rago and the "Unix Network Programming" by Stevens.  I've made a lot of money from the examples in those books.

Do a few fairly sophisticated projects, e.g. sub-centimeter differential GPS using uBlox modules and ESP32s.  Keep a log of your work either online, in a notebook or both.   Such a unit would be a very attractive gadget in the real estate sales market for locating property boundaries.

Locate some target employers.  Find out where the staff go after hours and start hanging out there when they do.  Freely mention whether you're in or out of school at the moment and what you're doing.  I dropped out twice before I finished my BA just out of boredom.  If you can hold up your end of a technical conversation with useful literature references you'll  eventually run across someone who recognizes your abilities.  If someone is chatting about a problem and you can point them to the answer, they will get very interested in you.  But don't EVER try to fake it.  Say what you know and what you don't know.

I met a friend when he appeared in my boss's office to fix her computer.  I had an arcane network protocol problem I was grappling with.  I asked him the question.  He said he didn't know, but that when it did A it did B.  I said well when it does B it has to do C.  In about 5 minutes we had answered my question.  He has no college degree.  He went through an electronics trade school course.  He's now a senior manager for AT&T consulting.

HTH

Have Fun!
Reg

 
The following users thanked this post: cdev, Richard Crowley

Offline embeddedguy85

  • Contributor
  • Posts: 38
  • Country: us
Re: Would you hire a self taught embedded software developer?
« Reply #44 on: October 23, 2017, 01:30:39 am »
I'm a failed PhD geophysics candidate with a BA in literature and an MS in geology.  My PhD supervisor made me slave labor admin for a MicroVAX II.  My sole formal education in computing is 1 credit hour of WATFIV taken during my undergraduate work.

All I know about computing came from reading books and talking to people.  If someone mentioned a book as being good I'd buy it and read it.  The computer section of my personal library consumes 80 ft of shelf space.  The opposite side is geosciences, DSP and general math.

Higher education has become a scam, so you are right to be wary.  Rather than get a degree, take calculus and physics on a relaxed course load where you have time to work ALL the problems, not just the assigned problems.  Don't take physics I until you've finished calculus I.

Get a copy of the C standard and read it.  Pay particular attention to where things are undefined or implementation dependent.  Make sure you  NEVER do those things. Learn forth.  Mecrisp is very good.

Get a copy of the "Art of Electronics" 3rd ed by Horowitz  & Hill and read it cover to cover twice.  If you find it heavy going get the previous edition of "Electronic Principles" by Malvino & Bates  The current edition is $200 which is ludicrous.  An older edition is fine.  H & H will get you up to date.  Build the circuits and test them.  Document it all in a notebook.  Build the interesting circuits dead bug style so that you have trinkets to show.

Get a copy of "Advanced Programming in the  Programming Environment" by Stevens & Rago and the "Unix Network Programming" by Stevens.  I've made a lot of money from the examples in those books.

Do a few fairly sophisticated projects, e.g. sub-centimeter differential GPS using uBlox modules and ESP32s.  Keep a log of your work either online, in a notebook or both.   Such a unit would be a very attractive gadget in the real estate sales market for locating property boundaries.

Locate some target employers.  Find out where the staff go after hours and start hanging out there when they do.  Freely mention whether you're in or out of school at the moment and what you're doing.  I dropped out twice before I finished my BA just out of boredom.  If you can hold up your end of a technical conversation with useful literature references you'll  eventually run across someone who recognizes your abilities.  If someone is chatting about a problem and you can point them to the answer, they will get very interested in you.  But don't EVER try to fake it.  Say what you know and what you don't know.

I met a friend when he appeared in my boss's office to fix her computer.  I had an arcane network protocol problem I was grappling with.  I asked him the question.  He said he didn't know, but that when it did A it did B.  I said well when it does B it has to do C.  In about 5 minutes we had answered my question.  He has no college degree.  He went through an electronics trade school course.  He's now a senior manager for AT&T consulting.

HTH

Have Fun!
Reg

Thank you, that is very encouraging.

My new concern is the demand free freelance engineers. What type of client hires a freelancer? In what situations?
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 6980
  • Country: gb
    • Having fun doing more, with less
Re: Would you hire a self taught embedded software developer?
« Reply #45 on: October 23, 2017, 01:45:15 am »
My new concern is the demand free freelance engineers. What type of client hires a freelancer? In what situations?

You should note that being a freelancer has many attributes in common with one-man businesses.

You might like to consider whether or not you know enough about business to become a freelancer, in particular how businesses advertise, select work, ensure that the business relationship doesn't become sour, and avoid litigation.

Not impossible, of course, but as least as difficult as the technical aspects of freelancing work.
There are lies, damned lies, statistics - and ADC/DAC specs.
Gliding 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
 

Offline embeddedguy85

  • Contributor
  • Posts: 38
  • Country: us
Re: Would you hire a self taught embedded software developer?
« Reply #46 on: October 23, 2017, 02:00:32 am »
My new concern is the demand free freelance engineers. What type of client hires a freelancer? In what situations?

You should note that being a freelancer has many attributes in common with one-man businesses.

You might like to consider whether or not you know enough about business to become a freelancer, in particular how businesses advertise, select work, ensure that the business relationship doesn't become sour, and avoid litigation.

Not impossible, of course, but as least as difficult as the technical aspects of freelancing work.

I do freelance marketing right now, so I am familiar with those topics. But I'm trying to see which situations a business would hire a freelancer vs hiring a fulltime employee. Some have said that they do this if a project is behind schedule or their full time staff doesnt want to do it - this is not something I would want. How often are freelancers used for fresh projects?
 

Offline cdev

  • Super Contributor
  • ***
  • Posts: 3284
  • Country: 00
  • I love science, stars, nature and electronics.
Re: Would you hire a self taught embedded software developer?
« Reply #47 on: October 23, 2017, 02:08:52 am »
Companies hire freelancers to do things their regular staff don't have the skills to do.

When I was freelancing I was hired by word of mouth. I had long term business relationships with people in a number of organizations and companies and they kept me busy.

This is the kind of project I did: My goal believe it or not was one where you actually try to automate yourself out of a job. Do a project so well and with so much attention to how it is going to be used that it almost runs itself.

Make good choices at the outset on platform and document the things you do well.

Paradoxically, that is how to get lots of work!
« Last Edit: October 23, 2017, 02:12:39 am by cdev »
"What the large print giveth, the small print taketh away."
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 6980
  • Country: gb
    • Having fun doing more, with less
Re: Would you hire a self taught embedded software developer?
« Reply #48 on: October 23, 2017, 02:12:10 am »
My new concern is the demand free freelance engineers. What type of client hires a freelancer? In what situations?

You should note that being a freelancer has many attributes in common with one-man businesses.

You might like to consider whether or not you know enough about business to become a freelancer, in particular how businesses advertise, select work, ensure that the business relationship doesn't become sour, and avoid litigation.

Not impossible, of course, but as least as difficult as the technical aspects of freelancing work.

I do freelance marketing right now, so I am familiar with those topics. But I'm trying to see which situations a business would hire a freelancer vs hiring a fulltime employee. Some have said that they do this if a project is behind schedule or their full time staff doesnt want to do it - this is not something I would want. How often are freelancers used for fresh projects?

Given that marketing is all about understanding what the market wants, I can't quite reconcile all your statements.

Anyway, a business takes on a freelancer for their specialist experience not possessed in house (optionally transferring that knowledge to employees), or because the specialist experience is not required for long, or because they need another body for a short period, or because they want to skirt around some employment laws.

As to "how often", a correct but unhelpful answer is "16782 times". Answering questions is easy; finding the correct question to ask and answer is more difficult.
« Last Edit: October 23, 2017, 02:14:37 am by tggzzz »
There are lies, damned lies, statistics - and ADC/DAC specs.
Gliding 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
 

Offline embeddedguy85

  • Contributor
  • Posts: 38
  • Country: us
Re: Would you hire a self taught embedded software developer?
« Reply #49 on: October 23, 2017, 02:31:26 am »
Reconcile my statements? Its called market research! Asking those on the inside questions about the market.
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 14412
  • Country: nl
    • NCT Developments
Re: Would you hire a self taught embedded software developer?
« Reply #50 on: October 23, 2017, 03:10:47 am »
Given that marketing is all about understanding what the market wants, I can't quite reconcile all your statements.
No, marketing is making people believe they need your product!  8)
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Online rhb

  • Super Contributor
  • ***
  • Posts: 1335
  • Country: us
Re: Would you hire a self taught embedded software developer?
« Reply #51 on: October 23, 2017, 04:04:53 am »
BTW  I spent most of my career as a contractor.  Typically about 3 years each place except for the last which ran 8 years.  I did not look for work.  It found me.  At the start I worked through a one man job shop for about 4 years until I discovered my SEP funds had been embezzled.  I did get the money back, but it took a while.

I've been laid off twice.  The first time was my last regular employee job.  I bought a Sun 3/60 and taught myself Unix system admin and lex & yacc over the course of 5 months.  My first contract task was a perfect fit for lex & yacc.  The client had allotted 2 months for completion.  I finished in 2 weeks along with doing a lot of other stuff on the side.  I had worked 10-12 hours a day during the 5 months.  Pure luck, but it had an excellent payoff.  It established my personal brand.  At one point I had 2 regular employees working exclusively for me for a couple of months!

Throughout my career I spent a lot of personal time and money buying and reading books I thought might be useful in my work.  This gave the perception that I worked much longer hours than I did.  My hourly rate made up for only working 35-37 hours a week.  My Dad was a professional engineer, but I grew up in a restaurant because he got tired of engineering sales.  It was very valuable experience as it taught me good customer service skills.  If I finished a task close to quitting time, I went home, I did not run out the clock, nor did I bill my client for eating lunch as I've seen other contractors do all too often.

The 2nd time I bought $15k of computer gear and started developing some seismic processing software. I went to walk the dog during a test run and when I got back there was a message from a friend informing me that an old boss was looking for a "Reg type".  That gig lasted 6 years before the merger and 2 years after even though the person who hired me had moved to another assignment.  I put $100k of labor into that software and never made a dime from it.  But I learned a great deal.  I'd do it all over with no changes.

If you don't have a paying job, you should be doing real work on your nickel.  Stuff that is important to potential employers.  If you won't invest in yourself, why should anyone else?  Attitude makes all the difference in the world.
 

Offline embeddedguy85

  • Contributor
  • Posts: 38
  • Country: us
Re: Would you hire a self taught embedded software developer?
« Reply #52 on: October 23, 2017, 05:14:23 am »
Honestly I am depressed and at a crossroads with this. I am 33 and I've accomplished nothing.

I know I would like to do embedded work but it seems like as a freelancer I would be at such a big disadvantage to those who have years of experience and those who already have the contacts.

One option is to build something so good it gets attention.

Another is to look for someone to take me on as an apprentice and pay me a low salary. Right now I make $850 per month as a copywriter. Would love to trade it for something I enjoy.  Plus I could barter my web app expertise to help the transition.

Maybe I should do a proper post with that offer?
« Last Edit: October 23, 2017, 05:19:43 am by embeddedguy85 »
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 6980
  • Country: gb
    • Having fun doing more, with less
Re: Would you hire a self taught embedded software developer?
« Reply #53 on: October 23, 2017, 05:29:38 am »
Given that marketing is all about understanding what the market wants, I can't quite reconcile all your statements.
No, marketing is making people believe they need your product!  8)

That's selling.

Marketing tells the factory what the customers want/need.
Selling tells the customers what the factory can sell them, and why they want/need it.
There are lies, damned lies, statistics - and ADC/DAC specs.
Gliding 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
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 6980
  • Country: gb
    • Having fun doing more, with less
Re: Would you hire a self taught embedded software developer?
« Reply #54 on: October 23, 2017, 05:47:37 am »
Honestly I am depressed and at a crossroads with this. I am 33 and I've accomplished nothing.

We all have those feelings at various times! Famously it is said that "all political careers end in failure"; personally I think it applies to most people's careers. There's always more you could have achieved.

Quote
I know I would like to do embedded work but it seems like as a freelancer I would be at such a big disadvantage to those who have years of experience and those who already have the contacts.

Another is to look for someone to take me on as an apprentice and pay me a low salary. Right now I make $850 per month as a copywriter. Would love to trade it for something I enjoy.  Plus I could barter my web app expertise to help the transition.

Maybe I should do a proper post with that offer?

People hire freelancers because the freelancers have experience they don't have. They don't hire freelances so the freelancers "can learn on their dime". Alternatively people hire temporary staff for peak workloads, and give them stuff that can be done with little training.

As a student or freelancer or as an employee you have to be developing your skills so that you can demonstrate to the next employer that you like the subject and will solve their problems. That implies that on your own time you should be picking subjects, learning them, picking suitable tasks, implementing the tasks using what you learned, and being able to state what worked and how/why you would do it better next time.

Note that doesn't depend on the technical topic; it is true for anything. The task doesn't have to result in anything saleable, except that the experiences/knowledge should be saleable.

Be aware that there is rampant ageism in some parts of the industry, a true downer for us all. Circumvention requires either inside personal knowledge or specialist skills.
There are lies, damned lies, statistics - and ADC/DAC specs.
Gliding 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
 

Offline dmills

  • Super Contributor
  • ***
  • Posts: 1201
Re: Would you hire a self taught embedded software developer?
« Reply #55 on: October 23, 2017, 05:56:28 am »
Marketing tells the factory what the customers want/need.
Selling tells the customers what the factory can sell them, and why they want/need it.
A critical difference that all too many people involved in either activity do not understand!
Marketing being generally lumped in with publicity does not exactly help matters...

Our marketing people are generally considered useful by our engineering shop, they identify market needs for us without us having to deal with customers... The sales guys on the other hand are the sworn enemy, mostly because they do not understand that when we give a delivery date we generally don't pad by anything like as much as they think we do.

Regards, Dan.
 

Offline Richard Crowley

  • Super Contributor
  • ***
  • Posts: 3726
  • Country: us
  • KE7GKP
Re: Would you hire a self taught embedded software developer?
« Reply #56 on: October 23, 2017, 06:09:34 am »
Honestly I am depressed and at a crossroads with this. I am 33 and I've accomplished nothing.
It feels like you are putting the cart before the horse, trying to push a wet noodle.
How did you pick embedded software development without knowing whether you have the talent/temperament for programming? 

Do you have an Arduino (or similar dev board)?  Have you been programming it and constructing circuits, etc?  If you haven't been doing that already as a hobby, forcing yourself into such a technically-demanding "niche" seems almost like you are fixated on some "random" job.   You seem to be concerned about getting work when you don't even know if you like or can do the work.  I didn't see any mention that you had actually done any programming at any level, perhaps I missed it?

Quote
Right now I make $850 per month as a copywriter.
Writing what kind of "copy"?
What about technical writing? It would be rather "morphing" your career towards programming/design.  By giving you exposure to people who work in that arena.  Heaven knows we need more/better technical writers judging by the ridiculous things that are put out there as "documentation". 

You don't read Mandarin by any chance, do you?  Much (most?) of the stuff coming out of China is howling ridiculous.  You might even to get away with taking online translations of Chinese copy and morphing it into Proper English. That could be a marketable skill to Chinese businesses?
 
The following users thanked this post: cdev

Offline cdev

  • Super Contributor
  • ***
  • Posts: 3284
  • Country: 00
  • I love science, stars, nature and electronics.
Re: Would you hire a self taught embedded software developer?
« Reply #57 on: October 23, 2017, 06:15:02 am »
A embedded computer and the software to run its applications is the ultimate Swiss Army Knife of all history, really. There is very little you cannot do with one, somehow.

Often in some radically new, easier, cheaper way.

You'll be a natural in your field when you walk into a business and automatically start having ideas on how you would save them money with your custom embedded device(s).

Instinctively.

In many cases lots of money.

There is lots and lots of work out these doing just that. However, another level of profit is often to be had by (over-broad definition alert) bringing in sophisticated math in new ways.

Much of the low hanging fruit in web applications has already been taken. So the remaining problems often involve sophisticated math.
« Last Edit: October 23, 2017, 06:17:52 am by cdev »
"What the large print giveth, the small print taketh away."
 

Offline cdev

  • Super Contributor
  • ***
  • Posts: 3284
  • Country: 00
  • I love science, stars, nature and electronics.
Re: Would you hire a self taught embedded software developer?
« Reply #58 on: October 23, 2017, 06:30:06 am »
Reconcile my statements? Its called market research! Asking those on the inside questions about the market.


I cant speak for others but to me some of the things you've said strike me as inconsistent with your stated goal.

Richard Crowley used the phrase "putting the cart before the horse" - that says it perfectly.

You have to walk before you can run.  Thats why I suggested doing it for fun first. Then you have zero expectations for making money. You're just doing it for fun and for the satisfaction of doing something interesting. Just get involved in it, try to develop good habits (so you'll learn more) and don't waste your time and it all might just fall into place.

Stop thinking so much.

I think the gist of my advice to you is mostly don't quit your current job, (because you're not going to get a job in the field unless you're either really good or somehow connected to a business already (family member)

Keep learning, don't waste precious time.

Are you still living with parents? If you have a good relationship with your parents, thats good, that kind of situation will give you freedom to spend your time learning. The income you make can go into the bank.

You couldn't have found a more affordable and at the same time, potentially empowering and interesting hobby.


Richard Crowley's other suggestion - if you're bilingual in any language, especially Chinese (right now) thats a big plus.


« Last Edit: October 23, 2017, 06:35:37 am by cdev »
"What the large print giveth, the small print taketh away."
 

Offline timb

  • Super Contributor
  • ***
  • Posts: 2528
  • Country: us
  • Pretentiously Posting Polysyllabic Prose
    • timb.us
Would you hire a self taught embedded software developer?
« Reply #59 on: October 23, 2017, 11:45:35 am »
Honestly I am depressed and at a crossroads with this. I am 33 and I've accomplished nothing.

I know I would like to do embedded work but it seems like as a freelancer I would be at such a big disadvantage to those who have years of experience and those who already have the contacts.

For what it’s worth, I’m around the same age as you. Back when I was a kid, I really enjoyed electronics and computers, however computers ended up being a bigger lure for me. As a teenager the Internet revolution was unfolding before my eyes, so it seemed a better choice for my future.

I spent my late teens and most of 20’s tangled in the IT web. Don’t get me wrong, I was successful, but it got boring, repetitive and tedious. So I retired in 2010.

I had always kept up with electronics and embedded hardware/software, as a hobby, but now that I had more time on my hands I started taking it more seriously.

Before you know it I was doing reviews and writing articles and then a book deal fell in my lap! I started helping work on the firmware (plus some hardware and software demos) of a new IOT platform, which ultimately gave me tons of contacts and things just continued to grow.

In a few years I went from just a hobby to professional consultant. You can to.

1) Just be persistent. You should constantly be working on cool projects in your spare time. Help other people with their projects. You should always be doing something to showcase your knowledge. People will see that and find you out.

2) Don’t work on contingency. Don’t work for a percentage of future profits, stock options or whatever. It’s highly unlikely they’re the next Apple and you have to eat now, not in six months.

3) For new clients , demand a flat fee upfront (say, the first 12 hours) plus a fair hourly rate payable at each milestone. Also, don’t be afraid to ask for timely reimbursement of expenses; you shouldn’t have to come out of pocket for parts and such.

4) Never, ever turn over any completed PCBs, final firmware or source code until you’re paid. Once you do, you can forget ever seeing another dime from them, so don’t cave no matter how much they complain or pressure you.

At first you’ll get some challenging clients, but eventually you’re figure out how to weed the serious from the pie in the sky dreamers.

Follow these rules and you’ll have mad bread to break up.
« Last Edit: October 23, 2017, 11:38:23 pm by timb »
Any sufficiently advanced technology is indistinguishable from magic; e.g., Cheez Whiz, Hot Dogs and RF.
 
The following users thanked this post: embeddedguy85

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 6980
  • Country: gb
    • Having fun doing more, with less
Re: Would you hire a self taught embedded software developer?
« Reply #60 on: October 23, 2017, 07:40:51 pm »
timb makes sensible points.

I'll add a rule of thumb. If a client blows hot very quickly ("absolutely vital I have this done soonest") then they will probably blow cold very quickly.
There are lies, damned lies, statistics - and ADC/DAC specs.
Gliding 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
 
The following users thanked this post: Joeri_VH

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 14412
  • Country: nl
    • NCT Developments
Re: Would you hire a self taught embedded software developer?
« Reply #61 on: October 23, 2017, 08:09:12 pm »
2) Don’t work on contingency. Don’t work for a percentage of future profits, stock options or whatever. It’s highly unlikely they’re the next Apple and you have to eat now, not in six months.

3) For new clients , demand a flat fee upfront (say, the first 12 hours) plus a fair hourly rate payable at each milestone. Also, don’t be afraid to ask for timely reimbursement of expenses; you shouldn’t have to come out of pocket for parts and such.

4) Never, ever turn over any completed PCBs, final firmware or source code until you’re paid. Once you do, you can forget ever seeing another dime from them, so don’t cave no matter how much they complain or pressure you.
These are good points but I want to add another one:
- Try to work out how much time a project is going to take (*) and provide a customer with a solid number upfront. If that is impossible then split the project into a research part and an implementation part or work at one part at a time. All companies budgetize for product development so you can't say something costs $10000 and send a bill for $30000.

Working with a blank cheque is to be avoided unless you are an extra pair of hands in a bigger team.

Also if you take on a project and do this on your own then the copyright is yours. Customers tend to not know this.

(*) If you split a project into sub-projects (starting a new C project, setup microcontroller, test library, create I/O drivers, create logic, testing, installation) you can assign a number of hours or days to each activity and add that up. This gives me an awfully good estimate on the amount of time I need.
« Last Edit: October 23, 2017, 08:14:45 pm by nctnico »
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 6980
  • Country: gb
    • Having fun doing more, with less
Re: Would you hire a self taught embedded software developer?
« Reply #62 on: October 23, 2017, 08:50:17 pm »
- Try to work out how much time a project is going to take (*) and provide a customer with a solid number upfront. If that is impossible then split the project into a research part and an implementation part or work at one part at a time. All companies budgetize for product development so you can't say something costs $10000 and send a bill for $30000.

It is reasonable to provide an indication of cost, but if a freelancer is really in that position then they aren't "just" a freelancer, but are in a full-blown business relationship. At that point you need formal contracts stating what each party will/won't do and when.

Quote
Also if you take on a project and do this on your own then the copyright is yours. Customers tend to not know this.

IPR can be tricky with inexperienced clients. It is practical for you to define in the contract that "client can use it for their products". If the client doesn't want you also selling it to their competition, "we will not develop another X for a period of Y years", where X is tightly defined. If they object, point out that they are benefiting from the work you have previously done for other non-competing clients.

Do not restrict your ability to get work in the future. Local laws vary in this respect.

Quote
(*) If you split a project into sub-projects (starting a new C project, setup microcontroller, test library, create I/O drivers, create logic, testing, installation) you can assign a number of hours or days to each activity and add that up. This gives me an awfully good estimate on the amount of time I need.

If you don't have a track record of estimating, work out how long you think it will take, then either convert to the next higher time unit or multiply by 3 or 4. There are solid reasons for the latter, and it seems to work in practice.
There are lies, damned lies, statistics - and ADC/DAC specs.
Gliding 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
 

Offline cdev

  • Super Contributor
  • ***
  • Posts: 3284
  • Country: 00
  • I love science, stars, nature and electronics.
Re: Would you hire a self taught embedded software developer?
« Reply #63 on: October 24, 2017, 02:06:23 am »
Try to give a good estimate and if you don't know, try to overestimate not underestimate the cost. And then stick to it. Document the time you spend in a log, and make it as accurate as possible.

Make sure your project has clear "deliverables" and that the scope of work is well defined. Try to break the work up into three phases, each with a deliverable and their payment being required before moving to the next phase. Don't get way ahead of yourself as far as work on their project goes, make sure you get paid for the first part before moving to the next.

.....

If a customer bounces a check on you, demand cash as payment and/or thereafter don't treat their checks as payment until after they have cleared.
« Last Edit: October 24, 2017, 02:12:17 am by cdev »
"What the large print giveth, the small print taketh away."
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 6980
  • Country: gb
    • Having fun doing more, with less
Re: Would you hire a self taught embedded software developer?
« Reply #64 on: October 24, 2017, 02:16:24 am »
Try to give a good estimate and if you don't know, try to overestimate not underestimate the cost.

Risky. I'd never do that. In the past I've either insisted on an initial find-the-problems phase, and then quoted for the rest of the work, or I've quoted time+materials.

Quote
Make sure your project has clear "deliverables" and that the scope of work is well defined. Try to break the work up into three phases, each with a deliverable and their payment being required before moving to the next phase. Don't get way ahead of yourself as far as work on their project goes, make sure you get paid for the first part before moving to the next.

Also explicitly state what you require from the client, and when.
There are lies, damned lies, statistics - and ADC/DAC specs.
Gliding 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
 

Offline cdev

  • Super Contributor
  • ***
  • Posts: 3284
  • Country: 00
  • I love science, stars, nature and electronics.
Re: Would you hire a self taught embedded software developer?
« Reply #65 on: October 24, 2017, 03:09:00 am »
I should have qualified that the first phase should be to ascertain the size of the project, and that your quote depends on what the client submits to you then. And you should be paid for that time.

(in my case it was a web deliverable so I needed to know specifics about what they desired in terms of its functionality, and they needed to give me the content that needed to go into it.)

The first phase deliverable would typically be a mock up of what the web site would do, a storyboard.

The second phase would be a working model on my own laptop, the third phase would be a completely functioning site, but to see it one would need to login to my server.

The site would be transferred to their server upon payment of the third payment.

 (And the code would be well documented so that they could likely fix most things themselves if they were willing to spend a bit of time learning how to do it..)

Often clients don't know what they want and then you run into the problem of them wanting you to explain what functionality in your opinion it should have. That exchange of ideas should be semi-formal so that you can get paid for it.

The hard thing with some clients is getting money for that time early on that you are working on their problem.

Some clients will go around from one firm to another and basically suck them for ideas. With no intention of paying any of them.

To make your business profitable and to avoid endless wasting of time in expensive flaky client interactions its essential that you figure out a way to have that time be included in the first deliverable.

Don't give it away for free. 

Also, once you have started working on it, have a procedure for adding new content and functionality that's fairly formal or they may keep trying to add more features to "the" deliverable after a price has been agreed upon. I've only had one client hat really abused that but she was enough to make me realize how important defining the scope very formally is.

You want a procedure in place at the outset that will make them understand that "feature creep" will cost them more money because its more work.

They need to give you all their needs upfront or accept that later stuff will be moved- that additional functionality will go into its own version two set of deliverables with appropriate payments.

You should try to avoid projects where there are lots of red flags that they don't understand that.

If they want you to be "on retainer", so to speak. At their beck and call, make sure they pay you what you're worth for that time. All of your time if that is what they want. You should consider the fact that while you are on call for them you will need to turn down other work. Just assume you will be working very long hours and wont be able to accept new work until you know its finished and bill accordingly. Bill at least twice what you would make in a salaried job. Maybe three times as much.

Because the cost of health insurance and out of pocket costs as you get older is astronomical. (Probably over a million dollars per person over your lifetime already and only going to go up.) and you need to start saving money now for it.

Or, kiss ever getting married or having children goodbye. You wont be able to afford it. The same goes for owning a home or even a car.

"Crowd out" its called.

Try to give a good estimate and if you don't know, try to overestimate not underestimate the cost.

Risky. I'd never do that. In the past I've either insisted on an initial find-the-problems phase, and then quoted for the rest of the work, or I've quoted time+materials.

Quote
Make sure your project has clear "deliverables" and that the scope of work is well defined. Try to break the work up into three phases, each with a deliverable and their payment being required before moving to the next phase. Don't get way ahead of yourself as far as work on their project goes, make sure you get paid for the first part before moving to the next.

Also explicitly state what you require from the client, and when.
« Last Edit: October 24, 2017, 03:24:40 am by cdev »
"What the large print giveth, the small print taketh away."
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 6980
  • Country: gb
    • Having fun doing more, with less
Re: Would you hire a self taught embedded software developer?
« Reply #66 on: October 24, 2017, 03:32:54 am »
All of cdev's statements are sensible, but it is worth noting that his comments on healthcare are specific to one country and aren't true everywhere. That's another topic for another forum.
There are lies, damned lies, statistics - and ADC/DAC specs.
Gliding 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
 

Offline timb

  • Super Contributor
  • ***
  • Posts: 2528
  • Country: us
  • Pretentiously Posting Polysyllabic Prose
    • timb.us
Re: Would you hire a self taught embedded software developer?
« Reply #67 on: October 24, 2017, 09:44:26 am »
All of cdev's statements are sensible, but it is worth noting that his comments on healthcare are specific to one country and aren't true everywhere. That's another topic for another forum.

Yes, however it’s always good to put aside money as a buffer. I’ve always tried to keep 6 months worth of bills and expenses saved up as a financial “runway” in case I was fired, injured, whatever.

Now that I freelance, I keep a 12 month runway. (When you work for yourself, you’re not guaranteed a paycheck, I’ve gone months without a contract on occasion.)

So, make like a squirrel and stash a really large nut for the future.
Any sufficiently advanced technology is indistinguishable from magic; e.g., Cheez Whiz, Hot Dogs and RF.
 

Offline timb

  • Super Contributor
  • ***
  • Posts: 2528
  • Country: us
  • Pretentiously Posting Polysyllabic Prose
    • timb.us
Re: Would you hire a self taught embedded software developer?
« Reply #68 on: October 24, 2017, 09:49:11 am »
Oh, here’s another rule:

If the one man startup wanting to hire you is insisting you sign an NDA, walk away. Trust me, their idea isn’t unique and isn’t worth stealing. The NDA means they have an overinflated sense of themselves and their abilities.
Any sufficiently advanced technology is indistinguishable from magic; e.g., Cheez Whiz, Hot Dogs and RF.
 

Online blueskull

  • Supporter
  • ****
  • Posts: 9594
  • Country: cn
  • Power Electronics Guy
Re: Would you hire a self taught embedded software developer?
« Reply #69 on: October 24, 2017, 10:24:21 am »
Oh, here’s another rule:

If the one man startup wanting to hire you is insisting you sign an NDA, walk away. Trust me, their idea isn’t unique and isn’t worth stealing. The NDA means they have an overinflated sense of themselves and their abilities.

Maybe not. Sometimes it's just a "standard protocol".
I know a few guys that like the protocol thing more than the real deal, and I would say this is definitely not uncommon.
SIGSEGV is inevitable if you try to talk more than you know. If I say gibberish, keep in mind that my license plate is SIGSEGV.
 

Online rhb

  • Super Contributor
  • ***
  • Posts: 1335
  • Country: us
Re: Would you hire a self taught embedded software developer?
« Reply #70 on: October 24, 2017, 11:06:07 am »
Most of my professional work was as a contractor.  I kept 18 months expenses as cash on hand at a minimum and consider 3 years comfortable.

I generally agree with timb's comment.  But the real test is are you getting paid.  I worked with some contractors who had friends at the place they'd left who were not getting paid on time.  I was quite incredulous.  If you're not getting paid on time, it's not a job any more and time to walk.
 

Offline timb

  • Super Contributor
  • ***
  • Posts: 2528
  • Country: us
  • Pretentiously Posting Polysyllabic Prose
    • timb.us
Re: Would you hire a self taught embedded software developer?
« Reply #71 on: October 24, 2017, 08:08:52 pm »
Oh, here’s another rule:

If the one man startup wanting to hire you is insisting you sign an NDA, walk away. Trust me, their idea isn’t unique and isn’t worth stealing. The NDA means they have an overinflated sense of themselves and their abilities.

Maybe not. Sometimes it's just a "standard protocol".
I know a few guys that like the protocol thing more than the real deal, and I would say this is definitely not uncommon.

If it’s a large company hiring you, sure, an NDA may be part of the standard package all contractors sign. In that case, I wouldn’t worry too much about it. However, if it’s a one man band or other very small startup, I’ve found it to be a good warning indicator that you might want to decline the project. You can generally pick these guys out, as they won’t even give you a basic overview of the project before you sign an NDA. (They don’t want you to steal their brilliant idea that’s totally never been done before, honest.)

When you actually read the NDA, you’ll often find it’s some boilerplate NDA from LegalZoom and not even appropriately customized!

Basically, trust your inner voice to guide you. If something seems off about the job, pass on it. There’s a whole group of people out there that try to capitalize on the desperation of freelancers just starting out.

That’s another thing, don’t set your hourly rates too low. It attracts the absolute bottom of the barrel in terms of clients. You can’t make a living off $20/hr doing this type of work (in the US at least, for hardware+firmware design) and the clients you’ll get at that rate will be so abusive, picky and demanding that you’ll soon be frustrated and want to give up.
Any sufficiently advanced technology is indistinguishable from magic; e.g., Cheez Whiz, Hot Dogs and RF.
 

Offline AndyC_772

  • Super Contributor
  • ***
  • Posts: 3172
  • Country: gb
  • Will design for cookies
Re: Would you hire a self taught embedded software developer?
« Reply #72 on: October 24, 2017, 08:31:39 pm »
When you actually read the NDA, you’ll often find it’s some boilerplate NDA from LegalZoom and not even appropriately customized!

There's nothing stopping you having your own NDA, and politely declining to sign anyone else's. Your own NDA should be completely symmetrical, ie. neither party is permitted to disclose the IP belonging to the other.

Most important of all, is *never* sign any document which is presented to you as an NDA, but which actually includes a "transfer of IP" clause. Basically, "you must keep confidential anything we tell you, but we *own* anything you tell us".

I can virtually guarantee that people will try and get you to sign one of these at some point. The person you're dealing with may simply not have read their legal department's standard, ridiculously one-sided NDA-and-IP-grab document, or they may know perfectly well what's in it and are trying to get you to simply hand over your intellectual property.

Either way, the first answer is a polite but firm 'no'. If they persist, the second answer is 'goodbye'.

Quote
don’t set your hourly rates too low. It attracts the absolute bottom of the barrel in terms of clients. You can’t make a living off $20/hr doing this type of work (in the US at least, for hardware+firmware design) and the clients you’ll get at that rate will be so abusive, picky and demanding that you’ll soon be frustrated and want to give up.

They'll also keep insisting that you quote for every last detail, and even then, they'll push back and insist on a discount for not doing <insert trivial feature>. You'll spend as long preparing quotes and arguing over them as you spend on the actual job, and no client expects to have to explicitly pay for the time you spend on this.
 

Offline brucehoult

  • Frequent Contributor
  • **
  • Posts: 576
  • Country: nz
  • Currently at SiFive, previously Samsung R&D
Re: Would you hire a self taught embedded software developer?
« Reply #73 on: October 24, 2017, 11:36:46 pm »
Yes, however it’s always good to put aside money as a buffer. I’ve always tried to keep 6 months worth of bills and expenses saved up as a financial “runway” in case I was fired, injured, whatever.

Now that I freelance, I keep a 12 month runway. (When you work for yourself, you’re not guaranteed a paycheck, I’ve gone months without a contract on occasion.)

So, make like a squirrel and stash a really large nut for the future.

Not as easy as it sounds, especially when you're a freelancer.

Or maybe I'm just a terrible freelancer. I did it most of the 90s and about half of the 00s. The freedom is great. I hate wasting my life (especially sunny days) in a cubicle. Getting the work done successfully was never a problem. The problem was justifying quotes -- especially when mine was $10k while the client had a quote from a university student for $500 -- and sometimes getting payment afterwards (especially, for some reason, in 2000-2001).

I always managed to live, but there was nothing extra to put aside or invest.

Now, working for $MEGACOMPANY for the last 2.5 years I've already saved enough runway to live for three or four years. Soul-destroying office environment, and extremely unproductive compared to working at home, but it pays the bills.

 

Offline AndyC_772

  • Super Contributor
  • ***
  • Posts: 3172
  • Country: gb
  • Will design for cookies
Re: Would you hire a self taught embedded software developer?
« Reply #74 on: October 24, 2017, 11:39:32 pm »
and sometimes getting payment afterwards (especially, for some reason, in 2000-2001).

That's when the .COM bubble burst. Lots of tech companies, who thought they had loads of money, suddenly found they didn't.
 

Offline bd139

  • Super Contributor
  • ***
  • Posts: 5155
  • Country: gb
Re: Would you hire a self taught embedded software developer?
« Reply #75 on: October 24, 2017, 11:55:26 pm »
Yes. Getting paid is difficult if you're contract/freelance. The best thing to do is have strict terms and enforce them immediately. Even then you have some shit to deal with. It took me 7 months to get a month's worth of cash once and I had to take them to small claims court. And that was a UK government agency.

2000/2001 was hell. I dropped into permie stuff around then in an IT function in a non IT focused company to ride it out. By 2002 it was back to normal again and we were charging £100k for several shitty intranet pages and buying £5k bottles of champaign for the office completion parties while spinning around on our Herman Miller chairs  :-DD

Going to be honest, when I've done contract work and had to hand over stuff, it's always logic bombed now and this is written into the contract. If you don't pay up in 28 days then you will be charged a 40% extra fee for the authorisation code. If you pay up before the date, you get the code free. I actively enjoy it when they go "Fuck you! We're going to talk to our legal counsel" and then a cheque turns up a week later for the 40% :)
 

Offline timb

  • Super Contributor
  • ***
  • Posts: 2528
  • Country: us
  • Pretentiously Posting Polysyllabic Prose
    • timb.us
Re: Would you hire a self taught embedded software developer?
« Reply #76 on: October 25, 2017, 12:25:10 am »
Yes, however it’s always good to put aside money as a buffer. I’ve always tried to keep 6 months worth of bills and expenses saved up as a financial “runway” in case I was fired, injured, whatever.

Now that I freelance, I keep a 12 month runway. (When you work for yourself, you’re not guaranteed a paycheck, I’ve gone months without a contract on occasion.)

So, make like a squirrel and stash a really large nut for the future.
The problem was justifying quotes -- especially when mine was $10k while the client had a quote from a university student for $500

I’ve always handled this by telling them to go with the $500 and that I would be there if they needed me at a later date. The majority of the time I would get a call a month later when the lowball quote totally screwed up the project.
Any sufficiently advanced technology is indistinguishable from magic; e.g., Cheez Whiz, Hot Dogs and RF.
 

Online rhb

  • Super Contributor
  • ***
  • Posts: 1335
  • Country: us
Re: Would you hire a self taught embedded software developer?
« Reply #77 on: October 25, 2017, 12:28:51 am »
Reading the entire contract is essential.  I always marked mine up, sent a copy to my lawyer and then we discussed issues on the phone.

My last contract with an oil super major initially said it owned all my work.  I requested and got a provision that I owned the IP and they had a fully paid up non-exclusive worldwide license.  They had bought the company I'd worked for on contract for the last 6 years and wanted me to do a large scale version of some work I'd done.

My explanation for why was quite simple.  I'm tired of having to rewrite the same code for successive clients.

In my case, getting paid was never an issue.  When I moved from Dallas to Houston I didn't submit an invoice for 6 months.  I was too busy, didn't need the money and was certain I'd be paid.  Big oil pays on time except maybe for the first check if the manager fails to submit the proper paperwork for setting up payment in advance of the first invoice.

I've passed on several offers of work because I didn't feel comfortable with the company.

I was always on site "time and materials", so a different world from "build me a gadget".
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 6980
  • Country: gb
    • Having fun doing more, with less
Re: Would you hire a self taught embedded software developer?
« Reply #78 on: October 25, 2017, 01:35:21 am »
Yes. Getting paid is difficult if you're contract/freelance. The best thing to do is have strict terms and enforce them immediately. Even then you have some shit to deal with. It took me 7 months to get a month's worth of cash once and I had to take them to small claims court. And that was a UK government agency.

I know one contractor who sorted that problem by declaring one of the many GEC companies bankrupt. The money arrived by motorcycle courier.

I believe the preconditions were that more than a certain amount was not paid (?£10-15k?), and that the debt was uncontested. After that it was simple form-filling :)
There are lies, damned lies, statistics - and ADC/DAC specs.
Gliding 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
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 6980
  • Country: gb
    • Having fun doing more, with less
Re: Would you hire a self taught embedded software developer?
« Reply #79 on: October 25, 2017, 01:37:58 am »
I’ve always handled this by telling them to go with the $500 and that I would be there if they needed me at a later date. The majority of the time I would get a call a month later when the lowball quote totally screwed up the project.

When I was writing proposals and contracts for a contract r&D house, the director's usual response was "pay peanuts, get monkeys". I wasn't aware that it stopped any contracts being signed.
There are lies, damned lies, statistics - and ADC/DAC specs.
Gliding 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
 

Offline bd139

  • Super Contributor
  • ***
  • Posts: 5155
  • Country: gb
Re: Would you hire a self taught embedded software developer?
« Reply #80 on: October 25, 2017, 01:48:16 am »
Yes. Getting paid is difficult if you're contract/freelance. The best thing to do is have strict terms and enforce them immediately. Even then you have some shit to deal with. It took me 7 months to get a month's worth of cash once and I had to take them to small claims court. And that was a UK government agency.

I know one contractor who sorted that problem by declaring one of the many GEC companies bankrupt. The money arrived by motorcycle courier.

I believe the preconditions were that more than a certain amount was not paid (?£10-15k?), and that the debt was uncontested. After that it was simple form-filling :)

Hahaha will have to remember that one the next time someone doesn't pay up  :-DD
 

Offline brucehoult

  • Frequent Contributor
  • **
  • Posts: 576
  • Country: nz
  • Currently at SiFive, previously Samsung R&D
Re: Would you hire a self taught embedded software developer?
« Reply #81 on: October 25, 2017, 02:36:12 am »
Yes, however it’s always good to put aside money as a buffer. I’ve always tried to keep 6 months worth of bills and expenses saved up as a financial “runway” in case I was fired, injured, whatever.

Now that I freelance, I keep a 12 month runway. (When you work for yourself, you’re not guaranteed a paycheck, I’ve gone months without a contract on occasion.)

So, make like a squirrel and stash a really large nut for the future.
The problem was justifying quotes -- especially when mine was $10k while the client had a quote from a university student for $500

I’ve always handled this by telling them to go with the $500 and that I would be there if they needed me at a later date. The majority of the time I would get a call a month later when the lowball quote totally screwed up the project.

In one prominent example -- a MacOS app for overlaying dialog on video for actors to re-record their lines in the studio -- it was three years later and they'd ended up spending $20k with the $500 guy, and it still didn't work without crashing every couple of minutes.

The guy had actually written a shedload of code so I took a look at it. It turned out it only took me a week to eliminate all the crashes and make it stable, for the original $10k quote, so that was a good week's work. And then I got quite a fair bit more out of them for enhancements. Sadly some of the things they wanted were beyond the capability of a 400 MHz G4 PPC with a super expensive video card at the time (or Pentium 3 either). They'd be trivial on any PC -- or smartphone -- now.
 

Online blueskull

  • Supporter
  • ****
  • Posts: 9594
  • Country: cn
  • Power Electronics Guy
Re: Would you hire a self taught embedded software developer?
« Reply #82 on: October 25, 2017, 07:06:21 am »
Another thing for freelancing is how people treat you. At least in China, freelancers are not respected.
In China, we have a chain of despise. Basically, foreign company employees despise government employees, government employees despise state owned business employees, state owned employees despise big domestic company employees, big domestic company employees despise startup employees, startup employees despise freelancers, and freelancers despise individual online sellers, and individual online sellers despise farmers.
The interesting thing in China is that even if you make tons of money by freelancing, other people will still think you live on your BF/GF/parents because the traditional concept is that one should work for a real business, and all other non orthodox jobs are a waste of time.
SIGSEGV is inevitable if you try to talk more than you know. If I say gibberish, keep in mind that my license plate is SIGSEGV.
 

Offline bd139

  • Super Contributor
  • ***
  • Posts: 5155
  • Country: gb
Re: Would you hire a self taught embedded software developer?
« Reply #83 on: October 25, 2017, 08:46:50 am »
It’s like that here in the U.K. just nobody talks about it publicly.

I work from home a lot and did contract work for years.  I literally had someone, public sector, shouting at me saying that “You ain’t doing nothing you scum!” because I did the school run for two weeks and he thinks I don’t work. My parents think I’m a slacker. I tend not to buy status things so people think I’m poor and scrounging off the state.

Humans! Stupid animals!
 

Online Mr. Scram

  • Super Contributor
  • ***
  • Posts: 3939
  • Country: 00
  • Display aficionado
Re: Would you hire a self taught embedded software developer?
« Reply #84 on: October 25, 2017, 08:59:05 am »
It’s like that here in the U.K. just nobody talks about it publicly.

I work from home a lot and did contract work for years.  I literally had someone, public sector, shouting at me saying that “You ain’t doing nothing you scum!” because I did the school run for two weeks and he thinks I don’t work. My parents think I’m a slacker. I tend not to buy status things so people think I’m poor and scrounging off the state.

Humans! Stupid animals!
I would probably have laughed if someone were to say something like that, only to realize the real intent later. It would still be funny though, considering these people aren't even able to conceive of a situation other than having to work 9 to 5, every day in the week to pay for the mortgage. Some would consider that financial poverty, while it's intellectual poverty for sure.
 

Offline cdev

  • Super Contributor
  • ***
  • Posts: 3284
  • Country: 00
  • I love science, stars, nature and electronics.
Re: Would you hire a self taught embedded software developer?
« Reply #85 on: October 25, 2017, 11:00:45 am »
This is for a reason. TPTBs everywhere want to be able to channel good jobs to those they favor. And make deals involving them. Therefore, the merit based job ecosystem and the decent incomes people are able to make doing technical things, especially as subcontractors and contractors are under attack internationally via treaties on services and may not last that much longer. Negotiations have repeatedly fallen apart or they would have already. I cant talk about this any more.

Another thing for freelancing is how people treat you. At least in China, freelancers are not respected.
In China, we have a chain of despise. Basically, foreign company employees despise government employees, government employees despise state owned business employees, state owned employees despise big domestic company employees, big domestic company employees despise startup employees, startup employees despise freelancers, and freelancers despise individual online sellers, and individual online sellers despise farmers.
The interesting thing in China is that even if you make tons of money by freelancing, other people will still think you live on your BF/GF/parents because the traditional concept is that one should work for a real business, and all other non orthodox jobs are a waste of time.
"What the large print giveth, the small print taketh away."
 

Online rhb

  • Super Contributor
  • ***
  • Posts: 1335
  • Country: us
Re: Would you hire a self taught embedded software developer?
« Reply #86 on: October 26, 2017, 09:35:18 am »
Why do you care what other people think?

As a contract employee, I was the company rep to a number of industrial consortia run by Stanford, Mines, TAMU, UT Austin and others.   That involved very painful tasks such as staying in a luxury hotel in Palo Alto or the Stanley Hotel in Estes Park where "The Shining" was filmed.   I was quite amused when I ran into a classmate who was a manager at another oil company and had been quite unpleasant to me in grad school.  He was quite flabbergasted that the company had sent a contract employee.  Admittedly a very different world from being an embedded contractor.

I have often been dissed by someone in an organization I'm working for.  They only do it once.  My standard tactic is to quote chapter and verse until their boss's eyes glaze over.  I don't recall more than one person who tried that twice.  But as I told him, he's as useless as a pet rock.  So I quit answering his questions.  Being able to withhold favors is very powerful.

I always conducted myself as if I were a regular employee.  So many times people have expressed great surprise to learn I was a contractor.  But I was on site working normal hours, except they started when I got there and stopped when I left.  On my 2nd contract, I took the job and didn't have a chance to talk to my boss for a very long time.  He would wave to me on his way to and from meetings that lasted all day.  I eventually cornered him after a month or more and asked him what he wanted me to do.  "Just keep people from yelling at me." was his reply.
 

Offline R005T3r

  • Frequent Contributor
  • **
  • Posts: 363
  • Country: it
Re: Would you hire a self taught embedded software developer?
« Reply #87 on: December 03, 2017, 08:14:04 am »
For anyone who has ever done hiring before, would you ever hire a self taught embedded software dev?

What would you look for in them? How many projects would it take and what type of projects would it take for you to know this
person is skilled?

YES!
Because if he has self-taught himself something as complex as C or a similar language he has demonstrated enought for me. Of couse, he will be needing more in-depth studying due to the specific application, but  there are a lot of pepole out there that have a lot of talent in something they haven't discovered yet, it's perfectly normal.
Also, never underestimate someone who's working on what he likes!

Simple really, ask him how many projects he has done up to now, and judge by yourself.
« Last Edit: December 03, 2017, 08:16:13 am by R005T3r »
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 6980
  • Country: gb
    • Having fun doing more, with less
Re: Would you hire a self taught embedded software developer?
« Reply #88 on: December 03, 2017, 09:35:55 am »
For anyone who has ever done hiring before, would you ever hire a self taught embedded software dev?

What would you look for in them? How many projects would it take and what type of projects would it take for you to know this
person is skilled?

YES!
Because if he has self-taught himself something as complex as C or a similar language he has demonstrated enought for me. Of couse, he will be needing more in-depth studying due to the specific application, but  there are a lot of pepole out there that have a lot of talent in something they haven't discovered yet, it's perfectly normal.

And has he taught himself the about the Byzantine General's problem, and how it relates to any networked system e.g. an IoT system? Or how to determine whether or not scheduling constraints will be met? Or when two-phase protocols are necessary and/or sufficient? Etc etc etc.

There's much much more to successful design than merely learning a language!

Quote
Also, never underestimate someone who's working on what he likes!

Simple really, ask him how many projects he has done up to now, and judge by yourself.

Don't overestimate such people either; they can have subtly disastrous gaps in their knowledge. Enthusiasm is highly desirable, but is not sufficient.

Don't ask them "how many", do ask them "how", "why", "why didn't you", "what would you do better next time".
There are lies, damned lies, statistics - and ADC/DAC specs.
Gliding 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
 

Offline coppice

  • Super Contributor
  • ***
  • Posts: 3392
  • Country: gb
Re: Would you hire a self taught embedded software developer?
« Reply #89 on: December 03, 2017, 09:59:49 am »
Quote
Because if he has self-taught himself something as complex as C or a similar language he has demonstrated enought for me. Of couse, he will be needing more in-depth studying due to the specific application, but  there are a lot of pepole out there that have a lot of talent in something they haven't discovered yet, it's perfectly normal.
And has he taught himself the about the Byzantine General's problem, and how it relates to any networked system e.g. an IoT system?
That's a strange example to use, since anyone thinking about making robust systems, who Googles for things about network robustness and fault tolerance, can't help but to quickly learn about the Byzantine General's problem.
« Last Edit: December 03, 2017, 10:38:52 am by coppice »
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 6980
  • Country: gb
    • Having fun doing more, with less
Re: Would you hire a self taught embedded software developer?
« Reply #90 on: December 03, 2017, 10:20:46 am »
Unfortunately I didn't choose those examples by accident; I've witnessed all of them.

When found in people with an inferiority complex (i.e. with a chip on their shoulder), it can be a destructive waste of time.

It seems there are quite a few people that  choose only to consider how a system will work. Professional engineers think hard about how a system could fail. That makes engineers unpopular with salesmen and politicians, and some managers.
« Last Edit: December 03, 2017, 10:25:12 am by tggzzz »
There are lies, damned lies, statistics - and ADC/DAC specs.
Gliding 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
 
The following users thanked this post: cdev

Offline coppice

  • Super Contributor
  • ***
  • Posts: 3392
  • Country: gb
Re: Would you hire a self taught embedded software developer?
« Reply #91 on: December 03, 2017, 10:43:48 am »
It seems there are quite a few people that  choose only to consider how a system will work. Professional engineers think hard about how a system could fail. That makes engineers unpopular with salesmen and politicians, and some managers.
True. It worried me when I worked with people who do FMEA work for nuclear systems who had that attitude. :)
 

Offline cdev

  • Super Contributor
  • ***
  • Posts: 3284
  • Country: 00
  • I love science, stars, nature and electronics.
Re: Would you hire a self taught embedded software developer?
« Reply #92 on: December 03, 2017, 11:46:56 am »
OP, what kind of embedded software development have you done to date?
"What the large print giveth, the small print taketh away."
 

Online rhb

  • Super Contributor
  • ***
  • Posts: 1335
  • Country: us
Re: Would you hire a self taught embedded software developer?
« Reply #93 on: December 05, 2017, 02:53:19 am »
I'd never heard of the "Byzantine General's Problem", but after reading the wikipedia entry it's an obvious issue once you consider system reliability.  It's a variation on decidability.  As noted, there is a *lot* more to programming than learning a language.  In fact, the particulars of a language are *usually* trivial.  C++ is an exception as in the presence of enthusiastic use of multiple inheritance, understanding a single line of code can require reading the source for all the class libraries, the C++ standard and the compiler implementation notes.

A self taught programmer who has read the MIT algorithms book or Sedgwick, has a copy of Knuth and knows when to go look at it, comprehends assembly and register level concepts, can setup a table of function pointers and use it and can implement a reliable UDP data transfer that does not cripple the sender if the receiver is down, is not going to have any problems finding work if they look in the right places.  However, they will need to supply suitable credentials in the form of work already done.
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 6980
  • Country: gb
    • Having fun doing more, with less
Re: Would you hire a self taught embedded software developer?
« Reply #94 on: December 05, 2017, 03:52:06 am »
I'd never heard of the "Byzantine General's Problem", but after reading the wikipedia entry it's an obvious issue once you consider system reliability.  It's a variation on decidability. 

There are many other similar subtle effects with somewhat wacky names - and very important practical implications. One other is the "Split Brain Problem", which can be a real bitch when it occurs.

Then there's anything to do with time in a distributed system. Too many programmers presume they can break the laws of physics by assuming there can be a universal time within their system. Seeing if people have a clue about Lamport's work of 30 years ago can be very revealing.

Quote
As noted, there is a *lot* more to programming than learning a language.  In fact, the particulars of a language are *usually* trivial.  C++ is an exception as in the presence of enthusiastic use of multiple inheritance, understanding a single line of code can require reading the source for all the class libraries, the C++ standard and the compiler implementation notes.

I've added the emphasis, since that is a very important concept.

As for C++, if that is the answer then you've probably asked the wrong question. C++ is so damn complex that it is frequently part of the problem, not part of the solution.

Quote
A self taught programmer who has read the MIT algorithms book or Sedgwick, has a copy of Knuth and knows when to go look at it, comprehends assembly and register level concepts, can setup a table of function pointers and use it and can implement a reliable UDP data transfer that does not cripple the sender if the receiver is down, is not going to have any problems finding work if they look in the right places.  However, they will need to supply suitable credentials in the form of work already done.

... provided they can get past the HR-droids.

I like your extra condition about the receiver being down; it is useful to see if people think of use-cases like that. Misuse of XP/agile dogma discourages thinking in those terms.
There are lies, damned lies, statistics - and ADC/DAC specs.
Gliding 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
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 14412
  • Country: nl
    • NCT Developments
Re: Would you hire a self taught embedded software developer?
« Reply #95 on: December 05, 2017, 04:18:58 am »
I'd never heard of the "Byzantine General's Problem", but after reading the wikipedia entry it's an obvious issue once you consider system reliability.  It's a variation on decidability. 
There are many other similar subtle effects with somewhat wacky names - and very important practical implications. One other is the "Split Brain Problem", which can be a real bitch when it occurs.
Not really. It is called 'plan B' and the result is to bring a system into a safe state if the communication stops. Ofcourse this means a system needs to be partitioned the right way but still it is lightyears away from the huge problem you like to portait it to be.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 6980
  • Country: gb
    • Having fun doing more, with less
Re: Would you hire a self taught embedded software developer?
« Reply #96 on: December 05, 2017, 04:26:58 am »
I'd never heard of the "Byzantine General's Problem", but after reading the wikipedia entry it's an obvious issue once you consider system reliability.  It's a variation on decidability. 
There are many other similar subtle effects with somewhat wacky names - and very important practical implications. One other is the "Split Brain Problem", which can be a real bitch when it occurs.
Not really. It is called 'plan B' and the result is to bring a system into a safe state if the communication stops. Ofcourse this means a system needs to be partitioned the right way but still it is lightyears away from the huge problem you like to portait it to be.

For a fee of 0.1%, I can put you in touch with some telecom companies that will pay you a lot of money - provided you really do have a solution to the problem. Good luck persuading them that it is acceptable for their systems to stop. (The 0.1% will be a nice tidy sum for me).

There are many many other application domains with similar constraints.
« Last Edit: December 05, 2017, 04:30:04 am by tggzzz »
There are lies, damned lies, statistics - and ADC/DAC specs.
Gliding 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
 

Online Mr. Scram

  • Super Contributor
  • ***
  • Posts: 3939
  • Country: 00
  • Display aficionado
Re: Would you hire a self taught embedded software developer?
« Reply #97 on: December 05, 2017, 04:48:04 am »
Not really. It is called 'plan B' and the result is to bring a system into a safe state if the communication stops. Ofcourse this means a system needs to be partitioned the right way but still it is lightyears away from the huge problem you like to portait it to be.
I think the problem is that A and B both don't know whether the other is still up, and therefore both continue. They are supposed to step in if the other stops functioning, but if it's just the communication that's out, you get split-brain situations.
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 6980
  • Country: gb
    • Having fun doing more, with less
Re: Would you hire a self taught embedded software developer?
« Reply #98 on: December 05, 2017, 05:07:23 am »
Not really. It is called 'plan B' and the result is to bring a system into a safe state if the communication stops. Ofcourse this means a system needs to be partitioned the right way but still it is lightyears away from the huge problem you like to portait it to be.
I think the problem is that A and B both don't know whether the other is still up, and therefore both continue. They are supposed to step in if the other stops functioning, but if it's just the communication that's out, you get split-brain situations.

Just so.

If the cluster is split into two clusters A+B and C+D, then there will be two cluster masters. The first problem is for A,B,C,D to all agree that they are all up and running and which cluster master should cease to be a master. The next problem is reconciling the data that has mutated during the split.

Bonus points for considering situations where A can communicate with B&C but not D, and variants. Yes, that does happen.
There are lies, damned lies, statistics - and ADC/DAC specs.
Gliding 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
 

Offline bd139

  • Super Contributor
  • ***
  • Posts: 5155
  • Country: gb
Re: Would you hire a self taught embedded software developer?
« Reply #99 on: December 05, 2017, 05:43:21 am »
The trick is to make sure it doesn’t matter if that does happen. Design for failure first.

Edit: a lot of systems (and test cases for them) are designed with failure as a secondary mode of operation. Single master cluster architectures are an example of a stupid failure mode really. All partitions should be capable of operating fine on their own. If you cut a worm in half, you ideally want two worms, not one or more dead bits of worm.
« Last Edit: December 05, 2017, 05:47:55 am by bd139 »
 

Offline coppice

  • Super Contributor
  • ***
  • Posts: 3392
  • Country: gb
Re: Would you hire a self taught embedded software developer?
« Reply #100 on: December 05, 2017, 05:49:59 am »
It is called 'plan B' and the result is to bring a system into a safe state if the communication stops.
Bringing a networked system to a safe state seems such a terrific idea, but in practice there aren't so many systems which actually have a safe state that any particular processing node could bring them to. It takes many communicating functions to, for example, keep an inherently unstable fighter aircraft or missile from doing something nasty.
 

Online hendorog

  • Super Contributor
  • ***
  • Posts: 1135
  • Country: nz
Re: Would you hire a self taught embedded software developer?
« Reply #101 on: December 05, 2017, 06:02:01 am »
The trick is to make sure it doesn’t matter if that does happen. Design for failure first.

I think the trick these days is work out what the problem is called so you can google it. :)

Ability to search and disseminate information from the internet would be high on my list of skills for a new employee.
The ability to recognise a 'difficult' problem early and ask/look for help, without going too far down the rabbit hole is another important skill.

A simple search for 'solving the byzantine generals problem' gives plenty of leads and good information.
 

Offline bd139

  • Super Contributor
  • ***
  • Posts: 5155
  • Country: gb
Re: Would you hire a self taught embedded software developer?
« Reply #102 on: December 05, 2017, 06:06:21 am »
Good points hendorog.

One problem I see regularly is the missing google step and then a whole new wheel gets built. It’s square and made of balsa wood and snot.
 

Online hendorog

  • Super Contributor
  • ***
  • Posts: 1135
  • Country: nz
Re: Would you hire a self taught embedded software developer?
« Reply #103 on: December 05, 2017, 06:11:01 am »
One problem I see regularly is the missing google step and then a whole new wheel gets built. It’s square and made of balsa wood and snot.

Nomination for comment of the day right there.  :-DD
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 6980
  • Country: gb
    • Having fun doing more, with less
Re: Would you hire a self taught embedded software developer?
« Reply #104 on: December 05, 2017, 06:37:37 am »
The trick is to make sure it doesn’t matter if that does happen. Design for failure first.

Yes, if you can - it isn't always possible.

But then you run into those that believe YAGNI is a valid architecture strategy. Always presuming, that is, that they have even thought of the "its" that cause failure.
There are lies, damned lies, statistics - and ADC/DAC specs.
Gliding 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
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 6980
  • Country: gb
    • Having fun doing more, with less
Re: Would you hire a self taught embedded software developer?
« Reply #105 on: December 05, 2017, 06:41:37 am »
The trick is to make sure it doesn’t matter if that does happen. Design for failure first.

I think the trick these days is work out what the problem is called so you can google it. :)

Ability to search and disseminate information from the internet would be high on my list of skills for a new employee.
The ability to recognise a 'difficult' problem early and ask/look for help, without going too far down the rabbit hole is another important skill.

A simple search for 'solving the byzantine generals problem' gives plenty of leads and good information.

And there's the "chicken and egg problem" in a nutshell: you can't search for something if you don't know the name, or won't search for it if you haven't conceived of the problem in the first place.

That's particularly likely to occur in those that haven't been through a halfway decent theoretical course. Seen that all too often :(
There are lies, damned lies, statistics - and ADC/DAC specs.
Gliding 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
 

Online hendorog

  • Super Contributor
  • ***
  • Posts: 1135
  • Country: nz
Re: Would you hire a self taught embedded software developer?
« Reply #106 on: December 05, 2017, 07:06:10 am »
The trick is to make sure it doesn’t matter if that does happen. Design for failure first.

I think the trick these days is work out what the problem is called so you can google it. :)

Ability to search and disseminate information from the internet would be high on my list of skills for a new employee.
The ability to recognise a 'difficult' problem early and ask/look for help, without going too far down the rabbit hole is another important skill.

A simple search for 'solving the byzantine generals problem' gives plenty of leads and good information.

And there's the "chicken and egg problem" in a nutshell: you can't search for something if you don't know the name, or won't search for it if you haven't conceived of the problem in the first place.

That's particularly likely to occur in those that haven't been through a halfway decent theoretical course. Seen that all too often :(

Actually no, working out what to search for is part of the skill of searching. You have to search to determine what to search for. That is probably part of the reason why it is a skill, and some people just don't seem to be able to do it efficiently. For others it is second nature.

I do agree that there is a skill in recognising that a particular problem is 'special' or 'difficult'. Recognising those particular problems for what they are isn't the exclusive domain of formally trained engineers however :)

There is nothing wrong with doing a theoretical course. As long as it doesn't cause a person to become arrogant then it is hard to see the downside.
 
However there are many things I would rate as more important in my dream employee - personality, willingness to learn along with the intelligence to absorb the learnings, willingness to teach and share etc.
 

Online rhb

  • Super Contributor
  • ***
  • Posts: 1335
  • Country: us
Re: Would you hire a self taught embedded software developer?
« Reply #107 on: December 05, 2017, 07:58:13 am »
I normally worry about whether problems are NP-Hard.  But that's because most of my work has been workstation based DSP and scientific code and requests for solutions of NP-Hard problems very common.  I need that information early in the requirements phase so a suitable compromise can be arrived at.  In any case, I look for whatever could go wrong at the start of my work. 

I have a standing rule that I don't start coding until I've run out of excuses for not coding.  The only time I've had my schedule slip was when I ignored that rule because the task looked simple (resample data via FFT).  I got nailed to the wall by the fact that the FFT is defined on the semi-closed interval [0:1) and the data to be resampled had missing values and sample rates that did not have a common factor. It was a long week figuring out what was causing the phase error at the end of the data series.

In the "receiver down" case, I was logging program usage at company affiliates all around the world often in 3rd world countries with limited and unreliable connections to the corporate network.  I spawned a small subprocess that made a few tries with exponential backoff on each failure before giving up. Getting the information was nice but not necessary.  Not launching a DoS attack on the workstation was essential.

Ultimately, the best indication of how useful a self taught person will be is how much they spend out of their own pocket on books, professional society dues, etc and how much time they spend each week studying topics of interest that *might* be useful to their job.  I've seen far too many scientitsts and engineers with PhD degrees who would not read a technical monograph unless the company bought it and paid them to read it at the office.
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 6980
  • Country: gb
    • Having fun doing more, with less
Re: Would you hire a self taught embedded software developer?
« Reply #108 on: December 05, 2017, 08:06:05 am »
The trick is to make sure it doesn’t matter if that does happen. Design for failure first.

I think the trick these days is work out what the problem is called so you can google it. :)

Ability to search and disseminate information from the internet would be high on my list of skills for a new employee.
The ability to recognise a 'difficult' problem early and ask/look for help, without going too far down the rabbit hole is another important skill.

A simple search for 'solving the byzantine generals problem' gives plenty of leads and good information.

And there's the "chicken and egg problem" in a nutshell: you can't search for something if you don't know the name, or won't search for it if you haven't conceived of the problem in the first place.

That's particularly likely to occur in those that haven't been through a halfway decent theoretical course. Seen that all too often :(

Actually no, working out what to search for is part of the skill of searching. You have to search to determine what to search for. That is probably part of the reason why it is a skill, and some people just don't seem to be able to do it efficiently. For others it is second nature.

True, but...

Having a solid theoretical background gives you an excellent starting point. Too often too much concentration on practical short-term information loses sight of the "big picture" universal truths.

It is worth remembering that the usefulness of such practical information has a half-life of years, whereas the solid theoretical has a useful half-life measured in careers!

Quote
I do agree that there is a skill in recognising that a particular problem is 'special' or 'difficult'. Recognising those particular problems for what they are isn't the exclusive domain of formally trained engineers however :)

All too true unfortunately - but in the absence of other information that's the way to bet.

"The race does not always go to the fastest horse, but that's the way to bet".

Quote
There is nothing wrong with doing a theoretical course. As long as it doesn't cause a person to become arrogant then it is hard to see the downside.
 
However there are many things I would rate as more important in my dream employee - personality, willingness to learn along with the intelligence to absorb the learnings, willingness to teach and share etc.

Usually a significant enterprise cannot be done by one person: a team is needed. You will never get all the necessary attributes for a large enterprise in a single person. Rather you have to construct a team with a range of individuals. Each individual's weaknesses are covered by other individuals' strengths.

As for arrogance, that is scarcely the reserve of people that know the theory. Evidence: the tendency to actively "distrust the experts". (There are some politicians that make such statements that really ought to ask me to operate on them when they become ill).
There are lies, damned lies, statistics - and ADC/DAC specs.
Gliding 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
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 6980
  • Country: gb
    • Having fun doing more, with less
Re: Would you hire a self taught embedded software developer?
« Reply #109 on: December 05, 2017, 08:10:21 am »
I normally worry about whether problems are NP-Hard.  But that's because most of my work has been workstation based DSP and scientific code and requests for solutions of NP-Hard problems very common.  I need that information early in the requirements phase so a suitable compromise can be arrived at.  In any case, I look for whatever could go wrong at the start of my work. 

I have a standing rule that I don't start coding until I've run out of excuses for not coding.  The only time I've had my schedule slip was when I ignored that rule because the task looked simple (resample data via FFT).  I got nailed to the wall by the fact that the FFT is defined on the semi-closed interval [0:1) and the data to be resampled had missing values and sample rates that did not have a common factor. It was a long week figuring out what was causing the phase error at the end of the data series.

In the "receiver down" case, I was logging program usage at company affiliates all around the world often in 3rd world countries with limited and unreliable connections to the corporate network.  I spawned a small subprocess that made a few tries with exponential backoff on each failure before giving up. Getting the information was nice but not necessary.  Not launching a DoS attack on the workstation was essential.

Ultimately, the best indication of how useful a self taught person will be is how much they spend out of their own pocket on books, professional society dues, etc and how much time they spend each week studying topics of interest that *might* be useful to their job.  I've seen far too many scientitsts and engineers with PhD degrees who would not read a technical monograph unless the company bought it and paid them to read it at the office.

I like and appreciate your attitudes :)

The last point is very valid, and in addition it indicates that the individual is a modestly passionate :)
There are lies, damned lies, statistics - and ADC/DAC specs.
Gliding 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
 

Online rhb

  • Super Contributor
  • ***
  • Posts: 1335
  • Country: us
Re: Would you hire a self taught embedded software developer?
« Reply #110 on: December 05, 2017, 10:13:38 am »
 Thank you. It's what it takes to be a brand name contractor.  I spent thousands of dollars every year for books,  journals etc. When the company library closed, my journal bill hit $1500/yr.  All so I could reduce the number of hours I billed for a piece of work.  My hourly rate took that into account.  The general perception was I worked far more hours than I actually billed. You can imagine my reaction when I discovered that a business partner was billing the client for eating his lunch.  He even had the gall to suggest I should do the same!  I dissolved the LLC when we finished the contract.

What I usually say is, "If you won't invest in yourself, why should anyone else invest in you?"

I have no formal CS or EE credentials of any kind.  If someone is not capable of accurately assessing my abilities in a casual interview (no silly trick questions) I don't want to work for them.  I wouldn't even apply for a job that required a certification in CS.  A favorite news report of mine is the 6 year old who got an MS admin cert.
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 6980
  • Country: gb
    • Having fun doing more, with less
Re: Would you hire a self taught embedded software developer?
« Reply #111 on: December 05, 2017, 09:36:04 pm »
What I usually say is, "If you won't invest in yourself, why should anyone else invest in you?"

I have no formal CS or EE credentials of any kind.  If someone is not capable of accurately assessing my abilities in a casual interview (no silly trick questions) I don't want to work for them.  I wouldn't even apply for a job that required a certification in CS.  A favorite news report of mine is the 6 year old who got an MS admin cert.

Agreed.

The one time someone asked me a "trick question" (as an overseer of the people building the pyramids, how would you determine when the shift ended?), I had fun with them by giving all the correct but "wrong" answers that I could think of. Eventually they asked me if I knew the answer they were looking for (an egg timer, yawn).
There are lies, damned lies, statistics - and ADC/DAC specs.
Gliding 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
 

Offline coppice

  • Super Contributor
  • ***
  • Posts: 3392
  • Country: gb
Re: Would you hire a self taught embedded software developer?
« Reply #112 on: December 05, 2017, 10:44:22 pm »
I wouldn't even apply for a job that required a certification in CS.
With a few exceptions, certification in CS == this is a low grade technician job. If you are doing a high grade job in a small place, there might be a need to spend a little of your time doing something where certification is relevant. However, a requirement for certifications is usually a flag that the job is a lot less grandiose than the description in the ad makes it seem.
 

Offline bd139

  • Super Contributor
  • ***
  • Posts: 5155
  • Country: gb
Re: Would you hire a self taught embedded software developer?
« Reply #113 on: December 05, 2017, 10:54:14 pm »
I get all the certifications I can. Only because it usually comes with a free lunch, someone else pays for it and gets you a better daily rate in contract+1 :-DD

Just did RHCA because someone paid for it.

I am in the IT trade entirely for the money though and I'm very honest about that.
 

Offline cdev

  • Super Contributor
  • ***
  • Posts: 3284
  • Country: 00
  • I love science, stars, nature and electronics.
Re: Would you hire a self taught embedded software developer?
« Reply #114 on: December 10, 2017, 03:01:06 am »
Just be happy you don't live or work in India, where even if you were a senior C++ programmer with ten years experience you would be lucky to make $7000-$8000 annually.

An electronics engineer makes even less there, under $5000 dollars a year.

312408 Indian Rupee equals
4845.448 US Dollar

No wonder they powers that be want to make the world a single labor market! Then wages will fall even lower!   Economics 101 supply and demand.

Everywhere. Even in India.
"What the large print giveth, the small print taketh away."
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf