I’ve recently come across a couple of “things I would I knew” style articles of people expressing what they wish they knew when they started on a journey of learning something new. It’s fascinating to hear the thoughts of people who are now years into their journey and reflecting back on what they wish they could tell their past selves.
This is my own reflective exercise of things I would tell myself when I was new to coding. This is going back approximately 8 years now, comparing with my current situation and asking myself: if I had a time machine what is some invaluable advice I would give to myself?
These are things I would tell myself when I was new to coding related to general aspects of the world of programming and not my specific niche. I believe anyone can benefit from knowing these things no matter what stage they are on their journey. It would just have been nice if I knew them earlier!
Here are 10 things I would tell myself when I was new to coding if I had a time machine. There is also a takeaway for each point that emphasises the key lesson to help you further understand the importance of the point.
- 1. Being an expert is overrated
- 2. Bugs are inevitable
- 3. Learn to ask for help
- 4. Don’t hide your knowledge
- 5. Document what you can while it’s fresh
- 6. Get into open source early
- 7. Learn about fundamental tools
- 8. Join developer communities
- 9. Don’t get too attached to languages and tools
- 10. Don’t be afraid to question things
1. Being an expert is overrated
My new-to-coding self would have thought by a certain point developers should become an “expert” at what they do and code without many interruptions. This put pressure on me to feel like I had to memorise as much as I could.
As time went by I never felt I was growing into an “expert” at the pace I anticipated because I continued to google answers for things I felt I should know like the back of my hand by now. However, over time the realisation hit me being an expert doesn’t mean you can code with your eyes closed. When I asked questions to people who I considered “experts” I noticed they were also googling things!
I would rather avoid the term “expert” altogether but if it would mean anything to me now, it’s not hesitating to look for the resources you need and learning to tackle obstacles as you come across them.
Takeaway: The knowledge is always there and everything doesn’t need to be memorised. Knowing how to apply the knowledge is what counts and where you should focus your efforts.
2. Bugs are inevitable
When I started coding as part of my job I would always “fear” the appearance of bugs. Anytime I would find a major bug in my code I would think “how could I let this happen??” Now I understand that bugs are, in fact, inevitable.
Bugs are always there in your code. Even when you think you’ve covered every edge case, there’s always going to be bugs hiding from you.
What you should do is learn to prevent the appearance of bugs through good practices, acknowledge bugs when they do appear and learn to deal with them. If things go well, they won’t show themselves in production code.
Takeaway: Bugs happen. Just do your best to prevent them and discover them before your code gets to the field.
3. Learn to ask for help
When you’re new to coding you might get that imposter syndrome feeling of “what if people realise I don’t know what I’m doing?”. It’s good to be aware that everyone at some point has probably felt the same.
Asking for help with something you’re stuck on isn’t a shameful thing. In fact, it’s quite the opposite and why we have stackoverflow, google and many many developer communities and forums dedicated to helping each other out. Your colleagues are also there to help and you can especially benefit asking those who are more experienced.
Asking for help and getting the answer in minutes is better than trying to solve it yourself and spending many frustrating hours on it. This is a mindset shift that needs to be worked on and something I still struggle with at times till this day!
Takeaway: A key part of being an efficient developer is learning to ask for help when you need it.
4. Don’t hide your knowledge
Complimentary to the previous point of learning to ask for help, you in turn should play your part and not hide what you know. In fact, it’s also just not a nice thing to do to hide your own knowledge while asking help from others!
If you’re learning from other people shouldn’t you also teach others? This exchange of knowledge is what keeps the world of coding going round. It’s not a competition and we should all freely share what can to help other developers.
Takeaway: Do to others as you want to be done to you. Share what you know will help others as I’m sure you would want the same for yourself.
5. Document what you can while it’s fresh
When you’ve spent hours and hours on something it might be tempting to think “surely I won’t ever forget this?” Well I can guarantee that you will if you don’t write it down.
I learnt this the hard way but no, I won’t remember the 10 steps I took before I got X to work. And a few months later when I’m standing in front of the same problem I’ll have to go through the process again of finding out what those 10 steps were. To save time, energy and frustrations in the future, take the time to document things when they’re still fresh in your head.
Takeaway: Don’t rely on your memory and document important processes, learnings and anything else that you know will make things easier for your future self.
6. Get into open source early
Open source is an incredible thing. Developers who most of the time don’t know each other, getting together to achieve something that benefits from the knowledge, experiences or insights of everyone involved.
The idea of open source is something I only began to appreciate recently. If I could go back in time I would push myself to learn about what open source is all about and to actively participate. This is one of the top things I would tell myself when I was new to coding.
However, it’s never too early or too late to get into open source! Read our beginner friendly guide to making your first open source contribution. And For some additional motivation read our post on 10 Incredible projects showing the power of open source!
Takeaway: Getting into open source and actively trying to participate will allow you to grow as a developer in countless ways.
7. Learn about fundamental tools
If every developer you talk to mentions a tool or resource, it’s likely to be important, whether for your development field or for developers in general.
So don’t ignore when you hear things like “git is useful”, “git is cool”, “why don’t you use git?”. Take the time to look it up and discover what the big deal is.
Git is not something I used from the beginning hence my emphasis on it.
Hint: if this is your 1st or 100th time hearing of git and you don’t fully understand it yet, start now! You can start with our post: What is git? An easy introduction.
As you interact with fellow developers you’ll pick up on some common tools and resources often mentioned. Learn to pick up on these patterns so you can learn up on them. Or even better, actually do your research of fundamental tools that beginner developers should know about.
Takeaway: Don’t ignore things you hear often repeated by developers. Look into it and learn why it’s important.
8. Join developer communities
Communities allow you to interact with people with similar interests and share your experiences and knowledge. The support provided by communities is also a great way to boost your motivation especially when you’re just getting started with coding.
In reality, the journey of growing as a developer never ends and will continue until you decide to stop coding. Rather than go through it alone, find a supportive community that will connect you with others you can relate to.
It’s only until recently I decided to become active in developer communities. And eventually I decided to make a developer community of my own! That’s why inspirezone is also a developer community, consider joining us!
For some extra convincing on why developer communities are important, see our post on 5 persuasive reasons to join a developer community.
Takeaway: You’ll go further if you go on the journey with others. Find a community that will provide support and motivation.
9. Don’t get too attached to languages and tools
It can be difficult to let go when you’ve spent years building up skills with a programming language or getting comfortable with a development tool. However, just because you’ve spent the effort learning something doesn’t mean you should cling to it forever.
In reality, refusing to let go of what you’re used to could have negative effects. Your unwillingness to expand your knowledge could leave you with obsolete skills before you know it!
I came to realise the attitude of continuous learning is important and to always be aware that things can change fast in the world of programming. Don’t cling onto languages, tools, frameworks, etc… if you know there could be better solutions out there.
Takeaway: Don’t get too attached and be prepared to expand your skills and learn new things when required. You could be left behind otherwise.
10. Don’t be afraid to question things
When you’re new to something, it’s easy to assume others who have been in it longer than you are right automatically. However, you or your code doesn’t always have to be the one that’s incorrect by default.
While it’s good practice to first assume a found fault is with your code, it doesn’t mean this will be the reality. So when you’ve debugged your code and tried enough to isolate the problem to your code, start asking questions.
Debugging is like being a detective. If you are not the culprit, who could it be? Could the library have a bug? Is the API documentation misleading? Is the server down?
If an open source location exists for a library or framework, reach out, describe the situation and ask questions. You’ll be surprised at just how many bugs or flaws you’ll help discover with other people’s code!
Takeaway: If something is uncertain, ask the question. You may just point out a flaw unrelated to your code or reveal an edge case that wasn’t considered before.
These points cover things I would tell myself when I was new to coding and should be beneficial if you’re new to coding. I know I would have greatly benefited if I was aware of these things when I started out! Note them down and save yourself from the time it would take to discover these learnings for yourself.
And If you’re not new to coding you can of course still benefit from the points you haven’t realised yet. Afterall, it’s better late than never!
What points stood out to you? And do you have any further advice for others? Comment below!
Did you find this article useful? Also checkout other articles on developer tips: