Initially I didn’t think of programming as a way of expressing myself. The best analogy I can think of is learning to program is similar to learning how to write. In the beginning you learn the letters, then the words, then after reading and studying others’ work you begin to write on your own.
Why do I enjoy Software Engineering? Besides being a fabulous, well paying, career it’s a constant exercise in problem solving.
Software Engineering is incredibly rewarding, particularly when you get past the “I don’t understand anything” threshold. You start to see connections and understand the “why” of things and not just the “how.” That’s when you realize programming isn’t as hard as you thought. The most important part is that you stick with it (and it will be hard). You need to realize programming is not an elite club, it’s just most programmers today were lucky enough to be exposed to it at an early age.
My love for code problem solving evolved into a love for problem solving at a larger, more human, scale. Being acutely aware of the diversity problem in CS, I’ve realized being a Software Engineer is a real way for me to disrupt a broken system. I hear the word “meritocracy” used often in the tech world, but I know there is a sometimes real, sometimes metaphorical “paywall” for minorities in technical careers.
I think other women should know I only started programming recently. I have a degree in Graphic Design; I taught myself HTML/CSS, then worked like a maniac at Hacker School to learn how to program. I feel a little incredulous about it sometimes because it happened quickly, but that’s my story. If you’re reading this it can be your story too (without a formal education).
A Computer Science undergraduate degree gives you a solid foundation in the interconnected parts of software and programming, but does not teach you how to program. That was the biggest shock for me, as an outsider, thinking without a CS degree I could never be an engineer. It’s also why I’m an advocate of programs like Hacker School, Codecademy, Coursera, etc. The barrier to learning how to program has been reduced to a computer and an internet connection.
Now that I realize the power of building software, I find new ways every day of expressing myself. Whether it’s building a feature and shipping it, learning the idiosyncrasies of a language and writing about it, defining best practices for my team, advocating for the users that use my products, or making websites load really fast, I find everything about this career immeasurably fascinating.