#03 - 3 Guidelines for Junior Devs
Cause we all want to get better!
2023-01-01
Hello reader,
After having spent almost 3 years coding full time, I wanted to talk about 3 guidelines which have helped me the most in my development. If you are a budding developer just getting started, I hope you will find something useful to take away with you from this post.
1. Always remember the basics 🤓
Scenario: You're working on something but ...for some reason it's not functioning. After too many hours, you finally decide to see what's being stored in your variable named id. You plug console.log(id) and boom, you now realise that you have been working with an undefined id this entire time.
After having spent almost 3 years coding full time, I wanted to talk about 3 guidelines which have helped me the most in my development. If you are a budding developer just getting started, I hope you will find something useful to take away with you from this post.
1. Always remember the basics 🤓
Scenario: You're working on something but ...for some reason it's not functioning. After too many hours, you finally decide to see what's being stored in your variable named id. You plug console.log(id) and boom, you now realise that you have been working with an undefined id this entire time.
Tip: Using functions like console.log() along with browser dev tools will help you to deduce what your problem may be.
For most of your coding problems, you need to be able to see what is being stored in your variables, local storage etc. Always begin with checking the data that you're passing throughout your application. Also, the best remedy for forgetting the basics is repetition. If you can code a bit everyday, that will train you to deal with problem solving far more efficiently. You may further consider learning how to do test driven development (TDD) which is a method of programming that includes writing code to check your application code. If you're working with javascript, consider learning Typescript which can be used to add type checking and other language features.
For most of your coding problems, you need to be able to see what is being stored in your variables, local storage etc. Always begin with checking the data that you're passing throughout your application. Also, the best remedy for forgetting the basics is repetition. If you can code a bit everyday, that will train you to deal with problem solving far more efficiently. You may further consider learning how to do test driven development (TDD) which is a method of programming that includes writing code to check your application code. If you're working with javascript, consider learning Typescript which can be used to add type checking and other language features.
2. Documentations and forums, tread carefully 📜
Scenario: You're trying to learn a new technology. You're happily installing it to your application. You start your server and boom ...multiple error messages appear. Nothing in the documentation seems to be helping you. You try various forums and to your surprise, some code you copy pasted worked! You are now wondering why the documentation is so different to the solution you found.
Tip: A mentor of mine mentioned that "having documentation to refer to is actually a privilege (and not a right)".
Although you would think it's common practice to develop documentation, just take a look at the official docs for React. You will notice that class components are still mentioned even though we use function components as a standard now. So even some of the most modern libraries out there will have documentation that is not regularly updated. This doesn't mean that you should ignore documentation. However, code should be self readable without requiring the documentation to teach you rudimentary concepts.
Which brings me to forums!
One of the major coding forums today is StackOverflow. It is a great resource for developers to ask and answer questions. While it has taught me so much, there are a few bad habits that I picked up earlier on ...copy pasting without understanding. The problem with this is that you build a false perception on the theory as well as your integrity as an engineer. If your basics are met, you should be able to read code like a book and deduce what the next steps are for your app/problem. Expecting to copy paste your entire application from documentation or forums will be impossible.
Scenario: You're trying to learn a new technology. You're happily installing it to your application. You start your server and boom ...multiple error messages appear. Nothing in the documentation seems to be helping you. You try various forums and to your surprise, some code you copy pasted worked! You are now wondering why the documentation is so different to the solution you found.
Tip: A mentor of mine mentioned that "having documentation to refer to is actually a privilege (and not a right)".
Although you would think it's common practice to develop documentation, just take a look at the official docs for React. You will notice that class components are still mentioned even though we use function components as a standard now. So even some of the most modern libraries out there will have documentation that is not regularly updated. This doesn't mean that you should ignore documentation. However, code should be self readable without requiring the documentation to teach you rudimentary concepts.
Which brings me to forums!
One of the major coding forums today is StackOverflow. It is a great resource for developers to ask and answer questions. While it has taught me so much, there are a few bad habits that I picked up earlier on ...copy pasting without understanding. The problem with this is that you build a false perception on the theory as well as your integrity as an engineer. If your basics are met, you should be able to read code like a book and deduce what the next steps are for your app/problem. Expecting to copy paste your entire application from documentation or forums will be impossible.
3. Rest is actually a productive task 😴
Scenario: You've been coding for hours but are struggling to progress. It feels like you will never be able to solve your app's issues and begin to doubt your ability as a dev. In defeat, you stand up from your desk and decide to go for a walk. About half way through, it dawns on you that you forgot to update certain dependencies. You get back to your desk and surprise, you were right.
Tip: The only weapon you really have against "code fatigue" is rest and recreation.
Scenario: You've been coding for hours but are struggling to progress. It feels like you will never be able to solve your app's issues and begin to doubt your ability as a dev. In defeat, you stand up from your desk and decide to go for a walk. About half way through, it dawns on you that you forgot to update certain dependencies. You get back to your desk and surprise, you were right.
Tip: The only weapon you really have against "code fatigue" is rest and recreation.
It's really tough staring at syntax all day while trying to solve some really complicated problems. You need to retain many aspects of your application within your immediate knowledge while moving at a pace that delivers new features/fixes consistently and regularly. Not getting enough rest and recreation will only prolong your fatigue and cloud your judgment. So take the time to look after yourself and you will progress much quicker.
Conclusion
Unfortunately, there's no quick fix for our shortcomings as devs. All you can do is stay healthy, be aware of your strengths/weaknesses and put in the necessary hours towards understanding your craft.
Goodluck,
Ilia ✌🏼
Unfortunately, there's no quick fix for our shortcomings as devs. All you can do is stay healthy, be aware of your strengths/weaknesses and put in the necessary hours towards understanding your craft.
Goodluck,
Ilia ✌🏼