I’ve officially been in the world of code for about 5 years. I definitely had an interest in computers since 1998 (or maybe even before that) but, unfortunately, never had the luxury to take it further. My first website, at the age of 15-16, was for a Turkish holiday resort in Hisaronu, which i used a WYSIWYG editor. It was terrible (both the editor and the website!).
Nearing the end of school, and finishing my A-Levels in IT, I decided that I wasn’t really going to achieve anything in the current economic climate and so jumped into the first job I could find. That was the biggest mistake of my life. I had a string of the most degrading jobs ever! Of course, a job is a job, and please don’t let me put you off, but I spent my youth in very mundane jobs, making the most of the weekends, a combination which certainly leads to a state of underachieving.
I met my partner, Francesca, at 21 and we went on to have a lovely little boy, Riley, now aged 5. When Riley was conceived, I thought to myself, “WOW, what a waste of my early life! How can I make Riley understand the importance of education and what it means to be educated?”. So my next step was to take an interest of mine and turn it into a rewarding career. Well, computers, code, I love it all, so I hit the bookshop and purchased a few books. Time was against me, so I had to push myself and learn as quickly as possible. I really didn’t want to be too far behind and I learnt so much! This was the best decision of my life. Now I’m on my way to a very rewarding future, thus giving Riley the knowledge that he has the power to achieve anything.
Finding My First Job
As soon as I had sufficient knowledge of web design and web development, I started my own business and, soon learnt that being a lone developer in a world you don’t know is very difficult. In reality, I wasn’t making enough money to sustain a healthy living – don’t get me wrong, it did pay, but not enough! After two years of being self-employed, I closed the business and decided to look for a job (which would be more career-focused than previously). To cut a long story short, in over a month of trying I had four interviews and managed to land one of them. The other 3 interviews were very close, as I always made it to the final two, but my lack of experience always let me down. Nevertheless, now I’m in a web dev role, in which I’ve worked on various projects for a company that turns over millions of pounds every year.
During my time in this role, I was able to code some really cool features in vb.net and had the fantastic opportunity to learn C#. It took me about a month and a half to learn C# and, again, I was able to build so many cool projects, including an internal Facebook-type application for the company intranet and a support ticketing system. There is still so much I don’t know, but I’m always very happy to learn!
Who Am I?!
I still ask myself this question everyday. I started out as a static website designer/developer, before becoming a fully-fledged web developer and now moving into a software engineer role. Where will I stop? What are my limits? Am I analytical? Am I a problem solver?
These are the questions that you should ask yourself.
Once I’ve mastered programming in general I can move on to becoming an outlier. Just being an average developer and not moving forward scares me. Why would anyone not want to move forward? I don’t fear large scale projects, I can learn new technologies, and I’m always seeking knowledge. I can build great web applications, and I’m not a mathematician. With these things in mind, I see myself becoming a master in OOP and design patterns.
My advice for you is to never give up, strive to learn and push yourself! In all honesty, there were times where I wanted to give up, but quitters never win! Occasionally, I would say to my partner, “I can’t do this. Why won’t it work?!”. She would just say “try”. The same concept of trying applies to life. You can literally do almost anything if you try.
If you find yourself in a situation where you are creating a new feature and just can’t figure out how or where to start, then sit back, grab a pen and piece of paper, and write down the most basic premise of the feature. Understanding the most basic model enables you to start, but don’t forget extensibility! Whenever I have a new feature, I always build the basic model with the option to extend.
I remember watching a video of an outlier demonstrating VB concepts and, about half-way through, the outlier said “be comfortable with partial knowledge”. This really hit home and I was blown away! As budding developers, we often seem to compare ourselves to the greats, but why? Are you ever going to be Scott Hanselman or Bill Gates? Not likely, but don’t let this put you off. We will create our own image, learn as much as possible, and venture into the world of becoming an outlier using our own craft and methodologies.
Don’t forget to be comfortable with partial knowledge and command your time.
My Next Step
I’ve always had the drive to do something special, I just started later than most. On the quest to master OOP, I stumbled across “Becoming an Outlier: Reprogramming the Developer Mind” by Cory House. Well, quite simply I was blown away. Not only did it give me the motivation to strive to master advanced levels of core programming, it also gave me the ability to accept another opportunity presented to me. I was offered a job at an award-winning software house that has serious career progression opportunities. I was a little undecided about accepting the position, as the role would see me using a completely different platform, server environment and language. The new language was PHP and I would be using a Mac, which is completely alien to me! But, after Cory House’s course I thought:
Exploration vs. Exploitation!
Exploration was chosen because the new role offered serious software development training and OOP. I don’t want to just be an average developer; I want to be an outlier! This is only achievable by getting incredibly good at my craft. The programming skills I will learn in my new role can be transferred to C#, I.E Interfaces, abstraction and inheritance.
We can do anything if we just try and never give up! It doesn’t matter about your background, where you live or how old are you are. We can all strive to become outliers and masters of our craft.