When Fred started advertising the #DevStory series, I made a quick quip about how mine would be really short: but I later realised there is a bit of a larger story worth sharing; so I’ll try and make it a little longer and not very boring for you.
My parents have both been software engineers since the 80s - Dad mostly writes Cobol and Mum’s a database analyst - so when I was 5 or 6 years old, we got a computer. It was an old MS-DOS machine (sorry, I don’t know what model it was). I remember loading it up with floppy disks to play 8-bit versions of Where in the World is Carmen Sandiego and Wheel of Fortune with my sister. And by floppy disks I mean the actual floppy ones - I can’t remember if they were the 8” or the 5 1/4” ones but, either way, they were big.
None of this rigid plastic business on the right, thank you very much.
I don’t know exactly why Dad decided we were ready to graduate from playing games to actually writing code, but both my sister and I were always very mathematically minded so he started teaching us when I was 8. We booted up the QBasic interface and went to town. I remember at one point having him teach me some basic control structures and watching him hit run. The screen suddenly filled up with text - he went, “Oops, this is when we reboot the computer!”. It didn’t dawn on me until about a decade later that it was my very first infinite loop.
I don’t remember a lot of what I learned then, but I do remember bringing one of my programs into school (this time on one of the smaller floppy disks, so modern) and showing my IT teacher. At that point, she had just been teaching us basic computer skills. I don’t remember exactly what my program did but at the very least it asked you to input your name and then spat your name back out with a greeting attached. It wasn’t exactly rocket science but I remember when I loaded it up on the computer at school and showed her she was impressed enough to run and grab the principal so he could try it out too.
So advanced. GOTO's for days
When I hit year 9 at school and was allowed to pick my subjects, I signed up for Computer Studies. The curriculum was pretty dated. I think we learned Pascal and our intro to databases was Microsoft Access.
When we learned HTML I spent more time doing art than making the actual website - our teacher was quick to stress ideas around copyright on the internet and said we weren’t allowed to just take pictures off other people’s websites without asking, so I hand-drew everything instead. Luckily my family’s pretty artistic so I put them all to work drawing pictures for me too.
I went to an all girl’s school, and when we hit year 11 and I wanted to do an advanced computing course in my last two years of school, there were only two of us who signed up. There were also only two girls who signed up to do the less advanced version. The school deemed this to be too small a class to warrant having a teacher, so we did a modified version of the course–our teacher would set us assignments for the week but wasn’t allowed to actually spend time with us. We just sat in the library and did our own study. She would mark the assignments at the end of the week and give us the next set. It wasn’t ideal but, on reflection, it was still pretty good. I learned a surprising amount for a high school course.
One of the sections of the curriculum was about different programming paradigms so I learned bits of functional programming in LISP and OOP in Java and logic-based programming in a funny little language called Prolog. There was also a section in our textbook about different ways of working in the industry - there were flow charts that showed the difference between Waterfall and “rapid prototyping” (which I guess we would just call Agile now).
I remember sitting in school one day writing out some pseudocode for an assignment, and one of the other girls walked past and saw what I was doing. The conversation went something like this:
Her: What are you doing? Me: My computing studies homework H: Whoa, it looks like a different language! M: Oh yeah, they call them languages. H: Wow, can you SPEAK it?!
In New South Wales (the Australian state I grew up in), at the end of year 11 you choose one subject to drop so you can focus better in year 12. Your final marks are calculated at the end of year 12 and are based on the relative difficulty of each of the subjects you take. They are also the only determining factor for which university and courses you can get into, so most of us were understandably very stressed about it. Our teachers told us not to worry about it, not to pick subjects that were more difficult to try and game our marks, and that the best strategy was just to pick what we wanted to do and do it well.
I decided to drop Chemistry. My school decided that my marks would be so negatively affected that this was a bad idea and promptly spent a week trying to talk me into dropping Computing instead. They meant well but I went home crying out of frustration, seeing as Computing was the one subject I actually wanted to do. I stood my ground anyway and dropped the Chemistry.
I was 17 at the end of year 12 so there is way more to the story of how I ended up at Trello in NYC more than a decade later. But this bit is the crux of what I wanted to talk about in my early journey with computers. I didn’t have any brothers, but I would like to think that if I had, Dad still would have taught all of us how to code. I can imagine there are families where that wouldn’t be the case.
On reflection, given how much I was discouraged from doing Computing it is a testament to my parents’ encouragement and example and my sheer stubbornness that I’m even sitting here today. From what I understand, my high school no longer offers Computing as a subject, even in the modified form I got.
So this is my challenge to all of you reading this:
Teach your daughters (and your nieces and your goddaughters and your granddaughters) how to code!
The fact that I grew up in a family where doing computing was the norm and where I was regularly encouraged made all the difference for me. That’s not to say you should force them; my sister learned computing when I did and she was only a little interested. A lot comes down to personal preference. The important thing to do is provide an introduction to computing to see if she likes it. The rest of the world is going to try and tell her that it is not something she should be doing, so just keep telling her she can if she wants to.
PS. Over the years I’ve done a lot of computing teaching specifically for women and girls and have put a decent amount of thought into how to make it interesting without making it condescending (and pink). The basic gist of it is that because of the gendered stigma around coding, you’ll have an easier time of it if you introduce coding as a way to solve a problem she wants to solve as opposed to starting with the code itself.
How to get started
Here’s a roundup of some suggestions for learning resources. Note: this is a personal list I’ve compiled over years, and does not reflect any specific endorsement from Trello nor Atlassian.
- CS First
- Lego Mindstorm
- Lightbot (for basic algorithm practice, no coding)
- Grok Learning (for older kids)
Groups/camps for older kids in Sydney
Project ideas for older kids:
- Teach them how to make photo filters.
- Let them pick a topic they love and teach them how to make a website for it (a lot of our #DevStories started out this way!).
- Ask them to imagine an app they wish they had and help them build it.