How I got into web development
How I got into coding and development
I've often been asked how I got into coding, and seeing an article posing the question on Twitter this morning on the way to work I decided to write a quick summary. For the benefit of future digital archeologists, this is a mini memoir by a child from the first generation of the great tech revolution which began at the end of the 20th Century and was in exponential growth by the turn of the millennium. It all started in my early childhood, and is really all thanks to video games and because of my dad...
My first experience of coding closely followed my first experience of computers, on early BBC Micro (Model A and B) computers which had just been introduced into schools in the UK in the 1980s. My own small junior school didn't have one, but my dad was a teacher at a larger school and he brought home two or three of them from work every school holiday so we could play games with our friends. I was never particularly good at gaming, but I soon worked out how to get into the code of the games, which were just files loaded from a 5 inch floppy disc, and also the code for the disc's main menu. I would trawl through the code and find lines responsible for certain aspects of the game, in order to change things like colours or sounds, or make myself invincible. It gave me an insight into programming, and thinking in different ways, which has stayed with me. The language was BASIC.
A few years later the first ever entry-level home computer was launched, the Sinclair ZX Spectrum (48k), and my father bought one home. Reflecting on my childhood, I realise that it was really my dad's infectious interest in computing that created the right environment and sparked my own life-long addiction to tech. These amazing Spectrum home computers rapidly became hugely popular, and that is how the gaming/computing industries and communities as we now know them were born. New shops opened in towns selling games on cassette tapes and gaming magazines. Some of the magazines gave away free games -- either on a tape, or in the form of the source code which you then had to write yourself. Debugging was not easy without the tools and methodologies we take for granted today. The language on these machines was BASIC, too.
At high school, while the other kids were outside playing football, I joined the computer club. We were lucky enough to have several computers (BBC Micro again) and a minor mainframe. In those days there was no such thing as an IT department; it was all run by a maths teacher who did this as a sideline. I mainly played games on those machines, and was sometimes reprimanded for hacking into the mainframe, other computers, and for changing the games to play tricks on friends. For example, we'd fabricate problems so the teacher would come over and log in so we could see her type "* I AM SYS" (the administrator account) followed by her password. She put me forward for an IT course run by the local authority which involved a lot of programming and structured exercises. Thanks to this course, which I did in my lunch breaks, I learned to focus my coding skills and interests to solve simple real-world problems and deliver use cases to spec.
Eventually my high school got its first PCs, a couple of RM Nimbus machines, running Windows 3.1 if I recall. This was state-of-the art. I took Graphic Design as one of my GCSEs, and in that class I learned how to use MS Paint, Corel Draw and similar simple graphics applications. We also had an early form of a digital camera (in those days referred to as a "digitiser"). I was allowed to use the PC a lot in English classes, partly because my handwriting was so bad. I took to MS Word like a natural. The real power of Word was the ability to easily edit and craft my written work to perfection. Bear in mind that we still had typing classes in those days, and a classroom full of typewriters and aspiring secretaries, but no IT lessons. It also helped me improve my spelling and grammar. Without this technology, I could not have achieved my GCSE A grade for both English Language and English Literature. I got into trouble sometimes for playing computer pranks, writing malicious code etc. In my final year the school put a PC in our 6th form common room, and a group of teachers took me aside and warned me with genuine anger on their faces that if anything went wrong with the computers, regardless of the circumstances, the school would assume it was me responsible. That was a wise move, I must admit.
At university my use of computers expanded dramatically, with Excel, PowerPoint, statistics packages, molecular modelling, and other more advanced software applications. I mastered advanced Word and Excel and every aspect of MS Office, right down to programming level. The programming environment in MS Office was then and still is Visual Basic (VBA) with strong similarities to early BASIC implementations albeit much nicer and with much better tooling. It's powerful stuff. By the time I finished uni, the Internet was more important than before. Websites were still very simple. CSS 1, CSS2 2, HTML 3, HTML 4. There also weren't that many websites, and even fewer really good ones. Finding stuff on the web was not easy, there were many search engines but they were very poor -- typically listing sites based on meta tags and their ability to pay a fee rather than the relevance of the content. Academic institutions were a major driving force behind the early Internet, contributing substantially to content production and usage. Email really started to catch on while I was at uni, too. My first inbox was my uni address. It was called Pine and, like most email applications at the time, it was a monochrome command line type application, not much better than raw Telnet -- there was no UI.
My computing became even more advanced in my first proper job after graduating. I played with Oracle databases and PL/SQL, Java, MS Access, VB6, etc, and authored more advanced Macros and formulae in MS Office. The company sent me out briefly to their offices in Silicon Valley do bring a database project in-house. I loved California. I loved Palo Alto. My kind of place. My kind of people. Seeing all the big tech companies lining the road inspired me. I began to get a sense of the scale and momentum of the tech revolution that was just starting to unfold. This was before Google, etc. When I started uni, it was all about books. By this time, email had begun to replace memos as the platform of choice for internal commications and faxing was diminishing fast for external comms. Many people within the large corporation I worked at did still send info via physical written paper internal memos, which always seemed archaic to me. And "CC" sometimes still really meant using materials like carbon paper or NCR paper to write on two pieces of paper at once, e.g. for legacy forms, despite the prevalance of networked photocopiers. While I was at that very first corporation I worked for after uni, they adopted a paperless office policy and dramatically reduced their reliance on written documents, but we were ahead of out time compared to most organisations.
I still love the Microsoft dev stack. It's my dev environment of choice. These days the buzzwords are HTML5 (which I call HTML), CSS3 (which I call CSS), and for me it's all about ASP.NET MVC with Razor views and the C# programming language, SQL Server databases and T-SQL, etc. I'm also interested in architecture and infrastructure. Coding and development processes and practices have evolved, the buzzwords now being Agile (which I first adopted a decade ago), along with XP, TDD, etc. It's an exciting, changing field, and there's always something new to learn.
You couldn't ask for a more satisfying career in a more important industry. The tech revolution is much bigger and much faster than the industrial revolution. It's a pivotal moment in human history; one that humanity will look back on forever. I feel privileged to be part of it. I have my dad to thank, really.
30 May 2013