# Monday, 07 July 2008
« Using the ASP.NET Routing infrastructure... | Main | Speaking at Oredev »

Shawn Wildermuth called me out to put my two-penneth together in this ongoing Meme. So ...

How old were you when you first started programming?

16. At school I’d just finished the compulsory part of my education and was moving on to do A levels. Me and a couple of friends found out there was this machine: a Research Machines 380Z in the building - so intrigued, we went to find it. Eventually we found the “computer room” housing the legendary RM 380Z and this other thing that looked like a lathe and apparently was used to consume punched cards. But the punch card lathe was not remotely interesting to us – the 380Z had a screen and keyboard.

How did you get started in programming?

There were other people in the room so we took it in turns to use this strange environment on there called BASIC:

10 PRINT Richard

20 GOTO 10

...

WOW!

That was so awesomely cool I started learning about all these other things – apparently GOTO wasn’t the only way I could make the program “move around”: GOSUB worked too – and I could get it to come back to where I’d called it when it was finished too! At one point one of the guys (yes we were all male) started talking about this thing called erase which apparently you could use to hold data but that was just some weird voodoo magic in my opinion.

So I managed to persuade my parents to push the boat out and buy me my very own computer – a Sinclair ZX81. At Christmas I eagerly unwrapped it and plugged it into the TV. I wrote my first program on it:

10 PRINT Richard

20 GOTO 10

Look everyone – how cool is that! No one in the family apart from me seemed to think this was very interesting. Unfortunately I soon realized that 1Kb was not a lot of room to write anything very interesting and we couldn’t afford the 16 Kb RAM Pack – or the duct tape to stop it falling off the back of the machine. So I returned to my first love – the 380Z. By this time I’d managed to work out that BASIC was just something you loaded on like my programs and more importantly you could alter it. Ahh the fun I had swapping the RUN and NEW commands. Unfortunately my teacher failed to see the funny side when he spent an entire day typing in an economics simulation from a listing in a magazine and then tried to run it.

What was your first language?

Well as you can see BASIC was my first language. I tried to learn C using a Lattice C compiler on my Atari ST but I found Kernigan and Ritchie apparently less accessible than all my cool computer friends. Eventually at college I learned Fortran and then Pascal. And that was my programming life until I started my first real job in 1989.

What was the first real program you wrote?

I started working for a bank in Sheffield. I sat there with a senior programmer (wow what a job that was to aspire to) while he showed me the line number and wrote down the code that I had to enter in an Algol (yes Algol) program. I had to change a limit from £4000 to £5000. I nervously started up a text editor and made the change. Before I committed the change the senior programmer looked over at the code and gave it his approval. I worked on the interactive branch office system as a programmer and systems tester, learning COBOL along the way, for about a year. I finally realised that with many years ahead of me in this industry I should probably try to get myself into the bleeding edge and so found myself programming C on OS/2 (yes OS/2).

What languages have you used since you started programming?

So I started with BASIC, then Fortran and Pascal. From there I learned 3 flavours of Algol and COBOL along with some Paradox along the way. I then started using C on OS/2 and then switched to C++ on Windows. I spent a long time in C++ and Windows – also using VB3, 4, 5 and 6. I learned TSQL so I guess that counts too. At one point I learned a strange little language called JADE and also VBScript and Javascript. I dabbled a little with Java but finally found my spiritual home with C#. I can write VB.NET if I really have to and have played with Ruby (emphasis on played) – oh and I mustn’t forget LOLCode.NET.

What was your first professional programming gig?

I think I answered this one above

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

Absolutely – but I’d have skipped a couple of the jobs along the way

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

When you tell a project manager how long something is going to take they really do not believe the figures you give them. Their job is not to plan the actual project, it’s to plan the project they think their manager will approve.

Oh actually here’s a second one: UML is a tool not a way of life

Oh and a 3rd: a team of 8 very good programmers will outperform any team of 20 programmers no matter how good some of them are.

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

Ahh this one is really difficult. I worked with some great people on the National Police systems buried in hardcore ATL. Moving from a project of 100 people to a team of 3 for my next contract was mindblowing in terms of how simple life could be if you wanted to get something done. But the most fun has been some of the hacking together demos in the middle of a Guerrilla.NET course with the other instructors to show some stuff we’d just discovered or decided would be compelling. Last week it was building a Silverlight app that consumed a WCF REST based service that reproduced the “type the alphabet” game that seems to be going around with a high-score table that all the students could play.

So who's next?

I nominate:

·         Dominick Baier

·         Andy Clymer

·         Christian Weyer

·         Marvin Smit

·         Mark Fussell

Monday, 07 July 2008 11:34:06 (GMT Daylight Time, UTC+01:00)  #    Disclaimer  |   |