Adventures in Software

Ada Lovelace Day: Looking back, looking forward

Today, October 7, is Ada Lovelace Day. Ada Lovelace is credited with being the first computer programmer. Her work in 1842 describing Charles Babbage’s analytical engine was not code in the same way that we see it today, but her insight was amazing.

During World War II, the ENIAC served as the first digital computer and was programmed by a group of 6 women at the University of Pennsylvania, replacing some 80 women who had been hand-calculating ballistics trajectories via some complex differential equations. Their programming task was quite complex, without the benefit of programming manuals, computer languages, or Google.

Many other women have excelled in software since then. So why has this become a man’s game? When I graduated with a degree in Computer Science in 1986, 36% of degrees in CS were earned by women. The 2009-2010 Taulbee survey showed 13.4% women, an increase over the previous 2 years, but still surprisingly low.

As a women in Computer Science, I’m often asked why there is little interest in Computer Science for women. I have no idea. I enjoy the profession I have chosen, and so I have no insight into why other women have assessed things differently. So, instead of guessing, I’ll use Ada Lovelace Day to say what I love about the software industry.

Customers — I love learning about what other people do for a living. Writing software to solve someone else’s problem gives me insight into what they do for a living and this keeps things interesting

New languages — New computer languages (like Scala) take on an increasing amount of the boilerplate work. This helps me to focus on solving the customers’ problems elegantly rather than spending a lot of time doing stuff I’ve done a million times before.

Other programmers — the software community is one of the most generous communities I know. Some developers like to talk about what they do and like to share that knowledge with others at conferences and user group meetings. Some developers like to donate their time to building projects for charities at events such as the Ann Arbor Give Camp. Other developers like to build software that others can collaborate on and learn from, as well as use in the form of Open Source.

Conferences — the software community seems to have the best conferences. Conferences are often low cost (like CodeMash and Strange Loop) and offer great training on applicable technologies. We hold them in fun places like in ski areas and indoor water parks and cruise ships. Socializing while learning is the geek form of networking, and we do it well.

Flexibility. We can work anywhere, and often do. With a cell phone and a laptop with an internet connection, it’s easy to set up an office.

Low capital expense, The cost of starting a business is low and this leads to innovation, particularly by young people.

Fast-paced. The industry has moved significantly in the 25 years since I started working as a professional software developer. Continual learning keeps my interest.

Ubiquitous. Software is a large part of all of our lives. I’m thrilled to play a part in that.

I have an 8 year old daughter. I don’t know what profession she will choose. I just hope she’s as happy with her choice as I continue to be.