Coding is for girls
Less than four years ago, Magda Jadach was convinced that programming wasn’t for girls. On International Women’s Day, she tells us how she discovered that it definitely is, and how she embarked on the new career that has brought her to Raspberry Pi as a software developer.
“Coding is for boys”, “in order to be a developer you have to be some kind of super-human”, and “it’s too late to learn how to code” – none of these three things is true, and I am going to prove that to you in this post. By doing this I hope to help some people to get involved in the tech industry and digital making. Programming is for anyone who loves to create and loves to improve themselves.
In the summer of 2014, I started the journey towards learning how to code. I attended my first coding workshop at the recommendation of my boyfriend, who had constantly told me about the skill and how great it was to learn. I was convinced that, at 28 years old, I was already too old to learn. I didn’t have a technical background, I was under the impression that “coding is for boys”, and I lacked the superpowers I was sure I needed. I decided to go to the workshop only to prove him wrong.
Later on, I realised that coding is a skill like any other. You can compare it to learning any language: there’s grammar, vocabulary, and other rules to acquire.
Alien message in console
To my surprise, the workshop was completely inspiring. Within six hours I was able to create my first web page. It was a really simple page with a few cats, some colours, and ‘Hello world’ text. This was a few years ago, but I still remember when I first clicked “view source” to inspect the page. It looked like some strange alien message, as if I’d somehow broken the computer.
At times, I felt very isolated. Was I the only girl learning to code? I wasn’t aware of many female role models until I started going to more workshops. I met a lot of great female developers, and thanks to their support and help, I kept coding.
Another struggle I faced was the language barrier. I am not a native speaker of English, and diving into English technical documentation wasn’t easy. The learning curve is daunting in the beginning, but it’s completely normal to feel uncomfortable and to think that you’re really bad at coding. Don’t let this bring you down. Everyone thinks this from time to time.
Play with Raspberry Pi and quit your job
I kept on improving my skills, and my interest in developing grew. However, I had no idea that I could do this for a living; I simply enjoyed coding. Since I had a day job as a journalist, I was learning in the evenings and during the weekends.
I spent long hours playing with a Raspberry Pi and setting up so many different projects to help me understand how the internet and computers work, and get to grips with the basics of electronics. I built my first ever robot buggy, retro game console, and light switch. For the first time in my life, I had a soldering iron in my hand. Day after day I become more obsessed with digital making.
#solderingiron Where have you been all my life? Weekend with #raspberrypi + @pimoroni + @Pololu + #solder = best time! #electricity pic.twitter.com/26DOyyp8IW
— Magdalena Jadach (@magda_jadach) March 26, 2017
One day I realised that I couldn’t wait to finish my job and go home to finish some project that I was working on at the time. It was then that I decided to hand over my resignation letter and dive deep into coding.
For the next few months I completely devoted my time to learning new skills and preparing myself for my new career path.
I went for an interview and got my first ever coding internship. Two years, hundreds of lines of code, and thousands of hours spent in front of my computer later, I have landed my dream job at the Raspberry Pi Foundation as a software developer, which proves that dreams come true.
Where to start?
I recommend starting with HTML & CSS – the same path that I chose. It is a relatively straightforward introduction to web development. You can follow my advice or choose a different approach. There is no “right” or “best” way to learn.
Below is a collection of free coding resources, both from Raspberry Pi and from elsewhere, that I think are useful for beginners to know about. There are other tools that you are going to want in your developer toolbox aside from HTML.
- HTML and CSS are languages for describing, structuring, and styling web pages
- Raspberry Pi (obviously!) and our online learning projects
- Scratch is a graphical programming language that lets you drag and combine code blocks to make a range of programs. It’s a good starting point
- Git is version control software that helps you to work on your own projects and collaborate with other developers
- Once you’ve got started, you will need a code editor. Sublime Text or Atom are great options for starting out
Coding gives you so much new inspiration, you learn new stuff constantly, and you meet so many amazing people who are willing to help you develop your skills. You can volunteer to help at a Code Club or CoderDojo to increase your exposure to code, or attend a Raspberry Jam to meet other like-minded makers and start your own journey towards becoming a developer.
I’m always ashamed when “foreign” people apologise for their English, when it’s usually better than ours!
Q. What do you call someone who speaks 3 languages?
Q. What do you call someone who speaks 2 languages?
Q. What do you call someone who speaks 1 language?
:-) :-) :-)
Surely noone on here only speaks one language, British or otherwise. There’s bash, python, scratch… :-)
I heard the same joke, but with American applied to it. In truth, there’s a lot of people who only really speak one language. There’s nothing “wrong” with it. Some countries push English as a second language. That’s good for them, because it opens doors they wouldn’t have been able to walk through otherwise. The same goes for anyone who learns a language that isn’t their native tongue. What language you learn depends on what could potentially be the most use to you. To a lot of people that’s English, but to a lot of other people it may be Mandarin, Arabic, Spanish, or French.
Great article. I exhibit at the Recursion computer fair each year and remember meeting a young woman who told me something similar to sometimes feeling she was “really bad at coding”. She was clearly very good and it was great to offer encouragement and highlight how many mistakes I made teaching myself to code in 1984 on my BBC Micro model B.
I’ve worked in the computer industry for 20 years and have been fortunate to work with a number of great female engineers. I hope more are encouraged to join as a result of this article.
^_^ the robot with fake cables around make me laughing !
Belittle – I hate to disappoint you, but the cables around the robot at absolutely true and they were used to connect the pins on different boards ;)
Yes programming is for everybody and thanks to projects like RasberryPi entry in this world is simpler then ever. Most girls like people and words, so they end up doing journalism like OP. Developing other skills is the way to go if you want to find your place as a journalist.
Thanks Magda, this is really helpful and I’m going to take the plunge and go to my first Raspberry Jam session this week! I’d like to buy a Raspberry Pi but not sure which one is best for a complete beginner?
Definitely the RPi 3B https://www.raspberrypi.org/products/raspberry-pi-3-model-b/
I would say any of them, really. The Raspberry Pi 3 has the best performance and will feel more snappy than the others though, because it has a faster processor and more RAM. That said, the Raspberry Pi Zero W would be a really good starter with it’s low price point. The Raspberry Pi Zero W has the built-in Wifi+Bluetooth like the Pi 3 and is significantly smaller than the Pi 3, but has a slower processor and less RAM.
I’d still recommend the Pi Zero or Zero W, because you can stuff it into all kinds of small projects that might not be as workable with the larger Raspberry Pis.
Assuming, you want a more “snappy” desktop experience it wouldn’t hurt to go with the Raspberry Pi 3.