HACKER Q&A
📣 markus_zhang

How did you get into a professional system programming life


Hi friends,

Wondering if you could share the story of getting into a professional sys prog life? The definition of System programming can be taken directly from wikipedia btw.

Did you get hired directly after graduation or did you gradually moved into one? Which decade was then?

Thanks for sharing =)


  👤 PaulHoule Accepted Answer ✓
I am an applications programmer but I'm good at systems work which I occasionally have to do to make an application work.

I think it was 1983 or so, I was about 11 years old, when I started programming 6809 assembly language, I did later for the PC, I'd say in 1988 you might write a program in Turbo Pascal but it was not unusual to use assembly.

When I was in college I skipped the intro level programming class and took a class in C and in TeX instead. In retrospect I wish I'd taken a class in compilers.

I earned a PhD in theoretical physics and did a lot of numerical coding to support that, then I went into the "real world" and started making interactive web sites.

Circa 2010 or so I got interested in information extraction, writing parsers, etc. I can take a free class next semester but probably won't take that compiler class because I think I've self-taught myself past what is in that class. (Might take something to do with UI design or fine arts instead)

I've also done my share of "data science" work where sometimes I'm faced with a job that would take 100 years to run and figure out how to get a really good approximate answer in 20 minutes and other tasks that involve finding bottlenecks in a system.

Just lately I am getting into embedded systems, coding them in C because it's portable and pretty easy to do, but wanting to get back into assembly because C's "automatic" memory management is a complete waste for the programs I write.


👤 tgflynn
The definition you cite: "application programming aims to produce software which provides services to the user directly (e.g. word processor), whereas systems programming aims to produce software and software platforms which provide services to other software" seems to me to be too broad to be of much use in the context of modern software engineering.

By that definition just about any software that doesn't include a UI could be considered "systems software", but I suspect most backend web developers don't consider themselves "systems programmers".