Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I always saw a lot of ads of programming jobs before.

But I never saw an ad of operating systems development job before. I also never met personally someone who worked as operating system's programmer or something related to osdev before (I once saw a teacher at college talking about it, but I can't remember if she was talking about osdev).

I would like to know:

  1. What are the qualifications for an osdev position (years of experience, college/university, languages, etc)?
  2. What a beginner that wants to work in this area should do?
  3. How the work a of an OS developer looks like?
share|improve this question

closed as off-topic by MichaelT, Dan Pichelman, GlenH7, Bart van Ingen Schenau, jwenting Oct 16 '14 at 13:51

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – MichaelT, Dan Pichelman, GlenH7, Bart van Ingen Schenau, jwenting
If this question can be reworded to fit the rules in the help center, please edit the question.

2 Answers 2

up vote 6 down vote accepted

Most required skills would be excellent practical knowledge of C or Assembly languages. Plus, some CS education and work experiences.

Here is the detailed list of minimum requirements that are usually asked.

  • The qualified candidate has excellent C skills and is proficient in all aspects of software development, including design, specification, implementation, testing, documentation and version control
  • The candidate OS developer has excellent knowledge of Operating Systems for embedded systems: e.g., Linux, RTEMS, eCos, or similar;
  • The candidate has 2+ years of experience in software development for ARM-based SoC;
  • The candidate has experience in porting real-time OS to SoC platforms;
  • BSc or MSc in Computer/Electrical engineering.
share|improve this answer
Excellent answer. Where did you got that? Your answer says "Computer/Electrical engineering", what about compsci? –  Victor Jul 12 '12 at 21:32
This is obviously pasted from a specific job advert (like many vacancies, the one guy in the world who has those skills just quit, and as they have no idea what he really did, they pasted the skills list from his resume into the job advert.....) - There is little advantage being an ARM expert if you are writing an OS for an x86. Experience in # of years is irreverent unless/until you have specific job in mind. –  mattnz Jul 13 '12 at 0:43
quick info, presented list of requirements was compiled from job posts. –  Yusubov Jul 13 '12 at 1:26

This is not a complete answer. But you maybe need to know


  • subject: memory management, Process Management(SCHEDULING, IPC), File Management, I/O System Management, Device management(device drivers),
  • Algorithms for: ...
  • OS Architecture(Monolithic, Layered, Mikrokernel, ...)
  • Types of OS: Real time OS, Single User single Task, Single User Multi Task, Multi User Multi Task
  • Computer Architecture (CISC, RISC, ...)

Programming Language

  • Assembly, C

Maybe you do not need to be a expert in all this subject, but you must have a good understanding about the subject you want to work.

PS: All this subject is part of computer science course - http://www.acm.org/education/curricula/


share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.