Hacker News new | past | comments | ask | show | jobs | submit login

After reading the post, i was under the impression that the author really did some shopping for major components and assembled everything into a fun shape. Obviously i know nothing about electronic board design, so could you explain which extraordinary skill this required ?

EDIT : ok, i missed the part where he actually designed the whole board, obviously..




Designing the layout of the PCB. Populating it with surface-mount components using home-made solder paste stencils and an oven. Selecting the MCU. Figuring out what kernel drivers are needed and what can be stripped out. Searching the web for datasheets and drivers that others have created/ported. Building the userland. Debugging and testing.

Like many pieces of technology, once you lay out the steps it starts to look as though each one, and therefore the whole, are achievable to a highly-motivated but somewhat typical person. And it's true! But even so, few people develop the whole set of skills to build something from start to finish, even notwithstanding the incredible help you can get nowadays from open-source software, consumer access to services such as PCB manufacturing, and online documentation. Even in a high-achieving community focused on building stuff, like this one, I doubt many posters here have completed as impressive an individual project.


Yes, these components literally exist to make small embedded systems.

Since a few years now, there are entire Linux systems on USB drives, for example.


Embedded systems engineers are (usually) paid a lot less than full stack engineers.

Edit: I seem to be getting (a lot!) of downvotes on this. I thought it was quite well known, but apparently not.

Full Stack Engineer salary: $93,598 [1]

Embedded Software Engineer salary: $74,758[2]

[1] https://www.payscale.com/research/US/Job=Full_Stack_Engineer...

[2] https://www.payscale.com/research/US/Job=Embedded_Engineer/S...


Disclaimer: I haven't read those links.

In my experience both as an embedded systems engineer and as a hiring manager, the salary sites miss a lot of nuance.

A large amount (probably most?) of embedded systems positions are at the lower end and don't require a lot of experience so that is reflected in the lower salary numbers. At the higher end, where more niche skills and higher levels of complexity & system integration are needed, you'll see the kind of salaries you are more familiar with.

It's also very industry dependent. I've always found it surprising that Factory Automation engineers are paid generally below a typical web development salary, but that's where a lot of embedded engineers end up working and get the lower pay that goes along with the job.

When I worked in Medical Devices, programmer salary didn't make a distinction between embedded or database, or UI work.

In addition, the positions aren't always broken out that way. In my day to day work I do embedded systems programming, Windows desktop stuff, some network (IoT) stuff and even a small amount of web dev when needed. My job title has never reflected any distinction in the kind of programming I did.


LinkedIn reports embedded software engineer wages are a bit higher than the number Payscale gives - https://www.linkedin.com/salary/embedded-software-engineer-s... - still lower than the full stack engineer level but certainly within the same ballpark.

I suspect the number is biased to the type of website that's gathering the data. Maybe employees of higher paying companies don't report their salaries on Payscale.


One of the big caveats is that embedded engineering is very location dependend.

Barcelona (where I live) has big demand for web/app software engineers, but embedded engineer jobs are way rarer.

For embedded engineers getting >40k€ is just not a thing around here. In the mean time my friends with backend experience (2y) get that kind of offers on a regular basis.


> Embedded Software Engineer salary: $74,758

> Individuals Reporting: 97

> Full Stack Engineer salary: $93,598

> Individuals Reporting: 138

I think you're going to need more than 100 or so people's self-reported salaries before you can reasonably claim what pay is like across the professions or in comparison to each other.


Also rocket scientist are paid less. Its a supply and demand market. There are simply more ppl wanting to build rockets and iot gadgets then there are ppl willing do do a crud website for an adtech company.


This is true, had to turn down various jobs in big cities due to very low pay. Guys looked like I'd just slapped them when I'd named my price (previously done fullstack).


Don't know why the downvotes either. Its not intuitive, but a sad fact of life and just the way supply and demand works.


Yeah, maybe it's a "I don't like this" vote. I tend to agree - I find embedded software engineering skills quite intimidating. Nevertheless, the market demand just isn't as high.


Where's the mystery? Someone looks at what this guy did for his business card and, to paraphrase, says "Wow, look at this guy's skills. He must charge a very, very non-average amount of money for them."

Your response to this is "But actually, according to payscale.com, an average embedded software engineer only makes X."

1. Nobody likes but-actually posts.

2. Quoting average salary when someone is commenting on how non-average a guy's skillset is isn't really relevant.


I get the "but actually" thing, but I don't think it was that.

The OP said the skills are "mindbogglingly expensive". From personal experience they aren't (I worked in a team with embedded engineers with similar skills to those required for this).

I thought this was well understood - it's been discussed here a number of times.

I added the average salaries after getting voted down to -2 and that turned around the voting.

While there are a number of issues with average salaries I think it's notable that no one is claiming the opposite.


> but a sad fact of life and just the way supply and demand works

It's only hubris that makes us discount the importance and difficulty of, say, web client design and implementation.

How many developers on HN poo-poo "UX" yet don't even have a single fleshed out README on any of their products because it's "not important"?

Turns out raw low-level tech skills aren't the be-all of software and business.


I am sorry, you are very wrong.

A complete "Embedded System" (HW+SW) is orders of magnitude more complex than "Web Client Design and Implementation" (unless you approach Google/Facebook scale). The malleability of SW means you can quickly try out various techniques without too much "learning overhead". With all the existing Frameworks/Libraries/etc it becomes more of a "plug & play" proposition. Not so with Embedded Systems. You have to know EE/Electronics, programming interfaces to HW, Bootloader and OS kernel (if using one), Complex Toolchains/ICE/Simulators/Debuggers and finally; The Application. Each is a huge domain in itself and has a significant learning curve. To have all of them in "one head" is remarkable and non-trivial.


Be careful with that statement.

An "embedded system" can be as simple as "when this button is pressed for 3-5 seconds, turn on this light for 30 seconds." That hardly requires much of a skillset.

And as far as having all the things you mention in "one head," every member of my team can handle that easily and we're not particularly noteworthy!


I think in a sense you are proving my point. Real knowledgeable people have done the hard work to simplify much of technology so that it is easy to get started on. But the moment you are past the "commoditized" part, the "learning ramp" for an embedded system becomes exponential. Not so with pure higher-layer Software Apps. There is also the fact that an "embedded system" spans a very broad domain and hence requires a broad spectrum of knowledge and skills eg. developing a Network Appliance vs. Bread toaster.

In my own experience moving from pure applications software development (though not a web developer) to network appliances to lower-level embedded development i have been amazed at all the "hidden complexity" which you suddenly become exposed to. And this is just the software part. If you get into the hardware part you have a whole another world of knowledge to learn. Merely doing something without understanding is the difference between a "Technician" vs "Engineer/Scientist".


True. This is what i dislike about the "market". There is no reward for knowledge, hardwork, solving complex problems etc. Just "commoditization" and "supply and demand dynamics".


The five following are the principal circumstances which, so far as I have been able to observe, make up for a small pecuniary gain in some employments, and counterbalance a great one in others: first, the agreeableness or disagreeableness of the employments themselves; secondly, the easiness and cheapness, or the difficulty and expense of learning them; thirdly, the constancy or inconstancy of employment in them; fourthly, the small or great trust which must be reposed in those who exercise them; and, fifthly, the probability or improbability of success in them.

-- Adam Smith, An Inquiry into the Nature and Causes of the Wealth of Nations, "Chapter 10: Of Wages and Profit in the different Employments of Labour and Stock"

https://en.wikisource.org/wiki/The_Wealth_of_Nations/Book_I/...

Information and skill aren't rewarded of themselves, for much the same reason that information wants to be free. If the skills themselve are both rare and valuable, that tends to change, effectively serving as a type of rent (in the economic sense). Effort in aquisition, risk in employment, trust, and the underlying attractiveness of the activity, all factor in.

Smith's analysis doesn't hold in all cases, but is a good first approximation. It's remarkably poorly known, even among market advocates.


Nice! However your last two paras are a little too succinct; can you elaborate a little bit more?


There's almost certainly a book or two in there, to do it justice.

Tackling the latter: I recall listening to a BBC interview of a banker, probably in the wake of the 2007-8 global financial crisis, though the example's really an evergreen. The presenter asked how the executive justified his (it was a he) income. He responded based on value creation. Oddly, that's not a basis for compensation in a competitive market -- price should be set equal to marginal cost. Of course, if bank-executive services are a form of rent, he might be correct, but that's an interesting argument on its own.

It was a few years later when I finally got to actually reading Smith that I came across his "five following" discussion. Which a true market-capitalist banker really ought to have fully internalised. It made the interview response all the more curious.

I've also kept this in mind as other discussions of wages (particuarly concerning the tech world, but also other worker classifications) come up.

On the "information wants to be free" comment: skill itself is (in parts) an informational good, though one that lacks inforation's fundamental fungibility (we can transfer information from storage device to storage device across channels and networks, less so skills).

But like information, skill is difficult to both assert and assess. Beyond zero marginal costs, a chief reason information markets behave so poorly is that it's hard to assert high-quality information, and expensive to assess it. If you're reading a book, or article, or ... lengthy and/or cryptic HN comment ... somewhere in your head is the question "is this even worth my time?"

This is what makes tech recruiting, from both sides of the table, such a PITA. The front-line people writing ads and screening calls ... have all but no capability to assess skills. Responses are all over the map, from the absolutely unqualified to domain specialists and experts. "Expertise" itself is almost certainly a misnomer as so much information has so short a half-life -- it's generalised problem-solving and learning which are most required. And the tasks and projects to which talent is applied can itself be called into question. Take the 737 MAX development -- Boeing almost certainly would have been better for not trying to drag out the lifespan of that airframe, a decision which likely should have been made in the mid-1990s. Full costs (or benefits) of decisions cannot be known when they're made, and only manifest over years, decades, or even centuries (fossil fuel use).

Some coverage of that here: https://news.ycombinator.com/item?id=21864949

https://news.ycombinator.com/item?id=21864646

The notion of "manifest vs. latent" properties or consequences is one I've been looking at. Some earlier work by Robert K. Merton and others.

"The market" rewards short-term, highly-apparent, risk-externalising, liquidity-generating behaviours. There are inherent distortions to all of this. Skills and competence (as well as skills development, mentoring, training, preservation, etc.) are poorly served.

There's also some interesting discussion relating to this in Alvin Toffler's Future Shock, from 1970, which I'm reading for the first time. Bits drag, but there is much that's prescient.


You make some very interesting points. The Adam Smith quote points out the various axes to consider when looking at the "viability" of something in the market which is quite correct. But there is another wrinkle added by the "Modern" world. I presume you are aware of the works of Nassim Taleb. He makes a distinction between "Extremistan" and "Mediocristan" (and lambasts Economics and Economists :-) which i feel is very applicable to understanding "The Market". With the current "Information/Data" revolutions the frequency and impact of "Extremistan" events have increased dramatically and existing economic models are no longer sufficient to explain them. For example, what exactly is the "marginal cost" of software? How do we explain the rise of "The Internet" as a major economic driver? I lean towards the viewpoint that this dichotomy is applicable to the whole Software/IT industry. Thus "Embedded Systems Industry" has moved from "Extremistan" to "Mediocristan" (commoditization, cost reduction, large supply pool etc.) while "Web Development" is still in "Extremistan" and this gets reflected in their respective salaries.


Thanks for the extremistan/mediocristan reference. I've read some Taleb, but not much and not deeply, and that's a valid point.

Financialisation and capital accumulation allow tremendous inequalities in allocation. These have always been present to some degree, but recent history (say, 1800 - present) seems exceptional. Note that arguably the Gilded Age personal fortunes were probably even more extreme than those of today.

Unless I'm missing something, the marginal cost of software publishing is very near zero. Development is ... more expensive.

The Internet's role is a whole 'nother discussion, but pulling in a notion of an ontology of technological mechanisms (see: https://ello.co/dredmorbius/post/klsjjjzzl9plqxz-ms8nww), it's a network, with network effects, as well as a system. These ... tend to define general parameters and considerations.

Where specific industries fall on the mediocristan / extremistan scale .... is an interesting question. Though I'd argue that systems/networks elements tend toward extremistan. Whether hardware is/isn't systems/network (as I'm using the terms) is another question.

For successful fundamental component manufacturers (e.g., Intel, AMD), hardware certainly resembles extremistan.


Thanks for the ideas and the discussion.

Just FYI; You might want to look into the works of Jacques Ellul on Technology and Society if you have not done so already.

PS: Also a good starting point: https://en.wikipedia.org/wiki/Technology_and_society




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: