Gender in Software Development
Over the last year or so, I’ve read a multitude of articles and blog posts regarding the huge gender gap in Computer Science. A good number of males and females alike have said that due to social stigma, it’s harder to excite females about technology, as they see it as a “male” profession. I agree with their sentiment: I only had to enter my entry level programming course for the first time to see the blatant 50:1 ratio of men to women. That trend typically holds true everywhere with few exceptions [1].
I’m among the crowd of people that are unhappy with this massive discrepancy. I wish more women were enthused about my chosen profession and encourage anyone (male or female) choosing to expand their skill-set to include programming. However, I am against the grain when I say that the gender gap isn’t necessarily the fault of men.
I don’t have the source links on hand, but this is the gist of the main list of reasons I’ve heard that put men as the cause:
- Software development (and computers in general) is seen as either masculine/uncool
- The industry is already male dominated and extremely competitive due to the high levels of testosterone
- Male developers are sexist and provide a hostile work environment for females
I can only speak from my personal experience but I wanted to shed some light on one male developer’s perspective regarding those reasons in particular. I feel that they aren’t as black and white as the majority of people portray.
- Software development isn’t gender specific when it comes to third-party prejudice. The profession has historically been portrayed as uncool and provokes the imagery of thick rimmed glasses, pasty skin, and an absence of social skills. Although you could throw massive neckbeards in there as a masculine trait, anyone who spent their high school years exploring the intricacies of Linux aren’t usually encouraged by their peers to continue doing so (I wasn’t).
- This is a point I can get behind. Male’s tend to be more competitive than females and the industry is extremely male dominated. It makes sense that transitively the profession is competitive by extension. However, at this point in the game bringing this point up is like blaming the fire for the flame.
- I can only speak from personal experience but I have never witnessed outright sexism in the work place. I’ve worked with two female developers so far and both were amazing. They produced quality code and were well respected throughout the office. I’m sure that discrimination exists and I would wager it is a lot stronger with older developers. I’ve never noticed it as an issue in either academia or the workplace.
Having said all of that, perhaps I’ve been extremely lucky to only work with open minded people and don’t see the big picture. I’d be very interested to hear any further insight on the subject, specifically a female point of view.
[1] MIT is one of those exceptions and also one of the best institutions for Computer Science in the country.
Migrating to Emacs
I’ve recently become pretty disenchanted with TextMate and have decided to finally do what I’ve meant to do for a long while: Switch to emacs. I recently read a blog post about a blog post (making this a blog post about a blog post about a blog post?..) stating that the best way to learn vim was to ease in slowly instead of the way most diehards would have you go in (read: balls deep). I think this is a fairly intuitive method and in that state of mind I projected that advice onto emacs and installed Aquamacs.
Their website sports a pretty bold claim:
Get all the flexibility and variety of Emacs - and the comfort of the modern graphical user interface that you’re used to from other Mac applications.
It’s a tricky thing - finding the perfect power/complexity ratio that will decrease the learning curve enough to allow one to remain productive. Hopefully this software will do just that.
Hopefully, I get to retain the use of my mouse and get to treat it as much like a simple text editor as I want to. At the same time, I plan on picking up emacs exclusive commands and techniques as I go along and eventually switch to pure emacs. My productivity will inevitably drop for a while I make the switch, but I think it will only help it in the long run. I’ve seen emacs ninjas at work and I’d like to harness some of that kung-fu.
Things I Wish I Would’ve Known Four Years Ago
I’ve found that higher education barely prepares you for any sort of work in the real world. It’s an unfortunate set of circumstances - most of the professors at my University had little to no work experience. Our “Software Engineering” class was inappropriately named. A more aptly named course title would’ve been “C Pointers 2: The Reckoning.”
I’m not complaining about the education I’ve received as a whole. I find theory almost as interesting as practice and discovered that I love discrete mathematics. However, as a freshman I had little idea what sort of steps I could take to improve my marketability, hone my skills, or get a finger on pulse of the industry.
I’ve luckily been graced with an earnest interest in the field and see programming as more than a career. I read blogs, I’m attempting to write blogs, I spend a fair amount of time on the programming reddit, and I have a socially unhealthy thirst to improve my situation with the concerns above.
I’ve recently applied for an amazing sounding job in Chicago and the position called for me to send my github profile. I realized in shame that I didn’t even have an account, much less any of my code online. It was obviously a set-back in the scope of getting the position and I’m spending my weekend frantically trying find something of interest I can make and put online (potential employer: be impressed by my initiative!).
The recruiter also told me that a few other things would improve my chances of getting the job, so I’ll compile a list of things I’ve fallen short on. Partially to help any other aspiring developers that read this, but mostly to keep me in gear to do these things myself.
- Have an active github and contribute code. Any code.
- Have a blog. If nothing else but to reflect on your own career.
- Be active on twitter. Not “Eating a sandwich…” tweets, but at the least following your coding heroes. (This is one that I had down pat, I’m following Atwood and Jason Fried)
- Learn associated technologies to your favorite language/framework. I love Ruby on Rails and the particular position called for experience in Sproutcore. Sproutcore was something I had heard about but unfortunately never really used. I’m making it a point to learn it and Shoes even if the position falls through my fingers.
Hopefully this will help someone else and provide a good reference for myself, for the future.
Hello
In the interest of my new-found productivity in the realm of software development, I thought I’d throw my hat into the ring of amateur blogging. I’m coming into my own as a developer and I plan on sharing my experiences and creations to the world.