DEV Community

Cover image for Why I Became a Software Developer - My Journey
Andrew Baisden
Andrew Baisden

Posted on • Updated on • Originally published at andrewbaisden.hashnode.dev

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.

Top comments (22)

Collapse
 
themfon profile image
Mfon.

Thank you for this, Andrew!

Man! Sega, PSP and all got me nostalgic. That inspect part really got me too. 😂😅 I'm a newbie and I think I used it not too long ago while working on a project with a team.

You built when things were not as easy as they are now and you have most definitely seen a lot of things come and go. It's great to see you adapt to the times. 🎖️

I'll most definitely follow the alternate route to landing jobs although I like to be private mostly.

Looking forward to more articles like this.

Cheers!

Collapse
 
andrewbaisden profile image
Andrew Baisden

Thanks for reading it's great to hear your opinion!

Collapse
 
dastasoft profile image
dastasoft

Great article, as a person who also works as a SE, writes tech articles and does a bit of gamedev for hobby I totally relate to the phrase "trying to find the time to do everything that I'm doing now".

Time management and knowing when to rest is extremely important to maintain a good schedule and you must be an expert in this matter.

Have a great weekend!

Collapse
 
cyebukayire profile image
Peace

I love this, everything is very relatable.
Thank you Andrew:) You're an amazing content creator🚀

Collapse
 
madza profile image
Madza

This is an inspiring story, Andrew 😍👍✨

Collapse
 
andrewbaisden profile image
Andrew Baisden

Thanks so much, positive feedback is always welcome Madza.

Collapse
 
blackgirlbytes profile image
Rizèl Scarlett

Thanks for sharing your story!

Collapse
 
andrewbaisden profile image
Andrew Baisden

Sure you are welcome I am glad you took the time to read it.

Collapse
 
martinadamsdev profile image
Martin Adams

Thanks Andrew for sharing your story.

Collapse
 
andrewbaisden profile image
Andrew Baisden

Sure no problem I aim to inspire others to succeed as well.

Collapse
 
yuridevat profile image
Julia 👩🏻‍💻 GDE

Great story Andrew! Your path which led you where you are today is soo interesting.

Collapse
 
frankiefab100 profile image
Franklin Ohaegbulam

Thank you Andrew for sharing your journey and experience in tech.

Your story is reminiscent of my early experience.

Collapse
 
andrewbaisden profile image
Andrew Baisden

You are welcome it's great to know that you can relate to my story.

Collapse
 
okeken profile image
okeken

Thanks Andrew for sharing your story.

I had a similar exprience, when covid came, I had to go back to what I've always wanted to do, programming. And it has been a ride since then!

Collapse
 
andrewbaisden profile image
Andrew Baisden

That's great I wish you good luck!

Collapse
 
andrewbaisden profile image
Andrew Baisden

Thanks!

Collapse
 
zhng1456 profile image
Yw Zhang

inspiring story!

Collapse
 
lexiebkm profile image
Alexander B.K.

As if C# is only for game development. Uh...
My interest in C# and .Net is towards using them for backend dev, although I know they are excellent for building desktop GUI too (in which I am already familiar, using classic VB6).
Now my motivation increases after reading about .Net MAUI in the official doc : docs.microsoft.com/en-us/dotnet/ma...
as well as the potential of using C# and .Net for IOT projects : docs.microsoft.com/en-us/dotnet/io...

Collapse
 
andrewbaisden profile image
Andrew Baisden

I never said C# was only for game development. When I learned the basics I was using it for backend work using Blazor and ASP.NET. However JavaScript is my first choice language for working on backend projects so I was going to try something different with C#.

Collapse
 
lexiebkm profile image
Alexander B.K.

Yeah... it's nice to try different stacks for web backend. I myself plan to do that using at least 5 different stacks :

  1. PHP + Laravel : my current choice, because PHP was the 1st one I knew and could use for that purpose. I am still exploring more detail on them, though.
  2. Node.js + Express : I have tried them for simple app, but still in the phase of learning
  3. C# + ASP.net Core : I am currently learning; it seems that this stack will become my 1st choice in the future
  4. Java + Spring or Java EE : this stack has been on my mind since a long time ago, but still couldn't make it into reality. However, alongside C#, I plan to continue my learning on this stack.
  5. Go + Gin/Fiber/Echo : this stack is interesting because it seems not to be difficult to build backend once the fundamentals are in my hand. I have played a bit of this, but could not continue on learning because I don't have enough time for it anymore.

I am not really interested in other stacks like Python + Django/Flask, Ruby on Rails.

Collapse
 
lexiebkm profile image
Alexander B.K.

I know someone who still sticks to Flash and Actionscript, using PHP (version 5) without framework. Last time I met him, he still used them and seemed to not be open with the advancement of new techs.

Collapse
 
andrewbaisden profile image
Andrew Baisden

Wow, that's not good at all... I could not even get my old flash projects to run in any of the web browsers I had installed. I found a website that lets you run .swf files in a browser though ruffle.rs/demo/.