Why I Became a Software Developer - My Journey

Why I Became a Software Developer - My Journey

Β·

10 min read

Why I Became a Software Developer - My Journey

Subscribe to my newsletter to stay up to date on all of my upcoming articles. In the future, I plan to do some giveaways and share some more cool exclusives πŸ˜‰

A long time ago in a galaxy far, far away...

https://res.cloudinary.com/d74fh3kw/image/upload/v1661166033/baby_yoda_okckhr.gif

From a young age, I was always fascinated by computers. They seemed to have unlimited potential and you could do so many things with them. For a long time I dreamed of having a career in computers but I did not know what that would be or how that would even look because I was still young and trying to find my way in life. That path started to become a lot clearer when I first experienced what it was like to play games on a computer.

It opened my mind to a whole new world of possibilities that I could never have dreamed of! I even built my own custom computer which was a real learning experience for me. That was the first time I got my hands dirty putting together hardware and then installing all of the drivers and software. I had so much fun playing PC games and still have lots of fond memories from childhood.

Next, I was introduced to game consoles which opened my eyes even wider. The Sega Megadrive was the first console I ever played with and that was followed by The Super Nintendo, Nintendo 64, Playstation, Gamecube, and Xbox. I also owned some Nintendo Gameboys and a Sony PSP. I played a lot of games and became completely addicted and obsessed. It definitely turned me into a geek and got me even more interested in programming. These days I do my gaming on a PlayStation 5 and a laptop.

Gaming is by far the biggest contributor to my passion for programming and this was when I decided that I wanted to be a Game Developer. However, there was a big problem I had no idea how to do that or even which programming languages I should learn...

An introduction to programming

High School

My first introduction to programming happened back in High School but it was very basic and I can barely remember it. We had this class called Information Communication Technology (ICT) and if I recall we learned some basic HTML and CSS. This is when I began to learn about web development and I saw it as an easy pathway to getting into the industry.

College

When I left High School I decided to go to college and study Information Communication Technology (ICT). So essentially I was progressing from what I had initially learned in high school in that one class. In college one of the first programming languages that I learned was Visual Basic. Back then I had a very low level of technical ability and I found the language very challenging to learn. In other classes, we were also taught HTML, CSS and JavaScript.

I found HTML and CSS easy to learn because I had prior experience. The code editor we used was Notepad++ which did not have any of the cool intellisense that modern code editors and IDEs have. So there was no code completion, auto-correct or any extensions available. We had to do it all manually. I remember in one of the classes the teacher wanted us to build a simple webpage with some JavaScript animation. I was completely new to JavaScript and was still learning the basics.

While browsing the internet I recalled some websites that had some really cool animated banners. We were still learning the basics of web development but I had already figured out how to use the inspect element in web browsers to view and edit code. I was able to figure out how to copy the banner code and then get it working in my simple webpage. When my teacher saw it he was amazed because he had no idea how I managed to do something like that πŸ˜…

University

University is where my skills really started to level up. I was doing a degree in computing and I had my first introduction to using Java and ActionScript. We were taught how to use a Java-integrated development environment called BlueJ. And I began to learn Adobe Flash and ActionScript. Back in the day Flash websites were still popular until Apple replaced them with a lego block. For those of you who don't know it was no longer possible for Flash websites to run in Safari and on iOS devices and the industry transitioned towards HTML5 and Canvas.

In some of my University modules, I also learned how to do 3D modelling and animation which inspired me even more to be a game developer or to go down that path. I also had some web development experience but I was still unsure which path to go down. Even though I aspired to be a game developer I was still not sure if I should do it 100% or be more of a jack of all trades and do different paths. I did create some Flash games during that period so I had some experience.

I graduated from University in 2008 but unfortunately, it was also the start of The Great Recession. Unemployment was high and I was sort of lost because I did not know what I should be doing.

These are the Adobe Flash games I created.

https://res.cloudinary.com/d74fh3kw/image/upload/v1661165298/IGD_h4aygo.jpg

https://res.cloudinary.com/d74fh3kw/image/upload/v1661165416/ISM_i0j7th.jpg

https://res.cloudinary.com/d74fh3kw/image/upload/v1661165438/Single_Project_nc9nf7.jpg

My first internship

After University I chose to do an internship programme at the same university where I graduated. I was fortunate enough to get an internship role at a company in London. My web development skills were still quite basic but I could build websites. This was my first role, and I was working with HTML, CSS and JavaScript and building web pages as well as updating content on the main website. The lead developer who I worked alongside wanted me to learn PHP and gave me a book to learn from.

I found it quite hard to learn the language because the book was quite technical and at the time there were not a lot of good learning resources online for PHP. And to be honest I was not totally sold on the language either because I was much better at front-end development and had little passion for doing any back-end work. In the end, I did not stay at the company after the internship because it was transitioning into a back-end role which was not my thing back then.

My career so far

With the internship over my focus once again switched to finding work. I did a combination of freelance, contract and permanent roles over the years going back and forth. I gained a lot of experience doing so and my programming skills started to improve a lot. It was not all smooth sailing though I did have some periods when I was between jobs or unemployed which can happen a lot during your career.

Towards the end of 2019, I was working in a non-tech role as a supermarket Delivery Driver but it was only part-time work which did not last... My plan was to get back up to speed with programming because I had been out of the game for about 4 months and my programming skills had become so rusty... But then 2020 happened with the Covid pandemic, and yet another recession...

It actually turned out to be a blessing in disguise because we were all forced to stay at home in lockdown for months. I used that time to get back up to speed with my programming and I up-skilled even more by becoming a Full-Stack Developer. I finally found my passion for back-end development when I improved my Knowledge of Node.js. 2020 was also the year that I became a technical writer and I started to post content on Hashnode, DEV and Medium. I had no plans to build an audience or to become popular at the time I just wanted to be active in the community so that it would increase my chances of finding work and getting noticed by companies.

It took me a year to find stable full-time work in tech again. In 2021 I started to work for my current company CGI as a Software Developer and ironically my social media content was a big part of the reason why I was able to get the role!

Interviews can feel like you are playing a Battle Royale

I have had some really good and really awful interviews over the years. Honestly, the whole interview process is broken in my opinion because it is so unbalanced... Anyway, interviews can be ultra-competitive and usually only one person will get the job so you have to try your best to make yourself the best candidate so that you are the last one standing at the end. Interviews have taught me that you should come prepared no matter what. In some interviews, I was asked if I had anything to show and all I could say was no because my portfolio was dry with not enough content or I chose not to bring my laptop so I could not show them my work.

This is a Fortnite Database Battle Royale application which I created.

https://res.cloudinary.com/d74fh3kw/image/upload/v1661165707/fortnite-db_jyudyb.jpg

On other occasions, I was fully prepared to answer technical questions but I spent so much time working on them that I forgot to prepare myself for the most simple general questions. Like "what do you know about the company?" and "why did you choose to apply for this role?". They are simple and straightforward but when you are stressed and anxious your mind can go blank trying to answer a question that you never prepared for.

The biggest takeaway that I have had from failed interviews is filling in any missing skills and gaps in knowledge. Always ask for feedback it is incredibly valuable and you can use it to be better prepared for your next interviews. Focus on your weaknesses and make them your strengths. So if you are bad at data structures and algorithms then do lots of practice. If you don't know JavaScript fundamentals then put in the time to get better. Turn your failures into positives and defeats into wins.

The modern way to find work

Finding work today as a programmer can be extremely challenging.

The traditional way to find work could look like πŸ₯±

  • 30+ interviews
  • 6 resume iterations
  • 200+ job applications
  • Networking on LinkedIn

An alternative way to find work could look like πŸ’«

  • Building in public
  • Creating SaaS and PaaS
  • Writing technical articles
  • Networking on LinkedIn and Twitter

If you are new to the industry and transferring to tech looking for your first role I would recommend giving the alternative path a go alongside the traditional route. It is unorthodox and you are thinking outside of the box and doing something that is going to make you stand out from the crowd. Another hot tip that I would give is to go to interviews and then give a presentation. Think about it you are the brand and you are trying to sell yourself and your product.

So if you could build a couple of great applications that are not your standard to-do list app that everybody does. You have a good chance of impressing your interviewer. And you are likely to get bonus points if it's a SaaS or PaaS which is generating an income and a lot of people are using. All of this is highly likely to improve your portfolio and highlight your skill set.

Where I am today

Today I am still working at CGI as a Software Developer and I am passionate about front-end, back-end and mobile development. Technical writing and content creation are also a big part of my life now as I am trying to grow my brand and audience across social media. I have a few ongoing freelance jobs and passive income streams with more ideas for the future.

I'm still not a game developer but I have taught myself some C# and I have known about the game engine Unity for quite some time where C# is one of the main programming languages. So even if it does not become the main career it could still be a really fun side hustle for the future. Because it's already pretty intense trying to find the time to do everything that I'm doing now πŸ˜…

Thanks for your time!

Words hold so much power and can literally change your perception of reality. Writing is an incredible medium for sharing thoughts, knowledge and learning which is why I enjoy doing it so much. Connecting and networking is a fantastic way to grow your social network and this can lead to so many doors opening with both personal and career opportunities that can come your way.

I really appreciate you taking the time to read my content and I hope that it helps you to grow and accomplish all of your life dreams. Let's connect and make the future brighter you can find all of my main profiles on Limey.

Did you find this article valuable?

Support andrewbaisden.dev by becoming a sponsor. Any amount is appreciated!