The only thing that employers were really interested in was “can you do the thing you’re claiming to do?” John describes the twists and turns he took to carve out a career in tech.
If you ask a member of the public how to pursue a career as a software developer, they’d probably say something like “go to university, get a computing science degree, get a job.”
And they wouldn’t be wrong to suggest that – CompSci graduates still make up a big chunk of professional developers. But this is far from the whole story.
Lots of developers have followed an alternative path into the tech industry, and in my own case, my education and career took many twists and turns before I arrived at a career where I truly felt at home.
As a kid, I was fascinated by computers. I can remember spending hours typing out BASIC programs, only to find that I’d made a syntax error somewhere along the way! (And of course, having no idea how to fix the error.)
By the mid-nineties, the internet had entered the public’s consciousness. I was fascinated by the possibilities and set out to “learn Frontpage”. (And for anyone who is too young to remember, Frontpage was Microsoft’s WYSIWYG tool for building websites. Yes, it was as bad as it sounds.)
I became fascinated with the freedom that the web offered, and decided that that was where my future lay.
So the next obvious step was a degree in Computer Science – but this is where things went wrong.
Finding inspiration to start again
I started my degree in 1998, learning to program using Ada. If I’m completely honest, I wasn’t mature enough at that stage to cope with the learning style that universities demand – I fell behind in my first year after really struggling to learn to code.
Something just hadn’t clicked, and I became convinced that this career wasn’t right for me. So I graduated in an unrelated subject, and without a clear plan of any sort, I fell into a retail career that I had little interest in.
I stayed in the retail industry for several unhappy years before a family member asked me to create a website for them to promote their business, and this was just the spark I needed. I started a study-at-home certification program which taught VB.net, and this time around – thank goodness – I had a much better understanding of the concepts necessary to become a developer.
Following The Zen of Python
A little later on, I fell in love with Python (and Django). I would say that it’s the language that has most influenced my thinking on how programs should be written. I still try to follow The Zen of Python, even when I’m not working in Python!
Learn the language before the framework!
When Android came along, I learned a little bit of Java – just enough to be dangerous. My focus was solely on getting up and running in Android as quickly as possible. This was the wrong approach, and I learned a valuable lesson – learn the language before the framework!
On starting with CodeClan, I learned the Ruby programming language, which I enjoy hugely. And looking to the future, I’d love to do a bit of Swift – I dabbled with Objective-C a while ago but didn’t get very far with it.
“Can you do the thing you’re claiming to do?”
I think it’s fair to say that I’m still somewhat surprised that I’ve been able to carve out a career in tech. I thought that the opportunity to work as a developer had passed me by,
I remember being full of doubt when I started the course that would change my life – would I be able to complete the course? Would I be able to find work? Would anyone give me a shot? It turns out that these fears were unfounded. The only thing that employers were really interested in was “can you do the thing you’re claiming to do?”
You’ll get there with the right mindset
So in my experience, having a portfolio of work and practical experience is the most important factor in getting in a career in development. Combine this with enthusiasm, and a commitment to learning, and you can go a long, long way without the computing science degree that you might have thought was necessary.
John McCollum is an instructor on our 16-week software development course.