So you want to be a better developer? 
Tags: softwareenginneering, personaldevelopment, webdev, codingjourney
Published: 2019-06-22 19:28:04

---
title: So you want to be a better developer? 
published: true
description: Tips for your journey from junior to senior software engineer.
tags: softwareenginneering, personaldevelopment, webdevelopment, codingjourney
cover_image: https://cdn-images-1.medium.com/max/1000/1*5INViibAjl_5Da5ECtzo2Q.jpeg
---

Recently at work my colleague and I have been tasked with creating a learning path for junior developers who want to learn the front end. This is something we are still working on but it got me thinking about my journey and how I got from a junior developer, who knew relatively little, to a senior developer who knows a little bit more.

After college I went straight into work. Working within a team of experienced developers a couple of things quickly became apparent:

- What I learned in college barely scratched the surface
- If I wanted to be a good developer it would be a life-long learning journey
- There was a lot I didn’t know and even more *I didn’t know I didn’t know*

That last point is the most important lesson I learned very early on in my career. Firstly, just say you don’t know if you don’t know something. It’s so much better than just pretending and it means you will actually learn more. Secondly, “You don’t know what you don’t know”, it sounds funny but once you realise it and embrace it, it can be quite powerful. For me, it drove my curiosity. It made me ask questions, delve deep into topics and try to figure out not only the things I knew I needed to learn but also identify the things I had not yet discovered I needed to learn.

So what did I do? Well at times I felt extremely overwhelmed, “how the heck was I going to ever be as good as the developers around me?”. There was just too much to learn. Spoiler alert for all you new developers, there will always be too much to learn. It’s the nature of our industry. It’s what makes it fun and exciting, and also terrifying and exhausting. The key is to do your best not to let it get to you and just focus on getting better at whatever skill you’ve selected. For me it was JavaScript. While my strength at the time was Java because I had done a lot of it in college, my passion was for the web and front end. I knew if I wanted to go down that road the first priority was JavaScript, So I’d identified the first area of focus, what now?

##Learn the Rules
Remember you can learn all the frameworks you want but if you don’t have a good grasp on the fundamentals of the underlying language you won’t be properly equipped to deal with issues as they arise. Do you ever hear people complain about a language, like “Ugh I hate JavaScript, it doesn’t make sense.” Well it doesn’t make sense because you don’t understand it yet. If you take the time to delve into the problem and figure it out, it will most definitely make sense. Trying to work with something when you don’t fully understand the basics can be extremely frustrating. Which is why my most important recommendation if you take nothing else away from this is to learn the basics. This goes for any language. Spend time really getting to grips with the language and all its nuances.

##Don’t be afraid to ask questions
This one is key. I know how intimating it can be, feeling like you are the only person in a room who doesn’t “get” something. That insecurity might prevent you from ever asking the necessary questions to help you understand. But you have to push through it, ask all the questions. If you are working as part of a team, ask your teammates. If you are self-learning, ask the internet. Just ask the question. Remember there is no such thing as a stupid question. There is no need to struggle alone when you could simply reach out and ask for help.

##Practice. Practice. Practice.
You can read as many books as you want, and watch all the YouTube tutorials there are, but the best way to learn is through doing. Practice your craft. And most importantly be consistent about it. That’s the best way to progress quickly. Practice. Learn. Practice more. Learn more. You don’t need to have some grand project to work on either, do a daily kata or find something cool on a website and try to implement it. Some good resources for inspiration are the katas on codewars and the challenges on reddit daily programmer. The point is to just practice. I used to challenge myself to solving a kata a day, usually in the morning. The more you do, the faster you build your skill and it’s also a lot of fun. You can also learn a lot from looking at other peoples solutions and how you could have improved yours.

##Find someone who knows more than you
If you can identify a mentor, they can be invaluable to building your skill. Someone who you can ask questions, discuss concepts with and who can help you on your journey. This could be a fellow colleague or a friend in a similar field, basically anyone who you can look at and say I want to know what they know.

##Be Persistent
This is not an easy path, it’s a long road of learning and then when the new thing comes out… learning some more. It can feel overwhelming but as you get more experienced it does get easier. Just keep at it. Persistence is the most important quality in any developer. Persist through the problems, persist through that imposter syndrome, persist through the mistakes. It’s all just one big learning experience. Persist and you will triumph.

If you’ve made it this far thanks for reading my ramblings, I hope it helps in some way and best of luck on your coding journey :)

This post was migrated from my medium account: https://levelup.gitconnected.com/so-you-want-to-be-a-better-developer-1f9894a1e991