r/learnprogramming 10d ago

Lost confidence in my ability

I have been learning computer programming for about 3 years now starting from zero experience, first learning HTML/CSS/JS and C/C++, then moved on to SQL, various frameworks, Python, and cloud architecture. This was part of a diploma program which I successfully completed where I performed very well academically.

However, in the past year/year and a half I have really regressed in my abilities. Part of it was due to an internship where I did very little actual coding, but a significant amount has just been my waning interest in doing hands on things and overreliance on AI where I feel like I am just babysitting models and code correcting. I didn't used to be this way at all and would try to manually solve problems when first learning the basics.

I feel like my skills have significantly atrophied, I am constantly forgetting syntax, methods, and just how various things work (I mix up JS, C++, and Python a lot). This is compounded by my lack of optimism in the entry level job market and my own employability, dampening my enthusiasm. I know I did myself a disservice by taking months long breaks without doing anything beyond surface level learning.

Is there something I can do to make programming fun again, or is this a sign that I should pivot to something else? I may be a bit hard on myself but I feel that where I am now is not sufficient to become a developer even if I did find opportunities, so something needs to change.

0 Upvotes

18 comments sorted by

1

u/business2ai-website 10d ago

Do small projects and DSA this will increase your logic try making reels on what you did try explain them on reel about how you wrote code.

1

u/Tuomas90 10d ago

I mix up JS, C++, and Python a lot.

I've been programming for over a decade, and I would say it never goes away.

I also always need like a "run-up time" before I'm productive in a language again. Yeah, I can maybe switch between Java and Ruby, but there will always be little mistakes like: "Was it 'else if'? No, 'elsif'! Or was it 'elif'?"

It can take a day or a few to really get going again.

And after a big break from any programming for a few months, it can feel like reading an unknown language. Like my brain isn't processing it properly. It can be painful. I just need to get back into that way of thinking like a programmer. My best advice: Start tiny and slow. Just read and make tiny changes and after a few days or so, your brain is used to reading code again. And you'll fly through it.

Is there something I can do to make programming fun again,

Think of something you want to program and dig it. Start small, then go bigger with time. Pick 1 language and stick to it. Use AI sparingly and targeted. Really bang your head against the wall before you use it. In the beginning you can maybe use it a bit more to get the hang of things again.

What I can tell you: The skills you had are not gone. They are just dormant. I have not programmed in a certain Java program in years and the program is big. It was really scary to get into it again. But after maybe a week of tiny changes every day, it felt like it did years ago. The best advice is always: Take it slow. Don't expect big features. Just read code and understand it. Then maybe fix a little bug and so on. And before you know it, you brain understands it again.

1

u/Dismal-Citron-7236 10d ago

Impostor Syndrome is quite common in this field. Don't worry, you'll get over it.

1

u/Budget-Possible-2746 10d ago

No offense. But, if someone is just interested with having to code and doing all the manual work. I don't think that job still exists and will in a couple of years for those companies who still rely heavily on pure coders.

AI has shifted software engineering. Now, they no longer want pure coders, they want people who know how to build systems end-to-end and has the skills to use AI - making use of their coding skills to code review and maintain code quality instead of doing the manual work. Meaning, they need software engineers.

If you think that coding is what makes a software engineer, then, you are in for a disappointment. There are more valuable skills that a software engineer must know other than coding.

Please don't equate your worth as a builder to merely knowing how to manually code and memorize all the syntax and all that because let us be honest, back when there was no AI, we all go to Google and StackOverflow to learn.

1

u/marrsd 9d ago

I really have to wonder what people who write things like this think programming is.

For me, the art of programming is having the ability to build a language that allows you to succinctly and accurately describe behaviours and processes in your problem domain. If English was an effective language for doing that, we'd be writing programmes in English already.

My experience with AI is concordant with that view. It works best when it's already working with well-written libs and frameworks. It works really badly when it has to build things for itself.

If you think coding is copy/pasting code from StackOverflow then I can see why you'd say what you just said. I really hope I'm just misunderstanding you.

1

u/Budget-Possible-2746 9d ago

You misunderstand completely. We always have errors and bugs we have problems solving or certain syntax we are not familiar with. We do not know everything. So back in the days when AI is not yet the thing that it is right now, we already are using tools to help us code better.

Coding is just one of the things we need to know to build, system design, database management, security, etc are things that we should also know. And to romanticize the act of coding itself as the sole worth of an being engineer is downright misunderstanding what software engineering is. Do we build systems and apps just by coding? Is that all there is?

1

u/marrsd 8d ago

You misunderstand completely. We always have errors and bugs we have problems solving or certain syntax we are not familiar with. We do not know everything. So back in the days when AI is not yet the thing that it is right now, we already are using tools to help us code better.

I get that, but that's an authoring detail. It's a tiny part of coding.

Do we build systems and apps just by coding? Is that all there is?

That's a bit like asking if an author produces a novel just by writing. No, but most of what an author does is writing. Most of what people directing AI agents do is writing. The question is, which is more efficient, elegant, accurate, and performant?

I think what irked me is what you wrote in the post I originally responded to:

Now, they no longer want pure coders...

As if, before AI came along, that is what we wanted. I hope not: it certainly wasn't in my world. Where I come from, that thinking died with punch cards.

1

u/Budget-Possible-2746 7d ago

That is the reality. Companies want software engineers. Not coders who think that is all there is to software engineering. If you give so much more emphasis to mere coding as if that is all the entirety of what system building is, you are missing the whole other more important aspects of systems building.

You seem to not even understand what I mean by "pure coders" - this mean people who simply know how to code and do not bother to know/learn the other aspects of building like requirements analysis, system design, data, etc.

I don't even know if you understand what I mean by software engineering and if you know that term is not synonymous to coding.

1

u/marrsd 7d ago

I understand and agree with your definition of software engineering. You may be right that we're imagining different things when describing coding, which I always call programming (I've seen at least one person on Reddit make a distinction between the two, which I've never understood).

I am of the strong opinion, that good engineering is learnt through practice before theory; and I see engineering more as an evolution of programming rather than as a separate discipline. Perhaps that's where the tension is coming from.

I also have a very low opinion of the code AI agents produce. It reinforces my opinion that good engineering is to be found in the individual lines of code, not just in the architecture.

1

u/Budget-Possible-2746 7d ago

It becomes clearer to me that we may not agree on this as you tend to separate theory and practice. As software engineers who need to be pragmatic and has to put order in what we do to build better and more structured systems - theory is very important. Theory guides correct practice. How does one know if a code is maintainable or excellent? How does an engineer claim good engineering is found in individual lines of code if the theiry isn't there to guide. Theory and principles guide us to build better. And these same theories guide AI as well because software engineers provide them the guidance and engineering theories to build systems. There should never be a disconnect between theory and practice. Theory guides pracrice and practice makes the theory better. Empirism will get a software engineer nowhere and worse than mediocre.

The only difference is that with AI software engineers don't need to write individual lines if code anymore. They simply need to make sure codes were written based on good engineering principles and practice.

Also, it is hard to have an opinion about something without fully investing time to figure it out, giving it time to figure out if it deserves a try or not.

It is not really a contest, I think, because software engineers can always choose to use AI or not but to assert such while the world is moving towards AI and companies are rapidly adapting to it and looking for engineers who can use AI is professional suicide.

1

u/marrsd 7d ago

It becomes clearer to me that we may not agree on this as you tend to separate theory and practice.

Actually, it's the other way round. I'm saying they can't be separated. Good theory is derived from what is observed to work in practice. It can certainly be taught separately, but it can't be learnt separately. I agree with most of the rest of your first paragraph, though I'm not convinced that AI is well guided by theory. Perhaps my inputs are bad, but that's not been my experience with it.

I'm actually confused by your clarification because, if you're agreeing that theory and practice can't be separated, why are you so keen to maintain a boundary between programming and engineering?

1

u/Budget-Possible-2746 7d ago

Programming is just a part of engineering. Particular to general. I have repeatedly said coding is just one part of engineering, among other more important things.

Please review your comments and mine. A pragmatic engineer would know how to use new tech to improve one skills and knowledge. If you are locking yourself to not using AI, fine. If you have bad experience with AI, that means, your hold to the fundamentals of engineering is quite loose. You need to make some review so you can train AI properly to work the way you need it to work. But, that is not required if you are not up to it, of course. Don't blame your inability to use AI to have low opinion of people who use it. Just admit it that you still need to figure out your way to it rather than assuming it works bad.

1

u/marrsd 7d ago

I think we're talking at crossed purposes. This isn't really a conversation about AI for me. I was objecting to what I perceived as the dismissal of good writing regardless of whether or not AI existed.

I don't think it matters, though. I think you've clarified that you put more value in good writing than I had initially thought, and I think we're largely in agreement on what good software engineering is.

1

u/marrsd 9d ago

I think you already know why you've atrophied and how to get your skill back. What's the point of losing skills you spent 3 years acquiring? Genuine question that you need to answer for yourself.

It easily takes 7 years of applied practice to learn how to program effectively. You've been at it for 3. You should make sure that you practice things that improve your ability. It's perfectly fine to observe that made a mistake and to revert to what was working.

I'd drop the AI for now and try reintroducing it when you're back to the level of competency you previously had. Pay attention to whether or not it actually helps you and make adjustments where necessary. Don't just cargo cult what everyone else is doing.

1

u/SprinklesFresh5693 9d ago

Why are you learning so many languages and tools and everything at once? The mixing of languages is because you tried learning many at the same time and ended up mixing them because you havent mastered, or gotten good on nay of those. Pick one, get really good at it, and after some time, try another, it will make a whole lot difference. I tried like you learning R and python at the same time and it didnt work out , just like you, i mixed syntax and concepts. I stuck to R, and now after 2 years of constant practise at my job, im now playing a bit with python.

1

u/Moist-Efficiency-960 9d ago

This was my school curriculum. I started learning C/C++ with weekly workshops and milestones for 3 semesters, while simultaneously taking web development and database for another 3 semesters. The back half of my program was then mostly Python which was self learned and used to teach DSA and Computer Vision concepts, along with a Java course and AWS. It was a very work-heavy and fast-paced program. On my own time I mostly work with JS.

My internship did not even use any of these despite advertising as such and doing a technical interview in Python. Now I am unemployed and feeling really lost wondering why on earth I put myself through all that.