Learning C from scratch – What projects should I build to become employable?

Hey everyone, sorry for making this post long but this would help out a lot. I'm relatively new to low level programming languages, and want to take learning it seriously. My goal isn't just to learn the syntax, complete a few tutorials, or solve programming exercises. I want to develop actual programming skills and eventually land a job where I can work with C, and other languages that work with C hopefuly without the use of AI tools since i want to learn. I'm particularly interested in systems programming, operating systems, embedded development, networking, and low-level software. I'm trying to figure out the best way to approach this without spending months jumping between tutorials without actually building anything. I have a few questions for people who work professionally with C: Learning resources: What books, courses, or documentation would you recommend for someone starting with C? Is starting with The C Programming Language (K&R) still a good idea, or are there better modern alternatives?, I like books and value them a lot more than videos or courses Learning fundamentals: Which concepts should I really understand before moving on to larger projects? Pointers, memory management, data structures, file handling, processes, concurrency, etc.? Projects: What projects would you recommend building that demonstrate actual C programming ability? I'm looking for projects that go beyond calculators and basic CRUD applications. Some examples I've considered: A custom memory allocator. A command-line shell. A simple HTTP server. A file system implementation. A multithreaded application. A basic database engine. Employability: What kinds of entry-level, or graduate jobs since i just graduated and cant find any opportunities that involve C? Embedded software, systems programming, firmware, networking, Linux development, or something else? Portfolio: If you were reviewing a junior developer's GitHub profile for a C-related position, what projects or technical skills would make you take their application seriously? Practical experience: How important is contributing to open-source C projects? Would that be a good way to gain experience and demonstrate that I can work with an existing codebase? I'd appreciate advice from people who have actually worked with C professionally, especially those who started as beginners and eventually got their first job, and i would love to be helped by people like you and if there's any way to be mentored im very open to that chance and opportunity and would make the best of it. I'm not looking for shortcuts. I want to build a solid foundation, work on meaningful projects, and develop skills that employers genuinely value. Thank you very much. ( linkedin.com/in/basharsoufan )

参与讨论