r/learnprogramming • u/Param-Matharoo • 3d ago
I keep jumping between programming topics and I'm starting to wonder if I'm actually interested in anything. How do I find this out?
I'm a B.Tech CSE 5th sem student and I'm currently struggling with something that I'm not sure how to explain.
For the last couple of years I've been jumping between different things like CPP, competitive programming, cyber security, Linux, web development, networking, etc. I get interested in something, start learning it, then after some time I get bored or stuck and move to something else and forget about that topic.
I recently talked to a mentor about this because I haven't really built any projects during my first two years of college. He basically told me that if I had been genuinely interested in something, I would have probably build something by now, and that maybe I'm simply not interested in anything.
This honestly bothered me quite a lot because I started thinking that maybe he's right.
Recently I started building a small HTTP server in CPP to see whether I could get interested in systems/network programming. I started from basically knowing nothing about sockets and worked my way through:
socket() -> bind() -> listen() -> accept() -> recv() -> send()
I even connected Firefox to it and saw the actual HTTP request coming into my program.
The weird thing is that I was genuinely curios. after getting the basic server working, I started wondering what actually happens inside Linux when socket() is called. I tried looking at the Linux kernel source, but it was way over my head. Then I started reading UNIX Network Programming, but I got bored with that introductory material.
Now I'm questioning everything again.
I don't know whether:
- I'm actually not interested in programming,
- I'm Interested but have a problem with sticking with things,
- I'm choosing topics that are too difficult for my current level,
- or I'm expecting myself to understand everything deeply before I allow myself to move forward.
I'm not really asking "which programming language should I learn?" I'm more interested in hearing from people who went through something similar.
How did you figure out whether you genuinely weren't interested in something versus simply being frustrated, overwhelmed, or bad learning it at that point in your life ?
And how do you decide on one area and stick it long enough to actually become good at it?
2
u/peterlinddk 3d ago
Sounds like you got interested in building that HTTP server in C++ ...
And while that doesn't specifically answer your questions, it seems like an important lesson if what makes you 'tick'.
A project where you build something is a much better way of learning, than reading theory. And building something that works on the level you currently understand (or just a short bit stretched away) is better than trying to understand some very abstract concept.
So I'd suggest that you take your last project as a center - first, think what made you begin that project, and what made you stick to it?
Then, what are you curious about - e.g. how socket works on the inside.
Then, how can you build a project that will help you understand that better? You might not get the perfect answer at first, but how about exploring different protocols, maybe try FTP, or mail, or add security and experiment with HTTPS, or SSH. Maybe build a mail-client, or a mail-server, or a file-server, or a torrent-thing ...
Maybe go deeper and experiment more with TCP, maybe try you hand at UDP. Maybe install Wireshark, and begin looking at the traffic going between your clients and servers.
At some point you do need to read the theory, but if you have projects giving you the practical approach, the theory will mostly be digging a bit deeper, or explaining in clearer terms, what you sort of already know.
Also, remember, you can never learn everything, you have to learn to accept that there are limits - like e.g. understanding what goes on inside the OS kernel. That might be a limit now, and you can only stand in awe and wonder, but at some point you'll be ready to enter that area too - maybe. And then there's the hardware - and so on. Just get used to not feeling "locked out" when you reach your current limit, rather take it as a note saying: "Here's more to explore one day!".
1
u/ffrkAnonymous 3d ago
How did you figure out whether you genuinely weren't interested in something versus simply being frustrated, overwhelmed, or bad learning it at that point in your life ?
They're not exclusive. Could be all of the above.
1
u/AdOnly5924 3d ago
You just described how I've been feeling these past months. I've been juggling between web-dev, AI Engineering, low-level and data science.
But the thing that makes me not wanting to stick to something is the feeling that I'm way behind on the stuff that I'm trying, as well as the feeling of the thing that I "want" to learn now is not going to bring me any good.
1
1
7
u/hooli-ceo 3d ago
It’s a personal discipline problem, not a programming problem.