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

0 Members and 1 Guest are viewing this topic.

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 19280
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: Would you hire a self taught embedded software developer?
« Reply #75 on: October 24, 2017, 02:35:21 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.

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.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 19280
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: Would you hire a self taught embedded software developer?
« Reply #76 on: October 24, 2017, 02:37:58 pm »
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.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 

Offline bd139

  • Super Contributor
  • ***
  • Posts: 23017
  • Country: gb
Re: Would you hire a self taught embedded software developer?
« Reply #77 on: October 24, 2017, 02:48:16 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.

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
 

Online brucehoult

  • Super Contributor
  • ***
  • Posts: 3996
  • Country: nz
Re: Would you hire a self taught embedded software developer?
« Reply #78 on: October 24, 2017, 03:36:12 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.
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.
 

Offline bd139

  • Super Contributor
  • ***
  • Posts: 23017
  • Country: gb
Re: Would you hire a self taught embedded software developer?
« Reply #79 on: October 24, 2017, 09:46:50 pm »
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!
 

Offline Mr. Scram

  • Super Contributor
  • ***
  • Posts: 9810
  • Country: 00
  • Display aficionado
Re: Would you hire a self taught embedded software developer?
« Reply #80 on: October 24, 2017, 09:59:05 pm »
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: 7350
  • Country: 00
Re: Would you hire a self taught embedded software developer?
« Reply #81 on: October 25, 2017, 12: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."
 

Offline rhb

  • Super Contributor
  • ***
  • Posts: 3476
  • Country: us
Re: Would you hire a self taught embedded software developer?
« Reply #82 on: October 25, 2017, 10:35:18 pm »
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: 387
  • Country: it
Re: Would you hire a self taught embedded software developer?
« Reply #83 on: December 02, 2017, 09:14:04 pm »
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 02, 2017, 09:16:13 pm by R005T3r »
 

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 19280
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: Would you hire a self taught embedded software developer?
« Reply #84 on: December 02, 2017, 10:35:55 pm »
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.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 

Offline coppice

  • Super Contributor
  • ***
  • Posts: 8605
  • Country: gb
Re: Would you hire a self taught embedded software developer?
« Reply #85 on: December 02, 2017, 10:59:49 pm »
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 02, 2017, 11:38:52 pm by coppice »
 

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 19280
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: Would you hire a self taught embedded software developer?
« Reply #86 on: December 02, 2017, 11:20:46 pm »
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 02, 2017, 11:25:12 pm by tggzzz »
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 
The following users thanked this post: cdev

Offline coppice

  • Super Contributor
  • ***
  • Posts: 8605
  • Country: gb
Re: Would you hire a self taught embedded software developer?
« Reply #87 on: December 02, 2017, 11:43:48 pm »
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: 7350
  • Country: 00
Re: Would you hire a self taught embedded software developer?
« Reply #88 on: December 03, 2017, 12: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."
 

Offline rhb

  • Super Contributor
  • ***
  • Posts: 3476
  • Country: us
Re: Would you hire a self taught embedded software developer?
« Reply #89 on: December 04, 2017, 03:53:19 pm »
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.
 

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 19280
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: Would you hire a self taught embedded software developer?
« Reply #90 on: December 04, 2017, 04:52:06 pm »
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.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 26751
  • Country: nl
    • NCT Developments
Re: Would you hire a self taught embedded software developer?
« Reply #91 on: December 04, 2017, 05:18:58 pm »
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.
 

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 19280
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: Would you hire a self taught embedded software developer?
« Reply #92 on: December 04, 2017, 05:26:58 pm »
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 04, 2017, 05:30:04 pm by tggzzz »
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 

Offline Mr. Scram

  • Super Contributor
  • ***
  • Posts: 9810
  • Country: 00
  • Display aficionado
Re: Would you hire a self taught embedded software developer?
« Reply #93 on: December 04, 2017, 05:48:04 pm »
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.
 

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 19280
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: Would you hire a self taught embedded software developer?
« Reply #94 on: December 04, 2017, 06:07:23 pm »
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.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 

Offline bd139

  • Super Contributor
  • ***
  • Posts: 23017
  • Country: gb
Re: Would you hire a self taught embedded software developer?
« Reply #95 on: December 04, 2017, 06:43:21 pm »
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 04, 2017, 06:47:55 pm by bd139 »
 

Offline coppice

  • Super Contributor
  • ***
  • Posts: 8605
  • Country: gb
Re: Would you hire a self taught embedded software developer?
« Reply #96 on: December 04, 2017, 06:49:59 pm »
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.
 

Offline hendorog

  • Super Contributor
  • ***
  • Posts: 1617
  • Country: nz
Re: Would you hire a self taught embedded software developer?
« Reply #97 on: December 04, 2017, 07:02:01 pm »
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: 23017
  • Country: gb
Re: Would you hire a self taught embedded software developer?
« Reply #98 on: December 04, 2017, 07:06:21 pm »
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.
 

Offline hendorog

  • Super Contributor
  • ***
  • Posts: 1617
  • Country: nz
Re: Would you hire a self taught embedded software developer?
« Reply #99 on: December 04, 2017, 07:11:01 pm »
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
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf