About Me - How I Got Started As A Software Engineer

The story of my journey from bedroom coder to senior software engineer, via a winding path of design and development.

By Tim Trott | November 5, 2023
1,646 words, estimated reading time 6 minutes.

I've been programming for as long as I can remember. One of my earliest memories is coding a text-based adventure game on a BBC Micro in the mid to late 80's in primary school during rainy lunch hours. Other kids were colouring in pictures, watching cartoons or playing board games.

Coding On The Home Computer (Late 80's/Early 90's)

At home, I was usually found playing games on the Atari 512 ST, and I dabbled with the "Shoot 'em up construction kit" for game creation. A few years later I was upgraded to an Amiga 500 which I also did a lot of gaming on, and also taught myself Amos - The Amiga basic programming language - with the help of articles published in popular magazines.

I can't recall the name of my favourite publication, if anyone can help please let me know. It was a magazine printed on rough paper, it had two alien or monster characters called Rom and Ram and had computer-related articles, cartoons and programming tutorials.

I digress in nostalgic memories. Back on track, with Amos, I could create games, and applications, write programs to help with homework and more. I used this for several years until my dad upgraded his computer and gave me his old one - a self-built 486DX2, MS-Dos 6 and Windows 3.11 for workgroups. This would have been in 1996 when I started my GCSEs, including a new Information Technology qualification, at 15 years old. I remember being upset that none of the games and programs I wrote would work on PC. If I could go back in time, one thing I would do is copy them all onto disk and save them until emulators were invented. I had some cool demos and loaders. Well, they are cool in my mind thinking back.

AMOS Basic Programming Language
AMOS Basic Programming Language

First PC and Microsoft Windows Machine (1996)

This new PC came with new challenges and things to learn, this new Windows thing, tuning the autoexec.bat and config.sys for gaming performance, and very new to me - graphical programming with Visual Basic 3. I can't remember if I bought them with my pocket money or if they were given to me, but I do remember reading a few programming books cover to cover (and those things were thick!).

Visual Basic Power Toolkit
Visual Basic Power Toolkit
Visual Basic Power Toolkit
Visual Basic Power Toolkit

My favourite, and I still have it, was Visual Basic Power Toolkit by Richard Mansfield and Evangelos Petroutsos. I read this book so many times, typing out all the example programs. It really catapulted my programming knowledge and experience. One of the chapters that really stuck with me is the art of programming fractals, and one of the key lessons was the difference between an interpreted language, such as Visual Basic, and a compiled language, such as Borland Delphi. This was a turning point because as much as I like Visual Basic, and all the other Basic based languages I've used in the past, Delphi was a whole new ball game, and challenge.

Not only was it a new language and syntax to learn, but it is an Object-oriented language with new rules. This would have been around 1998 I think, when I made the switch to make Delphi my go-to language. Over the next decade, I created loads of programs to solve problems to make life easier, from a Windows XP wallpaper changer, startup application tuner, Windows settings tuner, font manager, screensavers, photo catalogues and utilities for data processing.

Nobody Wants To Hire School Leavers (1999)

After my GCSEs and A Levels, I found it really difficult to get employment in the computing sector. Although I had a lot of experience in coding, I had no qualifications or commercial experience. I took a business technology course, but that wasn't enough, so I enrolled in college studying for an HND in Computing, which was run by the University of Plymouth. This course taught things like hardware, programming, networking, data structures and algorithms, discrete mathematics and SSADM. The language used in the course was C in the first year, and C++ in the second. My experience with Delphi was invaluable in learning C++ and I excelled in designing and coding each of the tasks and projects assigned in coursework, whilst the theoretical software design and system analysis was a breeze.

First Job After Uni, Still Not A Software Engineer (2003)

After graduating I still found it really difficult to get employment in computing. Despite having qualifications, I lacked experience. Now desperate for a job I widened my search criteria.

Eventually I found a position as an iSeries operations analyst working shifts on an IBM iSeries and IT help desk. Although not my first choice, I was grateful for the opportunity to work on new systems and learn new skills. I actually really enjoyed this job. From opening the office early in the morning and starting up all the systems on the early shift to closing down the mainframe, running backups, overnight data processing and reporting runs on the late shift.

IBM iSeries AS400
The Computer Room - The Primary IBM AS400 / iSeries I helped look after

During the day the IT help desk work involved AS400 user support, PC desktop support, hardware maintenance and travelling for remote installations. I was in this position between 2003 and 2007. In 2006 I was involved in a serious car crash, the injuries I sustained meant that I couldn't perform most of the duties in my support role, such as crawling under desks, sorting network cables or moving printers around.

First Actual Programming Job (2007)

Luckily the company had a position opening for an eProcurement programmer. Bingo! I switched departments and finally got to put all my programming experience to good use. The company was after a new eCommerce website which would have portals for big contract customers to have their bespoke products listed, as well as a general retail website for the public to order, and APIs for things like cXML punchout. Working with two other developers. Around this time Microsoft. Net was introduced and after looking it over we decided that this was the right tool for the job. I took an intensive course to become a Microsoft Certified Professional and Microsoft Certified Application Developer. After that, I took the lead on the front-end development. The ASP. Net website used a 3-tier architecture approach (UI, business logic and data access) and used the IBM AS400 system, via an API, as the data source. Everything was a huge success and everyone was happy until 2011 when the company was bought out and departments closed. In late 2011 I was up for redundancy.

Freelancing and Own Company (2012)

Azulia Designs Ltd
Azulia Designs Ltd

When one door closes, another opens. At the beginning of 2012, I started freelancing and started my own company, Azulia Designs Ltd. I did several contracts and learned a lot of new skills. After a few years, however, I decided that freelancing and being self-employed weren't for me. If I wasn't working on a contract I was looking for the next two, doing accounts, stressing over IR35 complications, I was actually working nearly 18-hour days - and only getting paid for 8 of them. I then decided to go back to full-time employment.

Moving To Scotland and Agency Work (2014)

In a quick turn of fate having closed my company down, I ended up moving to and living in Scotland. Again with the job hunting, this time anywhere in the central belt area. I ended up taking a job in Edinburgh designing mobile applications. Again I really liked working at this company, however the commute was horrendous - a 15-minute drive to the train station, followed by two trains and then a bus. If anyone has used public transport in Scotland before you'll know how unreliable they are. I had to change trains at Carstairs, and there was only a 10-minute window to catch the next train. The number of times I saw my next train pull away from the station waiting impatiently for the doors to open on the one I was in, then the hour wait for the next one (which during winter may not even turn up!)

After a year of torturous commuting, I decided to get a job, which only involved a 15-minute drive and one train. I ended up in a fast-paced web design agency working as an Umbraco developer, however, the role ended up not suiting me and I left.

Finally A Software Engineering Role I Can Grow In (2016)

In 2016 I found a software engineer position at a large company based in Atlanta, GA with offices in Glasgow. This was the role I was looking for! Whilst this role can be challenging, there is plenty of support to help people grow and develop. The work is varied, sometimes working on legacy Visual Basic code base, other times designing and developing cutting edge ASP.Net Core API and UI using the latest frameworks. In 2018 was promoted to senior software engineer having demonstrated extensive knowledge and ability. During my time in this role, I've had the privilege of working with some really great developers and leaders, and worked on some fascinating projects from APIs to industry-leading web applications, from database design to server data processing, architecture and automation. I'm still with this company today.

The path to senior software engineer isn't always straightforward, from school, college, University and into a dream job. Mine took a lot longer and had some twists, turns and interludes. Each twist and turn however gave me more experience and skills, to the point I can pick up any project and run with it. My current line manager is always saying how well I adapt to challenges and tackle complex problems nobody else wants to and has hinted several times about career advancement and management roles. Do I want to be а manager? No. I'm happy where I am, doing what I love doing. Does that mean I lack ambition? No, it means I'm happy.

Related ArticlesThese articles may also be of interest to you

CommentsShare your thoughts in the comments below

If you enjoyed reading this article, or it helped you in some way, all I ask in return is you leave a comment below or share this page with your friends. Thank you.

There are no comments yet. Why not get the discussion started?

We respect your privacy, and will not make your email public. Learn how your comment data is processed.