My first introduction to computers was around the age of 8. My dad owned a Commodore 64 (a computer from the 80s) which I would see him typing words like 'LOAD "*",8' in to its terminal to load games.
I used to love putting tapes in to the Commodore Datasette (a tape data storage device) and seeing it mechanically working wondering how games were stored and what it was doing for 1-2 mins to load a game.
One day, he calls me over and shows me this piece of text on the screen:
He then runs the program, then I see this huge wall of text printed down the screen shouting "MARTIN SMELLS" - wow.
So I was thinking, how can I do that?! There after came my first few lines of code ever.
The next things to come were getting hold of the Commodore 64 user manual. It had some amazing things in there like how to change the colours of the screen, how to play sounds, even how to bounce a ball around the screen. I couldn't stop reading all these programs and trying them out. Even game magazines around that time came with cheat code programs that you could type in and cheat games.
My first programs were things like hangman, a word processor allowing me to save and load text to tapes. This whole world of coding on this machine consumed me completely. If I was out with the family doing something, you can be sure I had a pad and pen writing out the bit codes I needed to draw 2D sprites on the screen.
Skip forward a few years, I found that I loved thinking about making games. The art, music, creative process was so enjoyable. My family eventually got our first PC which led to learning Visual Basic 6. Then some years of that trying to write games and applications led me to C++, because that's what all the pro's used for making games. Then I was in to lots of cool game engine coding with DirectX and OpenGL and loved sockets programming for making multiplayer servers with UDP and TCP.
I was looking for every programming book I could get my hands on. From typical "Teach Yourself C++ in 21 days", to "3D Math for Game Development". Books were fun because they opened up new ways of doing things. The examples of "Here's how this works" or "Here are ways we can solve this problem", it was just all amazing brain food to me.
One of my most memorable moments was being able to crack open the Quake 3 game level maps and character model files by studying how they saved their data. I would load the maps in to my own game engine with all its textures and light maps, and then load in 3D bone animated character models. Connect this all to a UDP game server and there I was with friends running around - let's make an MMO! That didn't last long of course.
All while this was happening in my teen years (too many projects to list), my family didn't really push me to go to University. I took a job in the local biscuit factory where everyone else in my family were working. Now imagine having all these computing skills and seeing a business running on business software like SAP and having machine engineers that would interface machines with it. This place was a gold mine of knowledge.
I eventually came off the shop floor in to a SAP administrator role and then in to their planning office as a supply chain scheduler. The planning software was separate to SAP, so lots of data exchanging was happening between it and SAP. With some coding skills, it didn't take long to start seeing ways to glue data together, automate their business processes, even link information from their HR system and employee data. I was essentially writing business software completely tailored to them.
Everything about my coding experience so far was out of the pure passion and enjoyment of it. I didn't really realize what the world of tech was or what companies did with programming at all. It was just me in my own world of having a computer at home that I loved creating things with. In this business world, I just saw problems and ways to make things better by programming tools for people to use. I had absolutely no idea that I was some kind of "Software Developer" and these skills were sought after.
Some of the tools I was making started getting the attention of Health and Safety managers and warehouse managers from other sites. Then came a day when the General Manager said to me that I should just go get a job in a software company and earn much more money than they could give me.
A week later, some phone calls with an IT agency, I landed my first job as a Junior Software Developer. I was so naïve, I had no idea that I could get a foot in the door of software companies or how they hired people. It took someone to show me and guide me through that. I was around 22 years old at this time.
The craziest moment of this was during the recruiter telling me that I had got an offer after going to the interview. It never crossed my mind to ask or talk about money. He said "So they are offering you £30,000 to start off", at the time, I was earning around £14,000 per year. My reaction on the phone was "But wait, thats literally double what I earn...are you serious?". I remember coming off that call with tears in my eyes.
It was insane to me that I was going to be earning more than my parents. I was coming from a family of 7 as the middle child, a small town kid, no University education, my dad who was near minimum wage his whole life as the sole monetary provider. Today, never a month goes by where I don't fight imposter syndrome.
From there, years later were a whirlwind of tech roles. A few years of web development, a few years as a backend developer, desktop application developer, contracting, working for some well known companies, some small local product based companies, the list goes on.
I'm now lucky enough to be in one of the most exciting technology companies in the UK as a Software Technical Lead (you can find me on LinkedIn to find out more).
I've always had a passion for teaching people things, I love knowledge sharing. Especially when the energy to teach is reciprocated from people wanting to learn. This web-site is my enjoyment in helping people wanting to learn how to become a software developer - enjoy.