[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)