Mistakes I made as a self-taught developer

A personal journey that may help your own progress

Oliver Ryan
CodeX

--

Photo by Christin Hume on Unsplash

Looking back at my journey as a self-taught developer, I made many mistakes, ones that, in hindsight, I would not make now. Although life is about making mistakes and learning from them, these mistakes slowed down my progress and left me questioning whether I could become a software developer.

I want to explain some of those mistakes to you, hoping that they may help you on your path to becoming a software developer.

No clear direction

When I started, I never really knew what I wanted to do with programming or whether I was even good at it. At first, I looked at the easiest programming languages and decided to learn some HTML and CSS. These were great to begin with, simple to pick up and got me building basic websites and tackling problems, both of which I discovered that I enjoyed doing. However, I didn’t feel that website development was for me. I researched some of the major languages like C#, Java and Python, and eventually chose Java for the versatility and high demand of the language.

The problem comes with what to do next. Java has so many different fields, front-end, back-end, mobile applications, web applications, all with other frameworks to learn. I didn’t look into these fields. I enjoyed Java and building applications, so one by one, I took courses or watched videos on each of them, exploring JavaFX for GUI’s, Spring MVC for web development and working on Android applications. All of this was very time consuming and drained my energy and motivation. I was in a situation where I was ok at some of these but not particularly good at any, which left me questioning whether I could do this. Instead, I should have researched each of these areas thoroughly and committed to one field that I enjoyed the most. For me, it was Android development. Once I committed to it and learned the ins and outs and architecture and libraries, my progress drastically increased.

Taking long breaks

Taking long breaks from coding was a big mistake. I would learn many new things, apply some of them to a project, then leave it for a while, going days, maybe longer sometimes without writing code or practising. Doing this significantly slowed down my learning. When I went back to coding, I would have forgotten parts of what I had previously learned, having to continuously check back at notes, or sometimes had to go through areas again to relearn them thoroughly. I’m not saying you have to write vast amounts of code every day; otherwise, you’ll forget everything, but spending just 30 minutes a day coding, building a project, or just testing your knowledge on areas you have learnt previously will dramatically improve your progress and abilities. Consistency is key; even if you’re not feeling particularly motivated, those 30 minutes will make a massive difference over time.

Photo by the blowup on Unsplash

Doubting myself

Doubt plays a massive part in sabotaging your progress. There were many times I felt like giving up or believing that I would not be good enough to find work. For me, Java was a complicated language to get good at. It can be a complex object-oriented language, and it took a while to get comfortable with it. I worked extremely hard at it and could build small to medium-sized projects. So I decided I would try a Java exam, Oracle’s 1Z0–815 exam, to be exact. After countless hours of revision and mock exams, I finally took the test. I failed.

The exam was nothing like what I was expecting. After this, I lost my passion and motivation to become a software developer. I thought that was it, and I can’t do it. I stopped programming entirely for a month, and as you know from the previous section, this did not help at all. Eventually, I stopped doubting myself and my abilities. I kept moving forward with Android development, learning new features and building applications, to the point now where I work as a successful freelance developer whilst working on my own small application for the Google Play Store. None of this would have been possible if I had given up. Anytime you feel like quitting or have failed at something, keep going, learn from the failure and work towards your programming goals. In the end, it’s a numbers game. The more hours you put in, the better you will become.

Summary

  • Do your research and pick a language and field you are passionate about before diving into courses or tutorials.
  • Stay consistent; small amounts of practice every day is more beneficial than vast chunks of coding a couple of days a week.
  • Leave all doubt behind and keep moving forward, learn from failures, and keep working to improve your skills as you’ll eventually get there.

These are just some personal experiences, but they may help you on your way to becoming a software developer. Whether you are self-taught or studying at a university, the advice is still applicable, and the end goal is the same.

I hope you enjoyed or learnt something here.

--

--

Oliver Ryan
CodeX
Writer for

A freelance Android developer that works primarily in Java, and also enjoys dabbling in the world of Unity mobile game creation for fun.