[HN Gopher] Where are the low level system engineers?
___________________________________________________________________
Where are the low level system engineers?
Author : pyb
Score : 34 points
Date : 2022-05-04 13:13 UTC (9 hours ago)
(HTM) web link (twitter.com)
(TXT) w3m dump (twitter.com)
| pyb wrote:
| IME : they had to move up the stack, in order to access better
| employment opportunities.
| flyingfences wrote:
| Seconded. I look around, at this week's "Who's Hiring" thread,
| for example, and the systems/firmware/embedded jobs are slim
| pickings. Filter out the super-senior positions and I can count
| them on one hand. How's a guy supposed to gain the experience
| to be a senior embedded dev when nobody's hiring junior
| embedded devs? I'm sticking at this, hoping for a needle in the
| haystack, because I like it, but most people in our position
| would just pick up some JavaScript and Leetcode and double
| their salary.
| AlotOfReading wrote:
| Part of the issue is that places like HN cater to smaller
| startups and places eager to seem 'hip'. Companies that
| employ a lot of embedded engineers are invariably either
| FAANG type companies that don't need to advertise that way,
| or hardware companies so institutionalized that they treat it
| like any other administrative job and only post on
| LinkedIn/indeed. Occasionally you'll get a smaller
| startup/unicorn that's trying to complete with SV tech
| giants, but that's uncommon.
|
| I'm trying to implement these sorts of changes (and many
| others) right now at my own place, but it's quite frustrating
| from the other side too.
| booboofixer wrote:
| If you also take into consideration the years it takes to go
| from junior to senior/experienced in the systems area, salary
| becomes a much bigger deciding factor. It's not just 20k a
| year less for one year, its 20/30/40k less for as long as
| you're mastering your area when you could spend less time
| mastering something else for more money.
| uxp100 wrote:
| Hacker News is just the wrong place to look. This is
| essentially a web dev site. Just use linked in or zip
| recruiter or whatever. There are tons of positions for
| embedded now, same trouble hiring as everyone else, and often
| they're open to anyone with software experience, you don't
| need to know the difference between Vdd and Vcc or how to use
| an oscilloscope, though obviously employers would prefer you
| did. (Well, forget the first one, Vdd vs Vcc is essentially
| trivia)
| flyingfences wrote:
| I am looking on those other, more traditional sites as
| well, and junior-level embedded jobs (without moving to
| California or China) are still far less common.
| evocatus wrote:
| Bootcamps and anti-intellectual sentiment spreading through the
| software development community have convinced newer developers
| that web APIs and other high-level frameworks/languages are
| actually the bedrock of abstraction, and that nothing important
| lies beneath (if they even recognize there IS something beneath).
| Nothing ever breaks down there, anyway. And if something does,
| it's not my problem to fix.
|
| 16 weeks at a bootcamp is enough to get you up to speed with the
| important parts of a rigorous 4 year education into the
| foundations of computing. No one needs to know CS or computer
| engineering anyway. It's just like math - useless.
|
| I'm a software developer. How does software work, you ask? Uh...
| taurath wrote:
| Plenty of graduates specifically don't work in systems
| engineering for different reasons - its not like there is a
| dearth of people with degrees. The jobs in say embedded
| programming are fewer, harder to get, and tend to pay worse
| unless you're at the top of the market.
|
| If you're at Meta making an OS for VR, you're at the top of the
| market and getting paid very well. If you're at Cisco making
| router firmware, or F5 making DNS boxes, you're likely getting
| paid far worse than at equivalent experience to say a web dev -
| for which there is a lot more work. Employment mobility is far
| far lower when doing embedded work.
| ThrowawayR2 wrote:
| Short term, yes, there's lots of demand for front-/back-end
| web developers and the lower barrier to entry makes it a
| solid choice. Long term, though, it's a race to the bottom as
| more people flood in and eventually web developers become
| easily replaceable commodities.
|
| (Don't take that the wrong way; it's not criticism of web
| development. It's just what generally happens when there's an
| oversupply of anything in a marketplace. We've been in a boom
| for web developers for a long time and what goes up must come
| down.)
| the_only_law wrote:
| > Long term, though, it's a race to the bottom as more
| people flood in and eventually web developers become easily
| replaceable commodities.
|
| Long term doesn't seem too great for low level stuff
| either. It doesn't seem like a lot of new people are
| entering the field and getting up to speed on the radically
| complex hardware we have now
| taurath wrote:
| But embedded engineers are treated more like commodities
| nowadays already (except at the top or in specific niches
| like legacy banking software or HFT), because the
| industries that drove their day are also commoditized and
| outsourced. It's relatively easy to hire.
|
| Yes eventually web devs will be eventually commoditized,
| but that doesn't mean the return of low level programmers
| persay.
| ThrowawayR2 wrote:
| My take (and sorry if I wasn't clear) was that it's
| better to be a commodity in an area that one enjoys
| working than to become a commodity in an area that one
| went into just for the career prospects and be trapped
| there later on if circumstances change. Beyond that, the
| effects of commoditization seem likely to be
| significantly worse for web development than systems
| engineering given that the barrier to entry is lower.
| fxtentacle wrote:
| Here :)
|
| I maintain a C++ service running in production since 2015. I
| released Windows and Mac kernel drivers in 2012, both of which
| are still used in commercial products. My NAS runs a patched
| kernel because the stock dm-cache didn't offload burst writes
| onto SSD. I once built a virtual filesystem driver to run inside
| my PS2 so that I could exfiltrate in-game debug data over LAN. My
| most recent low-level project was PCB+Firmware for a digital
| camera.
|
| But:
|
| Ruby on Rails just has a much better bang for buck than C++ and
| customers know it. Powerful hardware is dirt-cheap these days, so
| nobody wants to pay for the extra +50% you get from C++ over
| JavaScript.
|
| And if you want to be paid well, call your multi-threaded C++
| calculations something like "CPU-accelerated AI deployment
| optimization" ;)
|
| And lastly: Most embedded C/C++ jobs went to China! We used to
| design hardware and firmware in the west. But nowadays, you just
| book a Shenzhen shop to design, code, and produce your product.
| That's why nowadays almost every device has firmware with Chinese
| debug strings inside ^_^
| jurschreuder wrote:
| We build our own cameras and write our own drivers here in
| Amsterdam, and sometimes get requests from other companies here
| that rather pay more than trying to explain their projects to
| Chinese manufacturers. Some industrial cameras we buy from
| Basler and the guy who builds them lives right around the block
| in a village close to Amsterdam. So maybe it's coming back
| around.
|
| As an engineer I have a really strong opinion about only
| finance being left in Europe and all the engineering being
| outsourced to cheaper countries.
|
| I personally think in tech the ladder to the top is made so you
| have to switch to management at some point in order to promote
| any further. I see managers and people that actually want to
| volunteer to become a manager instead of an engineer as the
| root of this problem. At my company we organize the hierarchy
| more like a hospital or a law firm, with the best engineers
| having the highest positions, just like partners at a law firm.
| unget wrote:
| They're at FAANGs. I can say from experience that Amazon and Meta
| employ tons of systems software engineers working on kernels,
| languages, low-level Unix software, etc.
| Unklejoe wrote:
| I'm right here, bombing Leetcode interviews because they ask me
| to write a program that sorts the columns in a CSV file in 15
| minutes and I only know C.
| yolo69420 wrote:
| Maybe I'm missing something but unless the interviewer expects
| a 100% correct csv parser that handles all possible corner
| cases this is basically
|
| - read file
|
| - start at beginning; if you encounter separator, add new entry
| to an array. if you encounter newline, save entire current
| array as a new line to an array of lines.
|
| - do lexicographical sort of arrays (can just use qsort for
| this).
|
| - if the test q actually wants you to parse out numbers and
| shit like that, nothing about the structure changes, you just
| have to record some extra info when parsing values and then use
| a different comparison depending on the type in the function
| you pass to qsort
|
| I dare say someone programming algorithms in a kernel or
| writing code for custom file systems should be able to do this.
| OK 15 min may be tight if you're nervous but you should get
| there.
| ericbarrett wrote:
| You forgot quotes. Unfortunately we're moving forward with
| other candidates at this time. Good luck in your job search!
| the_only_law wrote:
| It gets very nasty at this point especially because I've
| used popular languages who's CSV parsing libraries were
| unable to handle some weird quotes properly.
| ericbarrett wrote:
| Likewise. I've known C since the 90s, C++ since the 00s (with a
| refresher for C++11), and recently picked up Rust--have already
| written a few thousand lines, it's a great language. But I do
| DevOps because the pay is better and the interviews are
| practical.
| [deleted]
| alkaloid wrote:
| Holy moly, I thought I was the only one!
|
| "Want me to write a specialised API with custom encapsulation
| transmitted over UDP?"
|
| "Nah fam, we want to watch you code in our super-duper-wiz-
| bangy-exclusive IDE that you've never used before. Oh, and you
| have an hour. Oh, and it's going to be super-specific tasks
| that only we know how to do."
|
| "So, no on the encapsulation, eh?"
|
| <click>
| pjc50 wrote:
| I'd be tempted to just use sort(1) in that situation and say
| "what? it's in C" if questioned.
| yolo69420 wrote:
| The specific things he's mentioning are domain specific topics to
| (it sounds like) OS development that most low-level capable
| programmers could pick up no problem.
|
| I'm talking about programmers working on any kind of application
| in C/C++ (or other systems languages) with nontrivial performance
| and memory requirements. It's not like there are a ton of those
| either, but they're there.
|
| If for some reason some day some market popped up for OS devs
| that paid better than the other sub-fields those low level
| programmers are currently working in, nobody need be concerned
| about supply of programmers who can do the job.
| jpindar wrote:
| Companies don't want someone who is capable of picking up x no
| problem. They only want someone who already has a job doing x.
| the_only_law wrote:
| Furthermore, a lot of these companies seem to only want
| somebody be with 10-20 years of experience already doing x.
| the_only_law wrote:
| > I'm talking about programmers working on any kind of
| application in C/C++ (or other systems languages) with
| nontrivial performance and memory requirements. It's not like
| there are a ton of those either, but they're there.
|
| I tried finding a job somewhere around this realm. Half the
| companies were using Go and none of them wanted to talk to me.
| Ambolia wrote:
| I guess in the microcontroller and IoT world there's still many?
| Though now there are alternatives like micropython to avoid
| diving down to the low level.
| fxtentacle wrote:
| Plus most of these are hobbyists. I'm not sure if the market
| contains enough money to sustain people doing this for a
| living.
| alkaloid wrote:
| I'm a specialist in low-level telco code, lots of which is
| written in C/Perl.
|
| Recruiters are breaking down my door, asking me if I code in Ruby
| (Rails).
|
| No.
| Datenstrom wrote:
| Similar story here. Have lots of experience with low-level
| scientific compute, ML, and network code in specialized
| environments like avionics and robotics. I have used Rust in
| production so it is listed on my skills, but mostly C/C++ and
| of course Python for prototyping.
|
| Recruiters saw Rust and I got blockchain spam. Nope.
|
| I've moved on to my own thing anyway, but I've still had to put
| an explicit "no crypto/blockchain" everywhere they might look.
| jpindar wrote:
| But now all the bots will see the words crypto and blockchain
| in your profile (or wherever) and you'll get even more spam.
| afr0ck wrote:
| Not so many employers. Very few places/teams in this world care
| about cache coherency or memory ordering in the go-lang runtime
| on ARMv9 CPUs. You can count them using one hand fingers. The
| entry barrier is also too high; you need too many years of
| serious CS education, usually a PhD. And then find a place at
| Google or Meta Kernel/Compiler teams, which is obviously super
| competitive.
| pkhuong wrote:
| I've been employed for a variable mix of system design and low
| level performance work my whole career... except for Google.
| There are definitely more than five firms that would pay
| reasonably well for my expertise, and my PhD was in
| mathematical optimisation.
| flyingfences wrote:
| > There are definitely more than five firms that would pay
| reasonably well for my expertise
|
| There are definitely more than five firms that would pay
| reasonably well for an ex-Googler with a "whole career" and a
| PhD, yes. The barrier to entry is too high for the rest of
| us.
| h2odragon wrote:
| Why design new, low level systems when our stacks are built on
| old, debugged foundations and work "well enough"?
|
| Who wants to think about cycles and bytes when everyone else is
| talking about gigabytes and "spin up another 1,000 instances" is
| the expected answer to every problem?
|
| Is anyone hiring these people? Look at the SoC world, the stuff
| that's being made with the expectation of taking advantage of the
| public code ecosystem... Would you even _want_ to work at a place
| like that? "Make the minimal system that passes tests; actual
| functionality is secondary" is not a good motivation.
|
| Even the RasPi people have blobs of ugly and seekrit hardware;
| and they're the epitome of "open" systems engineering now, aren't
| they?
| pjc50 wrote:
| Downvoted for the blind cynicism.
|
| It's true that the frontend side is awash with money, and that
| there are nowhere near as many such engineers, but we tend to
| be a lot quieter about it. A lot of people went into IoT.
|
| The economics of the hardware market mean that "open" is even
| more unprofitable than it is for software, which already has a
| bit of a crisis in terms of the few people holding up the world
| not being paid properly.
| evocatus wrote:
| > a crisis in terms of the few people holding up the world
| not being paid properly.
|
| Who? The farmers and sweatshop workers in frontier or
| emerging economies?
___________________________________________________________________
(page generated 2022-05-04 23:01 UTC)