This is not strictly going to be a programming post. I will instead examine some reasons as to why people quit programming, why I refuse to quit (till now) despite being not really "successful", and also trying to give you (and myself) some motivation to make it in the tech industry.
I started coding when I was in grade 11, and I loved it. More so I loved explaining it to people. I remember explaining C++, a subject we had, to people arguably smarter than me. These people were preparing for IIT JEE from grades 8th - 10th, they could solve an ultra-complex physics or maths problem in the blink of an eye, but struggled with classes and objects in C++. I remember creating a project for the same subject, which overall just had inputs and outputs on the terminal, but I loved the process of feeding input and getting that desired output. It was such a thrill to imagine how a complex system like a company membership discount management system might work and code it in such a simple way using the basic topics we learned.
I got a score of 98/100 in the board examinations and topped my school. Life went on and I made it to "a" college, not even close to the top ones in the country, because I refused to take coaching or ask for external help. I was insistent on going at my own pace. Do I regret it? Yes sometimes. In preparing for an exam as tough as JEE, you learn a lot of things such as a good work ethic, building consistent habits and schedules which always help, and no matter what anyone says brand names matter a lot to people in India and even around the world. But you must move on.
College was such a fun time, you really grow as a person and get to explore things, meet and learn from different people. I got into photography, led two clubs, traveled so much, explored AI-ML, did an internship at a startup in Singapore in the same field. But there was something wrong, I had lost the ability to code. Indian colleges have some good teachers, but an outdated method of teaching (Computer Science especially) which has you copy-pasting someone else's code onto the most outdated code editor, or worse still copying it down into a handwritten file, no encouragement to do problem solving questions regularly, no encouragement to code and build actual projects, it really sets you up to get the most disappointing jobs (from a coding perspective).
During my placements, the pandemic struck. Everything was terrible. I regularly consume news and keep myself updated, which was a bad idea at the time. I struggled. I got depressed and anxious. I didn't study. Despite having a great GPA, I couldn't make it. I had trusted that the GPA would be enough. It's not even close to being enough. People who had regularly built the habit of coding and building real world projects using different languages, irrespective of college GPAs, took all the great jobs.
But I got back up and started from scratch. I was determined to start coding again, determined to get a good job, determined to find the same thrill I got in 11th when writing a program. That's when I found Neog Camp. I started coding again, started building projects again, built a basic portfolio (portfolio). I loved it. It was tiring and exhausting, but god the thrill of seeing a complete website made by your own hands is something else!
I made it to the next level of the coding bootcamp after an interview. And I'm on the journey of relearning how to code. I'm struggling definitely, I got Covid in January, got diagnosed with PCOS recently, gained a lot of weight during the lockdown, became so inactive that climbing one (1) flight of stairs exhausts me and hurts my knees.
I lost my precious dog of 14 years, who I grew up with, this month.
It is hell, I am struggling. But I am not giving up.
It's over. It doesn't matter anymore. You have one life, and it's slipping away every second. There is no point in being hung up over the past. All you can do is learn from it and try not to make the same mistakes again. You might even repeat the mistakes, we're only human after all. But let that go too.
As I write this, I'm still thinking about that one person who wrote that one great feature's code 1000 times better than me. Or that one person in my bootcamp who is 17 and shipping mock backends. Or that one person who is 19 and figuring out people's bugs in a second. Or my own sister who works at Microsoft :P or.....
Point is, there is not enough time in your life for comparison. It will never end. There will always be someone better. It does not help you. What will help you is learning how to get better from those people, learning about their journey, learning how they think, and trying to see if their tips work for you (everyone is different). That is all. The end. There is no joy or lessons to be found by comparing yourself to someone else and feeling bad.
Don't get stuck in tutorial hell. What is that? You watch the smartest guy on Youtube build and ship (almost) a complete product within hours. Happily, you think that you can do the same by just watching. You open your code editor, and you can't even remember the last line he wrote.
Or you copy code. You're smart enough to make it work from different different places. But you didn't write it. It's okay to google and learn. But if you don't try on your own first, or just blindly copy paste entire projects, that won't work! This is something I struggle with a lot. It's hard to code and build the logic yourself. But it is what learning how to code entails, what it means. You will struggle and it will take more time but the process of trying to do it yourself will do wonders for your skill.
Nothing you do will matter if your health is bad. Coding means a very inactive lifestyle but you can do small things to avoid this. Install these two extensions and follow them.
Eat well, eat your fruits and vegetables! Exercise 5 days or at least 3 hours per week. Sleep well and early, and for at least 6-8 hours every day. Your body will thank you with better focus and a clear mind for coding :)
As I write this post, I can see my own problems reflected. I'm hoping to make it and be "successful". Let's see, I'm hoping to do better. To get a job to my liking in tech in the next couple of months. To relearn. I'm determined to make it, to try. What's the worst that can happen?
What are the different ways and motivations which have helped you to get better at programming or break into tech?