r/AskProgramming 7d ago

What should I do ? (Begginer help)

I'm currently in my second year of college, and I'm a little confused about what career direction I should take.

The part of programming I enjoy the most is lower-level/system-side work. I started with C and socket programming, building servers and learning how TCP/UDP networking works, and lately I've been going deeper into things like Linux networking, packet parsing, Ethernet/IP/ARP/ICMP, eBPF/XDP, AF_XDP, NIC queues, drivers, DMA, etc.

The problem is that almost nobody around me in college is doing this kind of work. Most people are focusing on web development, app development, AI/ML, or standard DSA preparation

I've also heard people say that "there aren't many jobs in low-level networking" or that networking careers mostly involve configuring routers/switches or working with networking hardware.

That's where I'm confused.

I definitely prefer programming/software engineering work. I'm not particularly interested in being a network administrator or doing primarily hardware/router configuration.

At the same time, my practical goal is still to graduate with a strong software engineering job. I don't want to spend the next 2–3 years going extremely deep into an interesting niche only to discover that there are almost no entry-level opportunities.

So I'd really appreciate advice from people working in this area:

What kinds of actual software engineering careers exist for someone who enjoys C, sockets, Linux networking, servers, eBPF/XDP, packet processing, etc.?

Are these mostly experienced/senior-level positions, or are there realistic entry-level opportunities as well?

What companies/industries typically hire engineers for this kind of work?

Should I continue going deep into networking/systems, or keep this as a specialization while also learning more conventional backend/software engineering?

What skills would you recommend building over the next 2–3 years if the goal is to be employable as a software engineer while still staying close to systems/network programming?

Are there particular open-source projects, projects of my own, internships, or areas of computer science that would be especially useful?

I'm not expecting to work specifically on XDP just because I'm learning it now. I'm mainly trying to understand whether the broader direction — systems programming + networking + performance-oriented software — is a sensible career path.

9 Upvotes

8 comments sorted by

4

u/feudalle 7d ago

Things like that are best suited for firmware/hardware development, iot, robotics, os development. Its not flashy work but plenty of jobs out there for those things.

3

u/Minute-Pineapple-418 5d ago

low level networking jobs exist at cloud infrastructure and high frequency trading firms. These companies hire entry level engineers for kernel bypass and packet processing work. Build a userspace network stack or an eBPF load balancer to demonstrate competence. This portfolio gets you interviews where generic backend projects fail

1

u/Roronoa-Ryuma-Zoro 5d ago

Yeah I am currently working on making a ebpf load balancer as I have already made a config based epoll http server . But what do you mean by demonstrate competence ? Like, is there any specific benchmarks that I have to cross .

And according to you which project will be the best for me which I can also put in my resume

1

u/[deleted] 4d ago

[removed] — view removed comment

1

u/Roronoa-Ryuma-Zoro 4d ago

Thanks for your advice I will work on it

1

u/StableNo80 4d ago

Try both out if you see waht makes you fun then u will do it if ur bored with smth then just dont suffer and try smth else this helped me if you cant decide waht u wanna do but if u want to do both i would just go with programming drivers ore something in this way for routers

1

u/addsEve 7d ago

Start small and build simple projects. Don’t worry about learning everything at once.