How did I get started in software development?

· by Steve · Read in about 3 min · (485 Words)

My old pal-turned-Microsoftie (I try not to hold that against him 😉 ) DamienG meme-tagged me again so here goes…

How old were you when you first started in programming?

I’m not completely sure, I know I was around 8 or 9 when our primary school got a ZX81 and a BBC Micro around the same time, and I used to mess about with them at lunchtimes and after school whenever I got the chance. A short time later I got my first home computer, a ZX Spectrum, which was just built for home coding, and also did a bit on a cousin’s Vic20 and friend’s C64.

What was your first programming language?

My very first programming experience was actually LOGO, although it was very rudimentary. BASIC followed shortly after obviously.

What was the first real program you wrote?

A text adventure game on the Spectrum with a mixture of line-drawn and simple sprite graphics. I was highly influenced by games like The Hobbit and the Fighting Fantasy books at the time 😀

What languages have you used since you started programming?

Way too many 😉 I guess I’ve majored on C++ and Java most of my career, although I’ve had stints in many others from time to time. The full list as far as I can remember:

C/C++, Java, VB, VBA, VB.Net, C#, BASIC, Asm (80×86, 68k, 8051), Perl, Python, PHP, Turbo Pascal, Delphi,  ActionScript, Javascript, COBOL, SmallTalk, Prolog

What was your first professional programming gig?

Age 21 looking after mainframe applications and writing integration tools between it, Unix boxes and the ‘emerging’ Windows platform 😉

If you knew then what you know now, would you have started programming?

Yes.

If there is one thing you learned along the way that you would tell new developers, what would it be?

Don’t focus on specific technologies, languages or tools as your core skills, they are just a means to an end - the fundamentals of your craft are the principles of software design & engineering which transcend all that. Technology or vendor-specific skills & qualifications have a short half-life and are thus largely worthless in the context of your entire career. Instead, concentrate on the fundamentals and your ability to adopt new ideas & technology. Don’t get emotionally attached to any particular language or environment, it will just cloud your judgement and make you think one type of solution is best for everything (which it never is).

And remember that all technology is worthless unless people use it. The most technically elegant implementation on the planet is still just so much junk if it’s difficult or unpleasant to use.

What’s the most fun you’ve ever had programming?

Doing what I do now, graphics coding. There’s nothing quite as cool as seeing dusty lines of code turn into something shiny and beautiful on screen.

Who am I calling out?

Anyone reading this who feels like it.