I really enjoy systems programming, especially the Linux kernel, C, Rust, assembly, and understanding how bits and bytes work. These topics come naturally to me, and I'm considering focusing on low-level programming instead of web or mobile development, which I don't enjoy and struggle to stay motivated with. Is it realistic to find a low-level programming job without a degree, particularly a remote position? If so, what would I need to demonstrate to employers?
5 Answers
Yes, it’s possible, but not easy. You’ll be competing with applicants who have computer science, computer engineering, or electrical engineering degrees, so you need another strong way to prove your ability. A substantial portfolio, accepted contributions to serious open-source projects, and a deep understanding of operating systems, computer architecture, concurrency, compilers, and memory management can help you get past that disadvantage.
Networking can make a major difference because automated hiring systems may reject applicants who lack a degree. Talk with engineers working in systems or embedded development, attend relevant events, contribute consistently to projects, and ask for technical feedback rather than immediately asking for a job. Also keep strengthening your fundamentals—being interested in low-level programming is a good start, but interviews will test whether you understand the underlying concepts rather than just the syntax of a language.
You don’t necessarily need to switch to web development. Specialized fields can actually have less competition, although employers usually expect stronger evidence of competence. Build projects that demonstrate real systems knowledge: a small operating-system component, compiler, debugger, networking tool, embedded project, filesystem, or performance-focused application. Document the design decisions, tests, benchmarks, and limitations instead of only posting code.
Low-level work is a broad category. Systems programming, embedded development, kernel work, hardware-adjacent software, and high-performance computing all have different expectations. Many embedded and hardware-focused employers prefer an EE, CE, or CS degree, while some software companies care more about demonstrated skill. Either way, you’ll need more than basic familiarity with C or assembly—be prepared to explain things like virtual memory, caches, synchronization, processes, and computer architecture in detail.
A first remote job with no degree and no professional experience is extremely unlikely. Remote roles are competitive even for qualified candidates because companies can hire from a much larger pool. An in-person or hybrid entry-level role, internship, contract position, or smaller company may be a more realistic way to get started, and remote work becomes easier after you have proven experience.

Would meaningful open-source contributions matter more than having several personal projects?