As the one-year mark approaches for my time in the programming industry as a junior developer, I would like to take the time to jot down four pieces of advice I would tell my younger self.
Coming out of my 4 year computer engineering degree and transitioning into my first junior developer position was an exciting moment because all those dreadful days of all nighters were done and I could finally start doing things that I wanted to do. As I started planting my seeds in my first developer role, I got assigned my very first mentor who would show me the tricks of the trade. Even though he has been in the industry for about 5 years longer than me, I noticed he still gets stuck needs to use google and Stack Overflow to help him get out of those moments. To some, this is probably an obvious thing but not to my high school self, who thought the great programmers of today knew how to solve everything without seeking consultation online.
The only way to write better code is to read better code. At my job I found myself doing a lot of reading of the codebase to get a better understanding of the system I was working with and also following some of the rules they followed such as modularizing code, making it readable, how to comment. All these great skills build up over time and can be aided by reading other people's code and how they work.
When I was younger and researching about what programmers do, I would often come across a few languages like Java, C++, Ruby, or Objective-c. I would try to check out a book from the local library and try to read the novel from cover to cover hoping I would be an expert by the time I get to the end. Spoiler alert: never finished any of those books I started
The only way to get better at a language or framework or tool is to actually build something with it. It doesn't even have to be original either, you could find a basic project on the internet and try recreating it on your own without cheating. No matter how many books you read or blog posts you read you will never achieve that "expert" level without actually building projects and actually applying those techniques which you read about.
There are a very low chance that your first project will be built successfully or make you a superstar in the computer industry. Everyone fails at one point in there life. The way I look at it is what learning opportunities did those failures bring to the light. Every time you build a project and run into an issue, you can ask your best friend Google, who will show you tons of possible solutions which help you jump to the next hurdle. The only way to claim your success is to face failure and learn from it.