Daniel May

Me: A Unique Case

by Daniel on Feb.19, 2010, under development, meta

I’m gonna talk about myself for the majority of this post, so if you don’t find me interesting – it’s probably not worth your time. Thought I’d warn you.

As many of you know, I’m young. I’m 17 years old with a permanent job in software development – which is rare. I don’t think I’ve come across anyone else with a professional software development job this early on (most probably because all the other teenage nerds are taking the standard college –> uni –> job approach) – but if you’re out there, contact me!

It’s not been easy, but it’s not been particularly hard either. I have been developing actively since I was around 11 years of age, with advice from my father and an introduction to the basics by him. I was instantly interested and wanted to learn more. I loved it. I loved the moment I wrote my first program, to the moment I moved on and wrote my first line of PHP code. It is my passion, and I discovered it at a young age. This is when I first started self-learning.

The first book I ever bought was “Teach yourself VB.NET 2003 in 21 days” – Granted, it was a “XX days” book, but it taught me the basics of what I needed to know. Best 3 weeks of pocket money I’ve ever spent.

I continued to code, moving from VB6 to VB.NET to PHP, including MySQL, playing around with python and various other languages. This kept me busy throughout high school – I scored a number of freelance jobs doing things ranging from data entry to MySQL database design… I daresay I was earning more than the majority of my high school friends, at the price of having next to no social life.  I kept learning through various portals such as online tutorials, problem solving – I was so interested about 90% of my time outside of high school was spent learning for my passion, knowing that at some point it would reward me.

Then came GCSEs. I took a course in DiDA (Diploma in Digital Applications) which I thought would help me carry on to take a computing or programming course at college – it did, but it was nowhere near as technical as I was at that age. Unfortunately, VLOOKUPs in Excel aren’t something I want to be doing for a career – each to their own, though. Albeit bored, I passed these and even got to do some HTML and CSS in the end. Go me.

I finally made it into college and took a computing course – much to my dismay, they were teaching VB6. VB6 in 2008/9. A ten-year-old technology being taught? I can understand the reasons for doing so (simplicity, being eased into development), but was VB6 really the best option? Why not Python? Support for VB6 ended in ‘05, extended support ended in early ‘08. Either way, it was a breeze for me and I was accepted onto the gifted and talented programme. Good stuff. Unfortunately, it was nearing the end of my first year that I decided I didn’t want to do this anymore. I was sick of the constant VB6 re-learning, sick of being miles ahead of my classmates (imagine this as modest as humanly possible). It wasn’t fun and was no longer interesting. I dropped out.

I grabbed myself a few books outlining .NET, compsci concepts, algorithm development and read quite a lot of online blogs – and this helped me reach my first job. A professional .NET development job for someone with purely self-taught knowledge.

It is this that I believe separates me from the crowd. I didn’t go to university. I can’t tell you intrisically how the floating point system works nor can I tell you precisely how the garbage collector in .NET completely works. What I can tell you is that in time, I will know. I will learn these things. Either by myself or via tutoring.

I by no means claim to be an expert. I merely claim that given time and training, I will be. I was born for this.

- Daniel May

:

10 Comments for this entry

  • bennuk

    Fantastic post – it’s really great to see the journey that someone has taken to get into the world of IT.

    It’s a real shame that schools just don’t *get* how to teach the passion and enthusiasm – and point people in the right direction for things. Finding someone who can teach .NET at every school would be impossible – but showing them the way forward, pointing them at stories like this… could really help to inspire new generations of developers and IT Professionals the world over.

    I went to university – I loved university – and it taught me a lot of things outside my subject area that I wouldn’t have got elsewhere.

    That said, I know so many people in the industry that didn’t – and when it comes down to doing a job, and being a really innovative contrubuter to the industry, your degree is nothing compared to your passion, determination, and experience.

    Definitely a story worth sharing – and a post I’ll be referring people to for quite some time!

  • James Gregory

    You’re on the right path Daniel. Keep doing what you’re doing and things will only get better. You obviously have the drive and passion necessary to go places in this industry, and do it under your own steam rather than through coaxing or pushing from others. You should be proud of yourself.

    Your story sounds very familiar to me. I got my first development job at 19. I went through school being a geek mostly doing model+level design for game mods; came out with no qualifications of value, then went into college expecting revelations. Dropped out of college a month later after we spent the first two weeks learning what a computer was (don’t touch the mouse yet, we haven’t told you what it is!!); then picked up a book on .Net — I was doing mainly VB6 and C++ at that point — and the rest is history. No qualifications, no university, and completely self-taught. I’m now 24 and doing pretty well for myself :)

    Sometimes this route is harder, but I genuinely believe it produces better developers. Why? Because to go this route you have to be passionate and care about what you’re doing to begin with.

    Good luck Daniel, and feel free to contact me if there’s anything you want to talk about.

  • Daniel

    @bennuk:
    Thanks for all the kind words there Ben – I hope that some young developers can find this at some point and realise that there are other options out there. I’m doing pretty well and in my honest opinion, things can only get better. I’m still learning, I’m happy, I can’t wait for my career to pan out.

    @jagregory:
    Thank you. You’re the inspiration here – it’s great to know I’m not alone in the world of self-taught development. I agree with the “better developers” part – not because I’m egotistical, more that this way I believe I can portray my enthusiasm, my passion and my care for the career path I’ve chosen in a “Look what I’ve done” manner. Thanks again – Will have to talk at some point!

  • Andrea

    Daniel: You are indeed unique, and as James, I think you are in the right path.

    Follow your gut.

    I think posting this is a great idea, I hope you get some visibility with this.

    If I can be of any help, I m too here.
    Great meeting you BTW, and hoep to see you at DDD Ireland

    Cheers

    Andrea

  • NHaslam

    Hi there,

    Have to say I think you are doing it the right way.

    I did go to university, got a degree, and the most useful things I got out of it were formal OOP training in C++ (still useful now I sit in C#), and a years work placement at an IT company that wouldn’t have touched me otherwise. That was 16 years ago.

    Since then, self training has been the way to go, wherever possible. There’s various DDD events, which offer great looks at various technologies, and if you feel the need to be certified, MS Certifications are £80 for the exam. I’ve done 14 of them over the past 10 years, and most were self taught. Getting them approved by the company hasn’t really been an issue as it helps maintain our MS Partnership, which is a plus anyway… :-)

    Great post, good luck, and hope to see you at some Dev events soon.

    Nick

  • Jeremy Skinner

    Like you and James, I was also in a similar situation. I started my first full-time developer job at 18 after finishing Sixth Form College.

    Over the years since I have never regretted not going to uni. For me, I prefer to learn on my own schedule rather than adhering to a prescribed course.

    Personally I’ve found being involved in open source projects a particular benefit. Not only does this demonstrate to potential employers a willingness to learn and a passion for development, but it has also helped me become a better developer by being exposed to the code of so many talented developers.

  • Sidar Ok

    Fantastic post Dan, and ditto with peers who said that you are on the right path.

    I had a permanent job when I was 17 as well, I had to go to the university with this concurrent work. It was hard…But I can’t say that I got nothing out of the CS education. It has a lot of cons, I won’t repeat them, but systematic learning is a real added value. The main reason for this is, if you learn how to learn systematically and embrace it – you can do it for all the time and for everything. If you do it only with the motivation – when you loose your motivation, it is going to go away.

    Since this is a professional world, and hence, we are doing a lot of boring work and fun work in a same day. The university is the second best body that teach you how to deal with the boring stuff. The first one is compulsory military service, huh.

    Anyway, best of luck in your quest and I am sure brilliant minds like you will keep increasing within the maturity of our sector.

    Sidar

  • Johnno Nolan

    Interesting post. I too haven’t come through the universtiy route and got into professional software much later in life than you, you wee whippersnapper! Where I made my mistake was I assumed that a company would automatically invest in the training of developers and waited for that training to come. It took me a while to get used to the fact it was ME that was responsible for my training something which you seem to have stumbled on naturally.

    Self learning does has its downsides. A good mentor saves you a lot of time as you are travelling into the unknown. I find the unstructured nature sometimes leads me down the wrong path. So I’ve gone to uni to find something with a bit more structure. The fantastic thing about that is that you get breadth. You are asked to study in areas that are at the bounds of your circle of interest. I also find in self-learning that I learn just enough to get past the problem. Sometimes with structured learning you are asked to have a deeper understanding.

    Should you go to uni? I don’t think it matters unless you want to? The key thing is I think is that you have the drive to improve. Be confident in your skills but be humble in the knowledge that there is much to learn. This is the path to true enlightenment grasshopper.

  • Luke Smith

    Back when I was at College (10 years ago) we were taught Pascal to learn the basics of programming; functions, procedures, variables etc (which was good and can’t say anything bad about that). But when it came to writing our big projects we were made to use Access, a tool i’ve not touched since. I actually refused to use Access and instead taught myself Delphi.

    Universities don’t teach computing students what they need in the real-world, they teach the science bits&bytes which in reality very few students will actually be working with on a day-to-day basis. There was no teaching how to build highly scalable solutions, no teaching the importance of writing clean/maintainable code, no teaching how and why to test your code.

    I lived with a guy who was doing a 2 year course at Reading College (now TVU) in Computing. He was learning how to design and write business applications. But because it wasn’t a degree he found it hard to get a job. Yet to me he had more experience in what he would actually be doing in a day-to-day basis in the job than someone who had done Computer Science at University.

    It’s depressing how the majority of companies think you must have a degree, and because you have a good degree you will be good at the role, it’s complete rubbish IMO. They can’t distinguish between the passionate guys/girls (who may not have gone to the top universities) from the academic “i know how to write a complex algorithm yet ask me to write a maintainable solution that is 90+% of systems and I couldn’t and don’t have the interest in doing so, i want to write complex algorithms noone understands”

    I’d much rather work with a bunch of passionate self learners who are interested in continual improvement than someone who has a degree from a top university who then stops and rides the career ladder (you have n-years experience that makes you “job title x” whether you deserve it or not).

    Bit of a rant but thats my take on things :)

  • Steve G

    Hi Daniel,

    Just stumbled across your blog post. You’re right, there are very few kids like yourself these days getting into computer programming early on and turning it into their career. In times gone by there certainly were many more who skipped University entirely and jumped straight into the job (myself included!) and there is certainly nothing wrong with that! It certainly beats the majority of students who see IT is simply a career path.

    If you’re not going to University one piece of worthwhile advice is to make sure you train yourself up on the more boring aspects of programming that you would have learnt on an Undergrad course; such as UML, IT project lifecycles etc and knowing Java is always handy. You also might be interested in looking at the MCSD certification track which can be completed pretty quickly and backs up your self taught training with qualifications that employers recognise.

    Anyway – well done, and I hope you have a long, enjoyable career and never lose your passion for computing!

    Steve

2 Trackbacks / Pingbacks for this entry

Leave a Reply

Can't find something?

Use the following form to search:

If you're still not finding what you need, feel free to dispatch an email to daniel[at]danielmay.co.uk

Archives

View posts by month: