In March 2020 I began my coding journey which means I have now been learning about web-development for 1 full year 🎈! I've learned a lot along the way but there are a few things I would tell myself if I could travel back in time.
Let's not waste any more time 👏.
Content
- Don't be afraid of joining developer communities
- You can't learn everything so don't try
- Take notes or better yet write a blog
- Become comfortable with Git and command line basics early
- You learn the most when building projects
- Consistency is key
- Have fun
1.) Don't be afraid of joining developer communities
This is probably my number 1 tip. It took me around 9 months before I had the confidence to branch out of my own bubble and connect with other developers. I was hesitant about putting myself out there. About putting my work into the open. Thinking I wasn't qualified to share ideas or that I didn't have enough knowledge to teach.
I was completely wrong😅
The developer community is extremely supportive and there are loads of aspiring developers openly sharing their progress with each other. Check out the #100DaysOfCode on Twitter for some examples.
Sharing and learning from other developers is a key part of your progression. It can also be a great source of inspiration for your future work or perhaps a source of networking for you. These are a few of the amazing benefits I can think of 👇.
- You can learn from other devs in similar positions
- You can learn from more experienced devs
- It can be a great confidence builder
- You can get feedback on your work
- You can network with other devs
- You could make some friends
and so much more. Just make the jump and I promise it is the best thing you can do for yourself as an aspiring developer.
2.) You can't learn everything so don't try
As a front-end developer I realized that there is always going to be some new shiny tech that becomes the thing. It is impossible to become a master of everything so don't try.
Do your best to focus on a few key technologies and try to master them. As a learning front-end developer I was jumping into different CSS frameworks, build tools and more. It really wasn't necessary for someone who is leaning front-end development early on.
If you get good at regular CSS then applying it to different CSS frameworks becomes easy when there is a good use-case for them. Once your comfortable by all means try out a framework but don't expect to become good with all of them.
Instead I would now tell myself to focus on the key tech and get good with them before moving on to the shiny stuff. For me as a front-end developer I would focus on the following 👇.
- HTML
- CSS
- Vanilla JavaScript
- 1 JavaScript Framework
- Git
- Testing
3.) Take notes or better yet write a blog
I didn't really take many notes while I was learning over the past year. I wish I had now. Recently I found myself trying to explain simple topics out loud and found that I struggled to articulate answers.
Having some of my own notes to quickly reference would have been extremely useful 🙄.
Keeping notes as you learn has so many incredible benefits. Writing will help you reinforce the knowledge you gain and can give you a reference for the future. You could also take it a step further and turn your notes into a blog for others to read.
If you would like to know more about the benefits of blogging while learning web-development then check out my article Why it's awesome for new developers to blog as they learn.
4.) Become comfortable with Git & command line basics early
Even as a front-end developer the command line is something we use on a daily basis. It can be intimidating but even learning some basics can drastically improve your workflow. Things like folder navigation and running executables are valuable skills.
As well as this I would tell myself to not be intimidated by version control specifically using Git. As I prepare to start applying for my first web-development role I have been diving deeper into Git. It has made me realize how little I actually knew about it and what it can do.
The reality is that it is a very important skill to know if you plan on working as a developer in the industry. When you become comfortable with the code itself and you start building projects I highly recommend you practice with Git.
Treat it how you would CSS or JavaScript and you will definitely fell the benefits later on.
5.) You learn the most when building projects
Building projects is awesome. That feeling when you host a project you built on the web for others to see and use is hard to beat. I have found that is also the thing that will help you learn the most.
It is easy to follow tutorials and early on it is a great way to become comfortable with the basics. But at some point it is important to break away and attempt to build your own projects. Start small and if you get stuck then of course use all of the amazing resources we have online to help you.
Google is every developers best friend 😃.
The process of running into problems, googling for solutions and implementing fixes is the iteration that will see you solving your own problems. This is key to becoming a confident developer. Even if the project doesn't turn out how you hoped, it is better than not trying at all.
The important thing is that you try it yourself first. Look up some simple projects and try to personalize it in some way based on your likes or interests.
Get building!
6.) Consistency is key
Consistency is the key to becoming proficient at most things. If you work at it everyday then you are sure to see some progress. The same is true for coding.
Unfortunately not everyone can put all of their time into it. We all have commitments. But if you can dedicate a little time everyday then you are on the right track.
Try to have a specific topic in mind for the session and put all of your focus into it. Could be 30 minutes or it might be a couple of hours. As long as your focus is on the work for that time the consistency will be key to your development.
7.) Have fun
Sometimes coding can be frustrating. We've all been there. It's easy to get frustrated and feel downbeat when we run into problems. But try to remember why we became developers in the first place. For me at least it is because It's fun and I love it!
It's sometimes easy to lose sight of this. Now that I have a little more experience I'm getting better at controlling my code frustration and find that I can now walk away leaving it for later when I come up with a better solution. There was a time when I would stress over a problem for hours at a time.
I now realize that I would become frustrated because I'm passionate about coding and wanting to be as good as I possibly can. I love what I do and I try to keep this in mind which is easy to do most of the time 🙂.
Conclusion
Those were some of my the tips I would go back in time and tell myself and I think they are great tips for any developers learning their trade. I hope you are able to take something with you and if you did then please tell me about it.
You can do so @Kieran6dev where I'm always active or in the comments below.
If you could go back a year(or to the beginning) and give yourself a piece of advice, what would it be?
Top comments (7)
Excellent post! I've been programming for almost 12 years now, and I can still remember going through some of the same things you've described.
Your first point really resonated with me, particularly this part:
I had this exact same experience up until very recently. I was intimidated by other developers, and thought that my opinions were meaningless because I didn't have enough experience. Reading through countless answers on StackOverflow, I developed the impression that all developers are strong-headed people who refuse to consider different opinions and/or context.
As I've grown, I've realized that these types of personalities are the exception, rather than the rule. The majority of developers are actually very similar to me: willing to have open conversations about concepts, and willing to change their opinions as they learn.
Once I realized this, it became a lot easier for me to contribute to discussions without feeling self-conscious. And I received mostly positive feedback, which reinforced the idea that I might actually know something after all!
I think that historically, developers who were more vocal in online communities also tended to have very concrete opinions, and were more likely to tell you why you were wrong instead of engaging with you and having an honest conversation. Those of us who are more introverted/passive took this as a sign that "no developer will ever listen to you, and it's not even worth trying to talk to them". In reality, most people are just looking for opportunities to learn from each other.
Communities like dev.to, and some of the more niche subreddits, are doing a great job of giving everyone a more collaborative voice. I believe that promoting healthier, more respectful discussions will allow us all to learn more about each other, and about the development process in general. I can't wait to see where this progress takes us, and I'm happy I can be a part of it.
Thanks for sharing!
It's definitely a very common thing among new developers. For me blogging sites like this and twitter helped me see that there are lots of people in a similar situation and that most developers are not out to get you. I very much enjoyed reading your comment and thank you for sharing!
Congratulations for the post, I agree with all points, for me practicing creating projects are really effective way to learn how to code, this will put the programmer in many challenges situations like project configuration, programming language syntax, integration between application, and etc.
Absolutely, projects are great. Thanks for reading 🙏
Congrats @kieran6roberts , looking forward to your next articles. Keep it up!
Excellent article, I have been programming for about 5 years now but I still can't share enough of what I do.
Appreciate it thank you!