### #CodingStruggles #LearnByBuilding #SoftwareEngineering
Hey everyone, I just wanted to share my journey of how I learned to code after a lot of struggle over the years and hopefully it’ll help other people that are also struggling.
#### The Struggle
For some context, I started doing a comp sci degree hoping to become a software engineer but had to swap to a degree in IT because I struggled to pass the hand-written coding exams for my subjects. However, I still tried to learn how to code on my own following online tutorials and whatnot, but kept dropping in and out of it because of how busy I was with uni already.
#### The Turning Point
Fast forward to January this year, I started a graduate program for a company where they rotate me through various IT teams (4 months in every team for a total of 12 months) and then I get to choose to stay where I liked working the most. My first team happened to be a software engineering team. They gave me my first project (a full-stack web app) and they basically just told me to research and choose whichever framework, language, etc that I want and just start building it.
#### The Shift in Mindset
At the time, I’ve never built a full-stack web app before so I had no idea what I was doing. I was pretty much going in this blind because I only knew very basic coding concepts and now I had to build a production-ready web app. So I decided to do a quick 2-3 hour walkthrough on svelte using the tutorial on the svelte website and I just start building…
#### The Lightbulb Moment
Did I know what to do? No… but whenever I got stuck I just researched it, understood why I was using said solution, and just moved on to the next step. Repeated that process until I eventually (2 months later) finished the web app. I was so proud of myself for finishing it but I got that same sense frustration as I did before because I felt like I didn’t remember anything or not knowing any of what I just built. I was feeling a bit bummed but the team being happy with the final product kind made me feel better.
#### The Realization
When I had this light bulb moment, I realized that I was going about learning how to code incorrectly. I built one thing and then stopped because I was frustrated that I didn’t remember anything which I now realized was my downfall because I would give up before I even got going.
### Conclusion
Now, I actually love coding and I can hopefully make a great career out of it. I have even started building stuff in my spare time while at home because I love doing it and I now know if I just keep going at it, I will slowly but surely get better.
Thank you for taking the time to read the post, I know it was a long one. I know I’m still a beginner and maybe won’t be as helpful as other people’s stories/advice but hopefully this post will help out other people trying to get better at coding but are struggling like I was.
### TL;DR – Learn by building 🙂👨💻
So, dear readers, if you’re also facing struggles in your coding journey, remember to keep building, keep learning, and most importantly, don’t give up. Learning by building may be the key to unlocking your full coding potential. Keep at it, and you’ll see improvement in no time! 🌟🚀
## **Stay tuned for more coding insights and tips!**
Thanks for this post, I definitely needed it as I am in my first semester in comp sci. Ive been feeling like it’s getting harder and harder to retain information. I will try to incorporate building projects into my schedule to increase my understanding of coding.
My senior told me this. He learned more in his first year in the workforce than all four years in his undergrad.
If you build apps like tic tac toe, that’s the level you’ll stay at unless you challenge yourself. Good for you! Learn by building (the hard stuff).
Learn by building
Take notes of what you do. Like journaling or a diary or make a Wiki page. Real world programming is often figuring stuff out (Googling) just well enough to make it work, but sometimes not retaining any of it because you know you can just search for it again.
By taking some notes of the general process and reviewing those notes, I think you’ll gain a big picture idea of how to build stuff.
Ideally, at the end of building something, you would give a presentation to the team and explain how you built what you built.
This is the way.
Knowing what kind of tool is needed for each task is infinitely more important than remembering the minutiae of syntax etc. A not-insignificant amount of the work I do is drawing on my past body of work, and copying and modifying well-defined functions I’ve written in the past.
As someone who says people need to go make stuff, this post has helped me to refine that advice into “go make things that are challenging and interesting to you”
This same is happening with me rn, I am trying to build bots using Python, it’s kinda frustrating that I have to go look for every syntax I see on online documentation.
But I learn a lot, not just that particular line, a lot of things at once, and slowly all the dots get connected and BINGO, now I know How it worked.
Tbh, chatgpt and gemini they are really helpful for this process of learning, you don’t understand a particular line of code and want to know it’s functioning? Just search it there and you will get to know a lot of things.
I have started recently, and I hope I’ll be ready in a couple of months.
Best of Luck OP and Keep learning.
Fuck around and find out is the approach that works for me, basically what you said, get building.
I’d say with absolute certainty that the struggles I’m facing now will vanish quite quickly once I finally land a job and am doing this full time, as right now I’m coding after working 10-12 hour days and it’s exhausting. Being able to direct all my attention to coding instead will be a beautiful experience.
Glad it worked out for you brah.
I’d like to add to it. For me, I like to learn by using leverage. What I mean by that is to find something that is already built and tinker with it.
So for example, lets say i’m trying to learn how to build a house. The way I would approach it would be to buy a really cheap, runned down house and fix only things that really needs to be fixed, such as replacing a few floors or walls. For the very hard stuff, like the foundation, I would take my time studying how it works and then slowly make repairs.
If I had started to build a house from scratch, it would require much more capital, and, I would have nothing to start with. And, building from scratch would leave me with nothing that I can call a finished product, until that new house is built. With a old house, I’ll have something that’s finished but I learned what I needed to learn.
This is why I like to use game dev softwares because they hold your hand at the beginning stages. Otherwise a fall can be very discouraging.
I have a hard time understanding that the saying “practice makes perfect” is so hard to believe in programmer circles. What makes coding so different from something like plumbing?
Work your craft, you get better.
Is it the fact that so many code without a teacher who can tell them what’s wrong and what’s right?
cheers to you op! I just went through a somewhat similar a-ha moment. It’s been years since I graduated with my cs degree but i havent really used it professionally since I didn’t really know how to program on my own and I couldn’t get a hang of that “learn by building”. I could program, yeah, but the dots didn’t really connected in my head. So yeah recently I tried to dive in again in webdev (starting from the very very basics) by building something that interests me and wow it clicked? the dots they connect now? It now makes me happy that I can now do something i enjoy out of my degree
Thanks for sharing! Certainly will read this whenever i feel demotivated to keep on the journey.