The best way to predict the future is to invent it. -- Alan Kay
Every aspiring computer scientist will, at some point early-on in his or her career, stumble upon a concept known as "recursion."
Recursion is a basic yet daunting theoretical CS technique that solves a problem by breaking it down into many identical, smaller ones. For example, a factorial is essentially a cascading series of smaller factorials: n! can be represented as n*(n-1)!, which can be represented as n*(n-1)*(n-2)!, so on and so forth. Similarly, the nth Fibonacci number is actually the (n-1)st Fibonacci number plus the (n-2)nd Fibonacci number.
Computer scientists are taught recursion via the "recursive leap of faith." We are supposed to think through why recursion would solve the first steps of a problem, and then we are supposed to accept that its magic will somehow work for the rest of the steps. Basically, we are taught to forgo logic and just take that leap of faith.
It is amazing to us how much of the advice given at she++ -- and keep in mind, this is not advice about how to program, just how navigate the programming community -- fell along those same lines. Our speakers advised us to let go of perfectionism. Accept self-doubt. You don't need every step to be in place before you get started. Fake it till you make it.
A week before the conference, we shared our stories, vision, and passion in our blog post. And now, a month later, we share with you our reflections on she++.
The voices at she++ forcefully demanded action. If our speakers impressed one thing, it was that everyone -- woman, man, coder, entrepreneur, or investor -- should be computationally literate. If you need to design a website for your non-profit or understand how social media advertising will influence your product, you need to know the language. They reminded us that we have left behind the era where engineering was tangential to marketing and sales and management. It is absolutely integral.
We asked each panelist at she++ to share some wisdom that she wished she had been given when starting out in computer science; the (paraphrased) results are on our website, and they again also tend toward a "leap of faith" approach. Take a CS class, reach out to a role model who inspires you, or just start playing around with some open source code.
We also discussed at she++ that it is not technical difficulties (pun intended) that plague female computer scientists, but rather the social dynamics of our field. We learned that those dynamics -- and they begin early on with the collection of gender stereotypes we battle -- are the real deterrents of female computer scientists.
We said in our first article and we'll say it again, "we want women to become the active catalysts behind the laptops and smartphones they rely on everyday -- not just passive users." But unfortunately, as she++ confirmed, women are afraid of the nerdy programmer stereotype. We are afraid of spending the rest of our lives starting at a neon terminal. We are afraid of dungeons and dragons (or more recently, Skyrim). But during the duration of she++, we don't remember anyone being fundamentally afraid of computer science. Women are not averse to technology, but we are sometimes averse to its context.
And that is quite possibly the answer to recruiting more women into technology: we don't need to change anything about computer science, but we, you, need to be agents that shatter the myths around it.
So given what we learned at she++, we'd like to shatter a few myths about computer science for you right here, right now. We hope that you'll not only internalize our advice, but also take on the challenges that we, our speakers, and the community of women technologists present to you.
1. There is absolutely no technical necessity for black terminal windows with neon green text -- that is simply another effort on behalf of the CS community to inflate the exclusivity of what we do. Similarly, coders use a lot of unnecessary jargon to bolster our egos; we guarantee you that we don't even understand half the acronyms we use. Do not be afraid of them. You know more than you think you know.
Programming is in fact highly accessible, and the entire technology community (yes, Facebook, Google, Skype, Apple executives and all) want you to try it out. It's just like learning a new language in your free time. You're just using an iPhone instead of Rosetta Stone to do it.
Here are some suggestions, courtesy of our speakers, on how to get over that initial apprehension:
- To get started, watch Stanford's CS106A lectures on YouTube, download the starter code, and try the projects for yourself.
- Write an iPhone or Android application, and see it through. Web platforms such as Sencha make mobile programming more accessible to anyone. Conceptualize your app, write the code, test it out with users, and then make it better.
- Contribute to open source code on the web -- there's more than enough to go around.
- Serve as an example for other young people and be a change agent. Work with friends younger than yourself to teach code and debug together, and encourage your youngsters (especially for elementary school students!) to look into fun and simplified programming tools such Scratch, LEGO Mindstorms, or GoGoBoards.
2. Those who already know how to program are not done learning. Fields such as math and physics attribute their fundamentals to philosophers who lived when computers didn't even exist. The most famous computer scientists are still alive.
Think about it: the Internet didn't even exist when most of us were born. We are the first generation to grow up with laptops and smartphones. The World Wide Web, Google Maps, the iPhone, Twitter, and wireless Internet are all younger than (most of) you. And the people who invented them are still around if you'd like to meet them.
Technology is dynamic. We want to empower women to enter and consider the field, but we also want to stress that women within the field should continue learning. Our parents' generation took their first computer science classes in FORTRAN, and now only a couple decades later, we are learning in Java. Imagine what will emerge in the next few years.
For those who have never coded before, you are not alone in learning new languages. And for those who already are technically literate, as you expand your vocabulary, help those around you to learn together. Collaboration and mentorship are essential to cultivating a vibrant community of femgineers and shattering that nerdy stereotype. So, while to continue to develop your technical knowledge, remember to value the people who are helping you learn. Reach out to those you admire, and help out those who admire you.
We are far from the finish line.
3. You don't need to find a good programmer for your idea to succeed. You need to be a good programmer for your idea to succeed.
Here's the thing: women have a lot of wonderful technology-related ideas. We own half the iPhones and create half the Facebook accounts. Thus there is a lot of potential for our ideas to succeed on the marketplace, because who knows what women want better than other women? But there remains a huge gap between idea conceptualization and product realization, both of which women seem to have well covered: implementation.
Mark Zuckerburg birthed the idea for Facebook, and he wrote its initial code base. Larry Page and Sergey Brin derived the PageRank algorithm, and they used it to implement Google's search functionality. Steve Wozniak and Steve Jobs conceptualized the Apple computer, and they personally built it in a Palo Alto garage.
In all of the greatest technology companies of our time, the founders were more than figureheads. They did more than conceptualize the idea and advertise the product. They filled that implementation void with their own blood, sweat, and tears.
The opportunities are endless for women who strive toward a truly innovative, creative, and technologically-literate future. By 2018, there willl be nearly 1.4 million computing jobs openings in the U.S., but at current graduation rates, only 29 percent could be filled by U.S. computing graduates. You have a place in this field, so go for it. Don't let apprehension about your capacity hold you back. There is absolutely no equivalent replacement for the passion you will bring to the implementation of your idea.
I find out what the world needs, and then I invent it. -- Thomas Edison
We hope the myths we shattered above did something to convince you that programming is accessible and intuitive. We at she++ are continuing with our efforts to attract women to computer science, recursively chipping away at the problem in ways that we hope benefit you all.
We are working this summer to develop a documentary that features the she++ story. We captured a room filled with doubt, creativity, empowerment, and hope, and strive to bring these emotions to people all over the nation who may have at once felt the same way. We are also developing curriculums that will allow all age groups and experience levels to learn how to program iPhone and Android applications. We want to invest in women, in their ideas, and in the potential of technology.
We seek to remove all barriers that prevent women from inventing technology. If you have any feedback on how we can best serve you, please don't hesitate to let us know how. We would love to hear from you.
See you next spring at she++ 2.0.
Ayna and Ellora co-founded and chaired she++, Stanford's first conference on women in technology. They'd love to hear about your work, or your feedback on theirs, at firstname.lastname@example.org or email@example.com. Learn more about she++ on our website.