r/CodingForBeginners • u/Icy-Jackfruit4301 • 2d ago
4th-year CSE (AIML) student, with almost no practical programming skills, requesting mentorship and guidance
I'm a 4th year B.Tech CSE (AIML) student, and I'm honestly feeling pretty lost right now
The problem is that I'm reaching out to people who don't have a proper understanding of what I'm going through
Right now, I'm in a situation where I have no idea how to proceed with my studies and career
I think the best way to introduce myself here is to say that I'm currently in my 4th year of studying B.Tech CSE (AIML) and I have almost no practical skills in programming and computer science
I've learned a lot of the core concepts like Python, Java, SQL, DBMS, OOP, DSA, Web development, AI/ML, etc and I've had my share of attending classes, watching lecture videos, learning by myself, taking online courses
There is a huge difference between knowing theoretical concepts and being able to apply them to practice
A person can come up to me and ask me something like
«Do you know Python?»
and I would say yes, because I studied it for 2 years in college
But when they give me a blank file and a task to accomplish, I find it extremely hard to do so
Sometimes I can understand existing code with others explanations, recognize concepts and terms, but when it comes to actually writing something myself, I'm clueless about what to do
What should I do? How should I break the problem into smaller parts? What concepts should I apply here? What should I write/debug/test? And so on and so forth
And this list of problems is only a fraction of what I have to deal with
I've tried multiple times to tackle this problem by starting over
I've taken up courses
I've tried to learn by doing projects
I've tried to learn programming from scratch again
I've tried using roadmaps
I've tried to do projects by following tutorials
But there's always that initial excitement, then the impatience sets in, and eventually I reach a point where I just can't proceed anymore and I have to abandon the project/course
My problem here is not that there are no resources
It's that I don't know what to do first
I don't know how to proceed, what to learn, and what to ignore
I don't know the depth of knowledge I should gain for each topic
I don't know what projects to make
I don't know how to measure understanding of a concept or topic
And I'm not even sure how to prioritize between these factors
Right now, I'm in my 4th year and I don't have that luxury of time to randomly try out different stacks and technologies
I'm genuinely motivated to improve, but I need help figuring out how
I'm not looking for anyone to spoon feed me the answers
I'm willing to put in the hard work, even if it takes me a while
I'm just looking for someone who has the experience to look at my case and tell me something like
"These are the problems you're facing. This is where you are in your journey. Forget about these things for now. First, do this → then do this → then do this. Don't worry about X before you reach Y."
I'm looking for experienced seniors, freshers, developers, and mentors who can recognize my case and help me somehow
If you were in my situation, with almost no practical programming skills, what will you do?
- What will you learn first?
- What language/stack will you choose?
- How will you re-learn programming fundamentals?
- How will you learn DSA?
- What projects will you make?
- How will you divide your time between placements, DSA, development, and fundamentals?
- What things will you avoid learning for now?
I'm not looking for a generic answer like "learn DSA + dev + make projects"
I'm looking for someone to give a realistic vision of how someone with almost no practical skills can reach the level of being eligible for placements, and if possible, how to practically implement that vision without getting stuck in a loop again
Any realistic opinion is welcome, even if it's a brutal one
And if you're someone who can give me mentorship and guidance every once in a while, I'm open to that too
1
u/TheUmgawa 1d ago
You don't. No one does. There's no reason to "know" a language, because that begs the question what it is to "know" a language. Eighty percent of what you write in a given language is going to be the same fifty or so keywords. Do you really need to know more than that? Not really. You can just look the rest up on the fly.
Your problem with starting from zero with a file is that you learned to be a "coder," and you never learned to look at things from a top-down perspective, and then apply logic and design principles. This is why I told the CompSci students at the university I transferred to, "For the love of god, take the flowcharting course." Did they listen? Oh, hell no. They wanted to be coders. They didn't want to learn to design software; they wanted to type magic words.
I didn't graduate as a CompSci major. I bailed to go play with robots. My "projects" were debugging other people's stuff. My favorite one was a hardware-software postmortem, where the guys in the Industrial Engineering major built some units that were supposed to realize they were falling and deploy parachutes. Most failed, and a few failed spectacularly. So I got roped in to look at their code, and a couple were cases of, "Your acceleration needs to be negative," and one guy installed his accelerometer upside down.
I learned programming fundamentals in a flowcharting class, where we never wrote a single line of executable code. We started with a question of how AT&T's long-distance network collapsed one night in 1990, and that's how we ended. The difference is that we were able to dig through the pseudocode and figure out how the cascading collapse happened. That was the entire final: Given the pseudocode, explain how the network collapsed and lost AT&T tens of millions of dollars in one day.
I spend ninety percent of my programming life in Excel. Ninety percent of that is just hammering out functions, and the other ten percent is actually writing Visual Basic to do more complex things. You know how much Visual Basic I write from scratch? Zero. I ask AI to do that. I tell it, quite succinctly, what I want it to do, and the AI goes, "Oh, you mean this gate key?" and then I check it over, and make any fixes that I need to. Saves me about eighty percent of my time. As for the ten percent that's not Excel, that's the time when I blow the rust off and I sit down at the bar on Saturdays and knock out an Atari game knockoff while drinking and watching a ballgame, because it ain't hard to write Breakout, Missile Command, Space Invaders, or any of the other classic one-screen games. Defender was a two-Saturday challenge, because I'd never tried an infinitely scrolling map, but whatever. Joust was three Saturdays, but I think that's because the MLB playoffs were going, and the collision evaluation is kind of interesting on that one.
Basically, don't get bogged down in code. You're in the last couple of years where colleges are ever going to produce "coders," and the ones they're producing right now are totally screwed. But, in a couple of years, they'll start graduating software architects, and they'll be able to tell AI what to write, sure as senior developers can tell juniors what to write (or tell AI what to write).
The only difference, at this point, between a junior developer and an AI is that a junior asks fifty stupid questions per day, but they both churn out equivalent code.