Long before coding was cool and when my school “IT classes” struggled with mail merge, I started learning how to write simple computer programs in QBASIC on PC.
It turned out there were a few of us at school who were interested in doing the same thing and thus “QBASIC Club” was born. Without direction, we mostly experimented with visual effects and emitting beeps from the PC speaker.
Some of the older pupils had already been collaborating for a while and were very keen to show off their latest work, which they boldly described as an “operating system”. Loading it up and hitting RUN resulted in a rather impressive splash screen followed by a command prompt with barely enough functionality to execute a few simple file management tasks.
As an impressionable young man, I decided that the club should move away from “messing around” and that we too should “write an operating system”. After all, hero of the decade Bill Gates had written a BASIC interpreter for a PDP-11 when he was just 13 and gone on to found an amazing software business.
I met with the IT teachers and naively pitched the project.
One of the teachers made a point of asking me:
“What algorithms would you use in your operating system?”
I had no answer and left the room feeling crushed. Clearly, I had little understanding of what it would entail to develop even the most minimally-functional OS for PC.
Nonetheless, the potential to create one had seemed exciting and something that could be done.
What I really needed was some advice and guidance on how to actually get coding and deliver an interesting piece of software: one that might teach me (and the group) something new or solve a problem, beyond blaring out chiptune renditions of Elvis in the computing lab.
And, in retrospect, what I might have read as negativity towards my enthusiasm might have been a suggestion to learn more about what it was I was trying to achieve. If so, it didn’t quite have that effect and it probably put me off exploring programming much further.
Since then, I’ve always been wary when people respond to enthusiasm with negativity and pose questions designed to block, rather than help find a solution. That’s why when I’m approached by someone with enthusiasm and the goal is positive, then I’d like to respond equally with positivity and enthusiasm for that goal.
Often at Bytemark, customers and potential clients come to us with exciting ideas and server setups they’ve designed themselves. Their enthusiasm is a signal to us that what they’re trying to do must be important to them. It’s too easy to look at an early draft design and say “no, that’ll never work how they want it to”. It’s our job to find out: “What are they trying to do? Who are they trying to help?”.
And crucially, how do they think we can help?
Back at school, we often imagined that some of us might end up going on to found software businesses, though browsing LinkedIn as you inevitably end up doing, it seems like no-one from that group did. I wonder if that would’ve been different had I got a positive response rather than one I perceived as blocker to that idea almost 20 years ago.
Thankfully, the landscape and attitudes towards teaching programming have changed dramatically. It’s awesome that schoolchildren can now access resources on starting to code on the web. The creation of Code Club specifically tries to address this with their goal of “inspiring children to build and share their ideas, learning along the way”.
I’m pleased that Bytemark supports Code Club and that we can help meet enthusiasm with positivity in every aspect of what we do.
Thanks to Tim Dobson & Matthew Bloch for reviewing this post.
Did you have a crushing experience when you were learning to code? Share the pain and what you learned in the comments!