News for hackers. Stuff that matters.
Re:From full-stack development to systems programming by cmrdporcupine on Monday March 25, 2024 @01:21PM (#39818941)
I too have made the transition from "full stack" (well, backend mainly) dev to systems (& embedded) over the last decade or so. I generally present myself as a "software generalist with a systems focus" -- I'm by no means a systems eng expert, but it's become my sometimes fanatical interest and I love working on "harder" CS and lower level problems. But TBH I'm seriously considering doing a bit of a voyage back into the backend of web-facing stuff.

And only because the job selection -- especially locally, (and remote is getting harder to find) -- is far far better. Even if the type of work isn't usually as interesting. 9/10 of the jobs out there are some variant of this.

Re:From full-stack development to systems programming by FourierEnvy on Monday March 25, 2024 @01:27PM (#39819031)
It can be scary to pigeon hole yourself into any specialist category with which it gives you less freedom of choice in the market place and be forced to make hard decisions on where you live and work. At least for me it's why I continually push towards being a generalist. That is, of course unless your talents in some specialist area are so fundamental to most companies that you'll be sought after for those skills and paid handsomely for the fact.
Re:From full-stack development to systems programming by pphysch on Monday March 25, 2024 @01:46PM (#39819272)
Backend engineer with sysadmin/OS knowledge is a powerful if not necessary combo. A great backend engineer will have a working knowledge of k8s/systemd/etc and their OS kernels. They won't be afraid to look at some lower-level C source code to debug something nasty.
Re:From full-stack development to systems programming by devwastaken on Monday March 25, 2024 @02:27PM (#39819668)
What was your path into systems and embedded work? I'm familiar with embedded arm tool chains enough to build some interesting devices, but not knee deep enough to do something like say build medical or space devices.
Re:From full-stack development to systems programming by cmrdporcupine on Monday March 25, 2024 @03:32PM (#39820403)
I have worked on the "soft" side of embedded for some time, and by that I mean Linux on ARM SoC systems. That transition came about while I was at Google, and was able to transfer out of ads and onto various consumer hardware teams. And was concurrent with a personal interest in hobby electronics, microcontrollers, FPGAs, retro computing etc. I worked on the Nest Home Hub and some other similar things at Google.

These days I work on some systems for autonomous agriculture, which is mostly in Rust, and again Linux on ARM SBC type work.

Really, I wouldn't say I'm an expert in embeddedd; I'm no EE, and while I've played with board layout I'd never trust me to build hardware :-) And I've never been the person doing initial board bring-up, though that could be fun. So, again, generalist with a lower-level systems interest/focus.

Anyways the transition happened roughly on that path. With a zig-zag over to database internals for a bit which was also very cool. FWIW I've been a software developer in some form for about 25 years now. Maybe more depending on how you define it.

I'd say embedded is a bit of a trap and a mixed bag career wise though. Others here have made this observation before: EEs are in my opinion underpaid, and work adjacent to EE suffers from the same problem. It's a bit like gamedev, people like to do the work which I think increases competition for jobs? Something like that.

(That said I'm happy with my compensation right now)

(Also even the ads side at Google was a bit systems-y; realtime bidding, low latency, all in C++, a bit of mixture of high and low-level.)

Re:From full-stack development to systems programming by wofo on Monday March 25, 2024 @04:27PM (#39820925)
Thanks for writing this! I'm not the one who asked the question, but I found it inspiring :)
Re:From full-stack development to systems programming by bitwize on Monday March 25, 2024 @02:17PM (#39819569)
"Beware of bugs in the above code. I have only proven it correct, I have not tested it." --Donald E. Knuth
Re:From full-stack development to systems programming by fmajid on Monday March 25, 2024 @02:30PM (#39819710)
I may be showing my age, but for me "full-stack" has always meant someone who can program from device drivers ans OS code all the way to the application, not a web developer who can do both the JS front-end and web app server backend.
Re:From full-stack development to systems programming by mmcdermott on Monday March 25, 2024 @02:41PM (#39819845)
There's some generational drift at place, for sure. I have heard "Full Stack" to mean JavaScript FE + service layer BE in a lot of the line-of-business world. I assume it is mostly a reflection of where widespread economic activity for software development takes place. The vast majority of companies aren't writing device drivers or kernel modules.

It's kind of like reading old (pre-XP) texts about testing that refer to testing a program in a family as "unit" testing. Not technically wrong because it all depends on how you define a unit, but definitely a sign of linguistic and economic drift.

Re:From full-stack development to systems programming by ofrzeta on Monday March 25, 2024 @03:20PM (#39820291)
I am old, too, but for me the term "full stack" only showed up during the last decade or so, in connection with web programming, meaning "frontend and backend". I never heard anyone using it your way. Actually I think I never met anyone coding devices drivers as well as GUIs :-)
Re:From full-stack development to systems programming by AtlasBarfed on Monday March 25, 2024 @03:52PM (#39820571)
It has a bit of infrastructure as code / drops implied, but ultimately it is a term to make "JavaScript programmer" sound more important.
Re:From full-stack development to systems programming by cmrdporcupine on Monday March 25, 2024 @05:28PM (#39821454)
Yeah from a distance it seems the thing that has happened that significantly changed things is that JavaScript became an acceptable backend language. So the split between people who wrote JS on the front side of things, and people who wrote Java/Ruby/Python/C# (or, err, PHP or... going back... Perl) on the backend has mostly vanished. And the new term became "fullstack" which, I dunno, it's kind of a funny term.

Having been out of web-facing things for a long time, I think I'd feel pretty alien being dropped into a TypeScript-on-Node codebase. I'd have no problem picking it up having played with it a bit over the years, but it still strikes me as a bit odd. And I find the JS frameworks out there like React etc absolutely terrifyingly overwrought.

Re:From full-stack development to systems programming by AtlasBarfed on Wednesday March 27, 2024 @03:31PM (#39843549)
The only way a bespoke component model framework works is if everyone adopts it. All the multitude of Java component-based web rendering systems failed.

Luckily for react everybody did basically adopt it so their component model did not fail.

It is always funny to watch people mock Java in the 1.0 version of their framework and some other thing and then come back and look 5 years later and their stack is easily or greater and complexity than the old Java stacks.

Re:From full-stack development to systems programming by anon291 on Monday March 25, 2024 @05:58PM (#39821713)
Well in general, I've noticed 'computer scientist', 'software engineer', etc has come to be synonymous with 'web dev'. I'm an AI compiler engineer, and when I introduce myself to people who I meet who themselves are web dev engineers (which is the majority), they'll ask me 'what framework' I use (obviously supposed to mean React, Vue, etc). No judgement.... just something I've noticed