In my little book How to Change the World I use the PDCA model to…
Since a couple of months there's a meme flying around the blogosphere that has every narcissistic blogger spill out boring details about his/her career as a software developer. Michael Eaton is the guilty one. He started it. Just try and google for either "How did you get started in software development?" or "How did I get started in software development?". You'll see thousands of hits. Not bad for such a silly idea. It makes me wonder why the hell I'm trying to attract readers by spending countless of painful nights creating top 100 lists of books and blogs. It appears that a simple list of nonsensical questions can do the same trick nicely.
Well, Ryan Lanciaux tagged me in July, asking me to answer these same boring questions, and I only noticed it about two months later. Sorry about that, Ryan. I've never been much of a trendy guy. (I'm still trying to figure out what this Web 2.0 stuff is that everyone is talking about.)
However, I am narcissistic, and I really appreciate being asked to contribute with my share of noise. So here we go…
How old were you when you started programming?
I believe I was about 14 years old when I bought myself a Commodore 64 personal computer. I got myself books from the library about this thing called "Basic", and I was hooked. I then knew I would grow up and try to become a professional computer programmer. 25 years later, I'm still trying.
How did you get started in programming?
I copied long and useless programs from the books I borrowed, just to see how everything worked. It didn't take long for me to start writing my own programs, and playing around with the internals of the Commodore 64 computer. At one time I had managed to split the memory in two, so that I could load a separate Basic program in each of the two slots. I was very proud of that. A couple of years later I learned the concept of multi-tasking…
What was your first language?
Basic, obviously. And the Commodore 64's assembly language. But I didn't like programming at such a low level. I prefer the thin air at the highest possible levels, where intelligent life can barely survive. When I started studying Software Engineering at the university, I switched to Turbo Pascal.
What was the first real program you wrote?
The first serious program was a piece of bookkeeping software. I spent about two years building it, and I sold it to about 20 or 30 very small organizations. (The money I made was negligible, but I enjoyed every minute of building the product.) I'm still using that program for my own bookkeeping. It's 16 years old now, but it's still quite good. 🙂
What languages have you used since you started programming?
Oh, I did some simple stuff with Delphi/Pascal, dBase 4, Visual Basic and VBA for a while. But only with the arrival of .NET I started doing some real programming again.
What was your first professional programming gig?
In my first paid job, after graduating from university, I created a system for updating config.sys and autoexec.bat files, depending on the selection of software to be installed. All programs, and necessary config settings, could be edited in the database. I built this with dBase 4, for a training company where the administrator had to re-initialize PC's in dozens of classrooms every morning. My program saved him lots of time. This was long before usage of images and other more advanced solutions became the norm.
If you knew then what you know now, would you have started programming?
Yes, without a doubt.
If there is one thing you learned along the way that you would tell new developers, what would it be?
Read, read, read! Building great software is not in your genes. You have to learn how to do it.
What's the most fun you've ever had… programming?
Doing it naked.
Next one…
I'm tagging these people: Max Pool and Artem Marchenko.
Subscribe to this blog with a reader or by email!
Latest, greatest and favoritest posts:
Last Call: Top 100 Software Development Blogs!
Simple vs. Complicated vs. Complex vs. Chaotic
A Theory of Everything for Software Development