Tag: software development
This morning littleBits released their Space Kit. I’ve been on the board of littleBits since last year and am just in awe of what the team, led by Ayah Bdeir, is cranking out. Ayah is an example of an amazing female entrepreneur and CEO. I first met her via Joanne Wilson who wrote about here here. I hope to work with her for a long time.
Seeing the launch inspired me to go dig up a list of resourced for girls learning to code. Ever since I first got involved in National Center for Women & Information Technology, I’ve been deep in the problem of underrepresentation of women in computer science and entrepreneurship. Lucy Sanders, the CEO of NWCIT, has taught me a huge amount about this and I’ve worked closely with her as chair of the organization to try to make a difference around this issue.
I regularly get asked for resources for girls who are interested in learning how to write software. Following is a list curated by Lucy.
While many of these apply to boys as well, it’s a great list if you have a daughter who is interested in learning more about coding. It’s by no means comprehensive – if you have other suggestions, please leave them in the comments.
Girl and Women Specific
Learn to Code
- Khan Academy
- Code Academy
- Code Academy after school resources
- Learn Street
- Computer Science for Everyone
- Code School
- Software Engineer Insider
Intro to Computer Science
I spent this weekend at LindzonPalooza. Once a year Howard Lindzon gets together a bunch of his friends at the intersection of financing, tech, media, and entrepreneurship, we descend on The Del in Coronada, and have an awesome 48 hours together. Many interesting and stimulating things were said, but one I remember was from Peter Pham over dinner. It was a simple line, “why do we teach languages in junior high and high school but not a computer language?” that had profound meaning to me.
When I was in high school, I had to take two years of a foreign language. I had three choices – French, Spanish, or German. I didn’t really want to learn any of them so I opted for French. I hated it – rote memorization and endless tedious classes where I didn’t really understand anything. Fortunately I liked my teacher for the first two years and I did fine academically (I got an A) and ended up taking a third year of French.
Year three was a total disaster. I hated the teacher and apparently she hated me. We watched these stupid reel-to-reel movies of french cartoons aimed at English speakers trying to learn French. Beyond being boring, they were incomprehensible, at least to me. Somehow I ended up in the front row and it was my job to change the movie when it finished. One day, when I was sure the teacher was out of the room and I was changing the reel, I muttered ” tu es une chienne” (one of the few French phrases I still remember, along with “va te faire foutre.”) I was wrong – she was in the room and, after a trip to the principal’s office (the principal liked me and let me off easy) I dropped the class and took a study hall instead.
Now, before I use the old line of “I have a hard time learning languages”, I’ll call bullshit on myself since during that time I learned BASIC, Pascal, and 6502 Assembler. I was good at learning languages – I was just way more interested in computer languages than romantic european languages.
We didn’t have AP Computer Science at my school so I taught all of this to myself. But today, schools have computer science courses. And, based on what I’ve learned from my work at NCWIT, looking at course curriculums, and talking to a lot of students, most high school computer science courses suck. Part of the problem is the word “science” – they teach computer science theory, how to program in Java, math, logical, and a bunch of other things. But they don’t teach you software development, which is much more useful, and a lot more fun.
When I compare it to French 3, I wanted to learn conversation French. I probably would have enjoyed that. But the teacher, who was French, insisted on grinding us through endless grammar exercises. The movies were sort of conversational, but they obsessed over the different tenses, and we were tested endlessly on when to use tu and when to use vous, even in French 3.
I’m not a language instructor, nor do I have any interest in figuring out the best way to teach a language – computer or otherwise – but it seems to me that we are shifting into a different period where learning how to write software is just as important – and probably more so – to a high school student as learning to speak French, at least at a two year of course level where all you remember are a few swear words.
Am I wrong? If so why. BTW – Google translate quickly tells me that is “Ai-je tort? Si oui, pourquoi.” My bable fish is on order.
Kevin Kelleher’s article on GigaOm this morning titled 2009: Year of the Hacker made me think back to the rise of open source after the Internet crash of 2001. In the aftermath of the crash, many experienced software developers were out of work for a period of time ranging from weeks to years. Some of them threw themselves into open source projects and, in some cases, created their next job with the expertise they developed around a particular open source project.
We are still in a tense and ambiguous part of the current downturn where, while many developers are getting laid off, some of them are immediately being picked back up by other companies that are in desperate need for them. However, many other developers are not immediately finding work. If the downturn gets worse, the number of out of work developers increases.
If they take a lesson from the 2001 – 2003 time frame, some subset of them will choose to get deeply in an open source related project. Given the range of established open source projects, the opportunity to do this today is much more extensive than it was seven years ago. In addition, most software companies – especially Internet-related ones – now have robust API’s and/or open source libraries that they actively encourage third parties to work with for free. The SaaS-based infrastructure that exists along with maturing source code repositories add to the fun. The ability to hack something interesting together based on an established company’s infrastructure is omnipresent and is one of the best ways to “apply for a job” at an interesting company.
We are thinking hard about how to do this correctly at a number of our new investments, including companies like Oblong, Gnip, and a new cloud-computing related startup we are funding in January. Of course, many of our older investments such as NewsGator and Rally Software already have extensive API libraries and actively encourage developers to work with them. And of course, there are gold standards of open source projects like my friends at WordPress and masters of the API like Twitter.
If you are a developer and want help engaging with any of these folks, or have ideas about how this could work better, feel free to drop me an email.