Doing something about discouraging data

I blogged earlier about some discouraging data on the involvement of women in professional CS. I also bemoaned the eye roll-inducing culture of computer geeks that I encountered at university. And I wondered (offline) about how and why the tiny minority of women programmers was holding up.

A few months later,  I’m thinking very seriously about joining their ranks.

What got me thinking this way?

Meeting, learning from, and learning with a ton of cool female developers, courtesy of Girl Develop It Boulder. Through GDI workshops I’ve re-discovering the fact that I love creating things with code. I love it so much that I can get lost in it for hours without noticing the time.

Don’t get me wrong; working in communications has been fun and challenging in its own ways. I’m deeply grateful to have picked up a lot of experience in project planning and people management. But I’ve been feeling for months that it’s high time to put those very deliberately earn “soft” skills to use on more complex technical and social challenges with a dedicated team. I’ve spent my entire career at academic/nonprofit/government institutions with old-fashioned management – it’s time to leap into the modern business world and find a place that adequately exploits my combination of technical savvy and immersion in people, culture and connection.

Fortunately, living in the heart of the Boulder tech community, I don’t have to leap too far (at least not in a geographic sense).

At this point, I’ve taken classes in HTML5/CSS3, Javascript, Git, Python and UNIX  server management, and I’m about to start a comprehensive bootcamp in web development. I’ll use what I learn to rebuild and streamlined this site. This WordPress theme has served me well for a long time, but it is time to move on and up!

Discouraging data: women in CS and IT

In making my mark in the realm of data and information visualization, it will probably do me good to become a better and more knowledgeable coder. I am now looking into pursuing a little more CS education, and am excited about diving into edX MOOCs in computer science (remember when edX was OCW?).

I’ve never shied away from things technical. I enjoy every opportunity I get to learn new software and programming languages, and nothing sucks me into an-all absorbing work cave as effectively as a new Javascript, HTML or CSS coding challenge. I’m even considering diving much deeper into CS than just the basics. After all, the entry level pay for a computer scientist or software engineer is at least 1/3 higher than the entry level pay for people in my current line of work.

However, these data give me pause:

Looking at the BLS numbers, it is interesting that these professions attract more women (as a percentage) than software engineers (20.2%):

  • Bailiffs, correctional officers, jailers (26.9%)
  • Chief executives (25.0%)
  • Database administrators (35.3%)
  • Biological scientists (45.1%)
  • Chemists and materials scientists (30.0%)
  • Technical writers (50.4%)

Even the professions that are said to have a glass ceiling (such as CEO) have more women in them than software development. Based on the number of science positions listed in the BLS data with substantial numbers of women in them, it is clear that the myth that women are afraid of math or science is just plain wrong (even if less than 1% of mathematicians are women). And given the bizarre outlier of DBAs at 35.3%, and technical writers at 50.4%, we can see that women certainly do not dislike computing fields in general.

IT gender gap: Where are the female programmers? by Justin James

Now I remember why I wasn’t attracted to CS at university. I would try to strike up conversations with computer geeks, and then get shut out of the weirdly intense technobabble tournament that every computer geek conversation eventually turned into. My work is now and was then a huge part of my life; but I learned very early that the people I surround myself with are at least as important as the work that I do. At the time, a choice of major seemed like a choice to surround myself with people like the people in that major for the better part of my adult life.

I can’t be the only woman who looked at the majority culture of computer programmers and thought, is this it?


Adding a custom image node to a WordPress RSS feed

I’ve been working with a web development firm to update the homepage of my employer’s website. One of the features of the updated homepage is a nicely styled newsfeed that pulls in both news content and the latest posts from our externally hosted WordPress blog. The developers asked me to add a custom node to the RSS feed of the WordPress blog (which I manage) with the featured image URL in it so they could embed that image in a news feed on the homepage. In other words, they wanted me to tweak the RSS feed so it included this bit of markup in each item:

<image>featured_image_url</image>

After trying about a dozen plugins off the shelf and poring over many hanging support threads that never resolved the issue, I realized that there isn’t an up-to-date WordPress plugin out there to do this. After consulting the WordPress codex Function Reference and hacking two plugins that get sort of close (SB RSS Feed Plus and Featured Image in RSS), I figured it out. Here I share with you the successful results.

UPDATE: Sage Lichtenwalner has suggested two much better ways to accomplish the same results. The fastest and easiest one is to go to the third link in his comment and copy and paste the image node example code straight into your functions.php file (in your child theme folder, of course).

1. Define a new function that outputs the URL of the post’s featured image.

One way to do this is to append just the function code below (everything from the word “function” to ) to the end of your theme’s functions.php file (which is editable from the theme editor in the WordPress dashboard). A beter way to do this, if you’re using a child theme, is to define the function in a new functions.php file in your child theme main folder. WordPress will append it to the functions defined in the parent theme and in the core of WordPress. Here’s what my functions.php file in my child folder looks like:

< ?php
/**
*Outputs the featured image URL for use in RSS2 feed
*
*/
    function feed_getFeaturedImage() {
        global $post; if( function_exists ('has_post_thumbnail') && has_post_thumbnail($post->ID)) {
            $thumbnail_id = get_post_thumbnail_id( $post->ID );
            $thumbnail_url = wp_get_attachment_url($thumbnail_id);
        }
        return ($thumbnail_url);
}

2. Edit your WordPress RSS template (/wp-includes/feed_rss2.php) to include the new node and call the new function you’ve created.

In my case I’m simply going to the paste the following code in feed_rss2.php wherever I want the new node to appear:

<image><?php echo feed_getFeaturedImage(); ?></image>

As it stands, this solution requires the user to customize code (the RSS template) that may get overwritten every time WordPress updates. I would like to figure out a way to do this via plugin or without editing anything but child theme elements. But for now, this does the job.

I don’t know much about PHP, other than that it doesn’t appear to be all that different from the other programming languages I’ve learned. I’m also not a WordPress guru. So I leave it to the WordPress and PHP experts out there to amend my solution with more best practices.