+ 1

Software Systems Engineers, what do you do and where did you start?

I don't want to write games or websites, I want to write operating systems and protocols! The content and community for languages like C is much smaller than that for web-code here, so I thought I'd ask some industry professionals. Working with systems seems like an important job, so how did you get started in the industry and what are your responsibilities?

17th Apr 2018, 1:57 PM
Jack Manhardt
Jack Manhardt - avatar
3 Answers
+ 1
I studied computer science and have worked in the industry for about 13 years after that. Now I teach computer science :) But writing code for operating systems is quite vague. Operating systems exist of a kernel, lots of drivers, libraries, usually a graphical UI, lots of user space programs to make the OS usable and then often some games as well. Relatively few people write kernel code or code for the graphical UI. Drivers are a lot more common, the rest is just programming like every other user space program. Writing protocols is hardly a full time job. Especially since most protocols are now text based and json or xml and most languages have libraries to support that. If you are attracted to low level programming, what I think you are describing, there's a big, varied and interesting world open for you. Here, near Eindhoven in The Netherlands there's literally hundreds of jobs available for you, but all of them require a relevant degree.
19th Apr 2018, 5:06 AM
Freddy
+ 1
A driver is a piece of code that sits in between the kernel and a piece of hardware. Some hardware works in a generic way, think USB mouses and such so they have 1 generic driver built into the system. When you build a system you typically have some peripherals or hardware that you have to control. Let's take a digital camera as example: those usually have a dedicated hardware block for jpg and video compression. To talk to that block you need a driver. Then there's a sensor, some buttons, a display,... Same for those :)
20th Apr 2018, 5:54 PM
Freddy
0
Freddy Thanks for the reply, the world needs more computer science educators. Eindhoven is a bit far from home, but I think you're right about the kind of work I'm striving for. If I understand correctly, most devices today run some kind of operating system (say, linux), and need some code to interface with that os (a driver). When I hear driver, I think computer peripherals like a mouse. Does that extend to things like, say, a piece of lab equipment?
20th Apr 2018, 5:33 PM
Jack Manhardt
Jack Manhardt - avatar