Hacker News new | ask | show | jobs
by eplanit 1762 days ago
You should try embedded systems work, Board Support Package (BSP) development, in particular. BSP development is about adapting an OS to a particular (usually new) board design/implementation. You have to understand how the system works from a bare-metal perspective, and most everything is problem-solving. The guiding motivation is what I came to call FIO "Figure It Out" -- often with little and/or poorly written documentation. It'll get you deep into the kernel (of whatever OS), device drivers, chip specifications (architectures, register configurations, modes of operation, ...), SoC's, microcontrollers, ... It's a fascinating, though low-level, world.

I advise this sincerely, as I did it for 10 years, and enjoyed it a lot. However, I got myself back "above ground" and into systems and apps again, because my inclination is actually exactly the opposite of yours: "I could care less about “making” things; all I care about is “fixing” things".

Over time, although the gratification of getting things to work remained, I grew tired of FIO every. single. day. I longed to again design and create solutions -- to "make" things. Different strokes for different folks. Best of luck to you.

1 comments

Excellent advice. You ultimately can’t argue with a machine after all. I feel I should tell HN the circumstance under my termination for posterity. I was assigned a bug to fix on a new system that was designed in isolation by my coworker. After about a day, I realized that the bug didn’t exist. The bug was actually a large feature my coworker never implemented, but no one noticed, because it was on the back end. My coworker was severely autistic but could function if he didn’t need to communicate with others and often had fits. Because he was the first employee, my boss didn’t realize this fully until I was hired. Some months prior, my boss had told me the coworker was slated for termination, as he was bringing more developers onboard, but this was supposed to be down the road. Knowing my disabled coworker would be fired if I told the truth, I did what I thought was the responsible thing, and quietly worked on implementing it at night. However, after a week, my new manager was irate with me on why the bug wasn’t fixed. I was forced to tell the truth but was sleep deprived and lost my temper for the first time in my career. As a result apparently my manager didn’t understand what I told him, and because he was the younger brother of my boss, I was terminated instead. Maybe it was for the best, but sadly I heard that my coworker was fired about three months into lockdown, I was terminated the very day lockdown began. He will never find another job, but I will. Not long after that I heard my manger quit for a better paying job. Am I the asshole? At any rate, I think you’re right, but how hard is it to break into embedded programming? I actually started learning OS design not long ago and finished learning C and Rust, but never considered it an option career wise.