The social construction of programming languages

Incompatible

A friend active in making and hack-a-thons recently brought an article from the online journal Model View Culture to my attention.

Titled C is Manly, Python is for “n00bs”: How False Stereotypes Turn Into Technical “Truths”, the article examines the socio-cultural biases attached to various programming languages. For example, older developers may be looked down upon for knowing languages that were popular twenty years ago; alternately, due to the well-documented gender discrimination affecting the computer coding field, other languages become associated with “less manly” forms of programming–such as front-end development rather than server-side scripting.

The authors make an excellent case for going beyond such ageist or sexist biases, pointing out that–given the facility with which skilled programmers can learn new languages–the level of project experience one has on one’s resume is a much better indication of skill level than knowing this-or-that-language. Additionally, the authors discuss how disciplinary differences affect choice of programming language. In such cases, biases against a language serve as a proxy for biases against the particular discipline that has adopted it, giving an appearance of objectivity to an ultimately ideological us-versus-them mentality and serving to separate various social groups.

Given the library’s service orientation, I found this article provides a cautionary tale against the possible use of technical knowledge in support of an ultimately false conception of power. Especially at Temple, where we value the diversity of our student population, and in the library, where we serve constituents from a number of different disciplines, using knowledge of a particular language or tech paradigm to form in-groups and out-groups is unhelpful and contrary to our professional mission.

Growing Pains and Roadblocks in the Sandbox

One thing we Rascals knew at the outset was that we needed a place to play.  Information sharing is great, but we all know from experience that, for work of this nature, the learning is in the doing.  While Treehouse.com gave us prepackaged exercises we could follow, that didn’t challenge us to retain, adapt, and apply what we were learning beyond the moment the tutorial ended.

Sand Toys

In a learning environment, space to play is essential.  We wanted to identify a low stakes project that would allow us to build, test, and rework all the front-end development tools and strategies we were learning about.  The end product would simply serve as a portfolio that we could share.  However, as public services librarians, we were operating outside of our formal organizational roles.  As a grass-roots group working on self-development, with perhaps a blessing but not a mandate from the administrative hierarchy, we had little access to the sanctioned resources.  Without access to a library-run development server or sandbox, we would have to find another way.

We worked our way through growing pains and sidestepped many roadblocks; an idea was too large-scale, an idea crossed over too much into the responsibilities of another area in the organization, the experimental nature of our aims (education and staff development) meant our needs had far lower priority than projects already in line for production.  So on.  So we reset our direction.  For the time being, our sandbox will be our free Mexican server access and our astro sites, and the back-end access we still have to systems like Libguides will be where we’ll tackle small “fixes” that can improve user experience.

Reflecting on a summer of jumping hurdles calls to mind a quote (attributed to various folks over time, but Grace Hopper might be most fitting to cite here):   it is easier to ask forgiveness than get permission.

Rascals in the Treehouse

photo of a treehouse
Cool treehouse, courtesy of flickr user @emdot.

Based on a recommendation from Rascal Jackie, we decided to try out Treehouse as our code-learning platform of choice. Treehouse is just one of many tools (see also: lynda.com, Codecademy, Code School, etc.) that provide coding instruction and practice, but there are a few unique features that really piqued our interest. Here are some of the things that we like about it:

  1. Curated tracks. While lynda.com tutorials are very well-designed, the courses tend to focus on one piece of software really in depth. While it can be helpful to learn ALL the ins and outs of a program, we wanted to learn a skillset that we could apply to creating a complex final project, like a website. Treehouse has several different Tracks (we embarked on Web Design, Front End Web Development, and PHP Development) that are comprised of curated sets of Treehouse courses.
  2. Project-based instruction. Many of the Treehouse courses walk you through a project step-by-step, allowing you to pick up new skills while applying them to a real-life product. For instance, the How to Make a Website course moves quickly through HTML and CSS basics, while teaching you to build a mobile-first, responsive website. Later, as you move forward in your Track, you can take on “deep dives,” which cover HTML, CSS, and other aspects of website creation in detail. Treehouse also provides online workspaces, so you can work on your projects in your browser while watching tutorials.
  3. Gamification. Treehouse logs your progress and lets you test your knowledge through quizzes and code challenges. As you progress through Treehouse tutorials, you can unlock achievements and earn badges. You can also view group stats and see what the other Rascals in your group are up to.
  4. Price tag. Thanks to the Free Library of Philadelphia, Treehouse is free to us!

The Rascals plan to keep up with our Treehouse tutorials throughout the year. We use our weekly meeting time to check in about progress, and keep each other on track. Stay tuned for more reviews and reflections!

Code Rascals

In April 2014, Jenifer Baldwin, Brian Boling, John Pyle, Caitlin Shanley, and Jackie Sipes formed a small work group with the aim of providing mutual support and encouragement in the development of code skills.  Spurred by calls for liaison librarians to “up-skill” in new areas, but honoring the practical reality of heavy workloads in our current areas of expertise and responsibility, the aim of the group was, initially, to keep each other motivated while completing a series of online tutorials over the course of the summer.

image from Our Gang:  "Robot Wrecks"
Our Gang: “Robot Wrecks”

Since our choice of online-learning platform was Treehouse.com, we took inspiration from TV’s Little Rascals, who often met in their own treehouse, and named ourselves Code Rascals.  We committed to set aside a single hour each week on our calendars, to meet whenever possible, or otherwise use the hour for work time.  We proceeded in a spirit of friendly experimentation, information sharing, and non-judgmental collaborative learning.  We launched ourselves with no specific charge, agenda, or deadline, trusting instead that our goals, direction, and priorities would emerge and evolve with time.

Here on this blog you will see brief updates from our evolution as individuals and a group.  To start out these posts are pre-dated, reflecting our meeting notes from the last six months.  Going forward you’ll see more about the interesting things we learn and even challenges we encounter.  Cool stuff, reflections on our experience, and news of what’s to come.