Codeine to Coding
Fri, 18 Mar 2022
Yvonne’s Career Change
Prior to becoming a software developer, I was a pharmacist.
I began teaching myself to code in November 2020 due to feeling that I couldn’t stay in job which wasn’t challenging coupled with limited career opportunities.
I applied for the TechSwitch bootcamp and I was accepted onto the January 2021 programme. I trained for 12 weeks in full-stack software development and was extremely fortunate to be offered a job afterwards, and since then I have been officially working as a software developer.
I am still fairly new to the job and to coding in general, but I’d like to share some tips that have helped me on my journey to becoming a software developer - “Beginners’ Advice from a Beginner”.
I often come across blogs written by developers with many years of experience and although these are helpful, I wonder if they remember what it was like for them at the beginning. I hope my experiences can help those of you who are also starting out.
Simplicity is Key
Code has the potential to do so many things. Code can be written to carry out and automate complex processes, making our lives easier. We can make code complex and intricate but concise code is usually the easiest code to maintain and read.
As my coding knowledge is new, I write code that is simple in nature. I don’t currently have knowledge of all the ‘tools in the shed’ and this approach has helped me to write cleaner code.
If you need to comment to help someone understand the purpose of a function, it’s worth revising how it’s been written, as good code is code that speaks for itself.
Reflect and Refactor
Throughout your coding journey you’ll learn new languages and add to your tech stack. The code you wrote for your previous projects or katas may not have been very sophisticated or efficient. I found it helpful to revisit some of my old code and to refactor and tidy it up. In doing so, I realised that I had written some bad code but at that point in time I was simply happy that it worked.
It’s All in the Name
I cannot stress how important a name is. It applies to everything. If something is named or labelled badly it can make things more complex and it’s the same with coding. Take care and think about how you name a function, variable or constant. The name should clearly indicate what it does, you shouldn’t have to decipher what it means. Short names are nice to read but you shouldn’t sacrifice clarity for shortness.
Software development requires good communication, and the quality of communication directly affects development productivity. Reading meaningful code is easy and enjoyable and we don’t want to make it laborious for anyone reviewing our code.
Know When to Ask for Help
When it comes to coding it’s extremely easy to fall into rabbit holes. I have found myself trying to solve a problem for several hours, admit defeat and end up asking for help. We shouldn’t shy away from asking for help because so much time can be wasted trying to resolve a problem by yourself. I’ve often found myself repeating, “I really should have just asked half an hour ago”.
My project manager taught me about the Pomodoro technique and it has really helped. If I am stuck, I set a timer, once it has reached 30 minutes, I’ll ask for help. My advice is to reduce frustration, ask for help. Developers are always happy to share their knowledge and expertise.
It’s okay to not understand everything
It’s impossible to know everything about coding. I’ve seen fellow developers get really bogged down on the “why” and this leads to frustration and impacts productivity. I am not saying that it’s not a good idea to ask but understand that you don’t always have to have the answer to everything, especially if you’re just starting out. As long as you know which tools are available to you and how to use them, it’s not paramount that you need to know EXACTLY how they work.
Everyone’s coding journey is different. We all learn and perceive things differently. I found it difficult to read and implement documentation so for me, watching tutorials really helped to reinforce the topics. Find out what learning style works for you and understand that the process may take time. Some concepts will be easier to grasp than others – and that’s normal.
There’s always something to learn and it can be daunting at times. As coding is constantly evolving, no one has full knowledge of this skill. Try not to compare yourself to others as we all learn at different paces and be proud of your progress.
These tips have helped me to switch to a career in software development. I hope this blog has been useful and has provided you with a different perspective on the world of coding!