August 31

I Need Programming Skills

Generally speaking, when I hear someone declare that [librarians, lawyers, law students, library students, fill in the blank] need to become programmers, I make a face that kind of looks like this:

>:(

However, I’ve realized that I actually DO need to learn some programming skills (and brush up on the technical skills that I already have.)   I still don’t think that everyone needs to become a programmer, but the open law world in which I exist is small, requires a certain specialized knowledge on top of tech skills and is not profit driven.   Basically, if I don’t get the skills that will allow me to create tools, I don’t think I’ll be able to get someone to make it for me.

I have a couple of goals for my time here at Harvard.  The main one is to do “something useful.”  Nebulous phrase, I know.  Basically, I want to in some way add to the knowledge base or otherwise advance the cause of free and open law.  But a secondary goal of this year is self improvement.  I’m not going to end up with any more letters after my name, but I want to come out of this experience…improved.  New skills, new knowledge, new ideas of what to do…that sort of thing.  I’ve been out of school for ten years and am doing a hard reboot.

IT

Yeah, like that.

Besides, I can’t spend 8 hours a day doing data entry.  I just can’t, y’all.  And I do want to emphasize that I’m not just working on my tech skills.  I just signed up for an EdX course on The History of the Book in the 17th and 18th century.    Not to go into a huge digression, but books are technology and I think the future of technology (especially legal technology) can be found by knowing a bit about the history of publishing.  But that’s a blog post for another day.

So the million dollar question is…what languages should I learn? What skills should I have?   In library school (ten long years ago) I learned basic HTML, Unix and database design (using MS Access.)   I’ve picked up some CSS and PHP along the way, but by that I mean I can edit those if someone has already made it.  So basically I don’t feel like I know anything.   I’m going to start my way through Codeacademy’s website modules to get started but then…?  Ruby? Python?  PHP? JavaScript?    I definitely want to do their MySQL module, and then I have no idea.

Ideas, Gentle Reader?


Tags: , ,

Copyright 2015. CC-BY.

Posted August 31, 2015 by sarah in category "code", "plans", "skills enhancement

7 COMMENTS :

  1. By Carli Spina on

    This won’t necessarily, be helpful, but it really depends on what you want to do. In your case, that probably means what project you most want to contribute to as you start to learn to program. Boston, luckily, has in-person resources for many options. If you decide to go with Python, which I think is a versatile project with a lot of uses in libraries, you might want to check out the Boston branch of PyLadies. They host frequent events, including Beginner Project Afternoons that have a lot of beginners and some experts to answer questions as you work through whatever lessons you have chosen (they will try to help with any language, though, as the title suggests, generally specialize in Python). I’ve been to quite a few of these and they are great. If you decide you want to learn another language, there are lots of other programming meetups around Boston as well. Hope that is helpful. Let me know if you decide you would rather not go to in-person meetups and would prefer suggests for onlinen tutorials!

    Reply
  2. By Pablo on

    Hi Sarah,

    I was in a similar situation in 2013. I knew nothing about coding but wanted to prototype a specific idea.

    Having a specific idea really helped. Everything I did/learned was geared towards it (and only it). It also kept me motivated enough to keep at it even when I screwed up, which was about once every 20 seconds.

    Over 2-3 weeks, working evenings and often late nights, I had banged out enough PHP, Twitter Bootstrap and MySQL to create wellsettled.com. Later, someone told me that Python would make it much easier to harvest and format the data I wanted (boy howdy; I danced a jig when I found out that “re.M” lets you run a regex over multiple lines).

    My main point is that you may want to start by coming up with something you really want to create. Then dive in and don’t stop until it exists. That singular focus will drive what languages and techniques you learn. It will be a pain in the ass and the end product may well be embarrassingly crude. But the utility will be there, as will a basic understanding of coding that you can then develop.

    My lesser point is that Python, regular expressions, and Twitter bootstrap are awesome.

    Reply
  3. By Scott Matheson on

    I’d second python, as there are good marc tools available and others here do useful things quickly using it. In addition to something like Python or PHP (with which I’m still limping along), I have two ideas:
    1) acquire many ways to deal with chunks of data: Open Refine, regex, grep, XSLT, Tableau, Excel, MARCEdit command line tools, etc. (Here “deal with” is a phrase that means “beat into submission and arrange in the way you would like.”)

    2) for quick-and-dirty, think about using something like Automator on MacOS or a macro recorder on Windows.

    Also, I find that 80% of learning any language is understanding how it deals with arrays. Irritating, stupid, incredibly powerful and important arrays. I always run into this when connecting php up to some database or other (note that in my experience “connecting up to” postgres or mysql is trivial in most languages – doing anything with the array that comes back isn’t always).

    You might find phpMyAdmin a useful way to look at a SQL database. Or a tool like pgAdmin3 (for postgres) can make browsing the tables pretty easy and intuitive. I’ve recently learned that one can do an awful lot with plain old SQL, depending on the data and what you want back.

    Reply
  4. By David Whelan on

    I come from a similar need-some-skill-not-a-proper-developer place. I’ve dabbled with a couple languages, and JavaScript has been the most consistently useful. It has also meant I could noodle on python or php because some depth with one can crossover to others. It was also a good gateway to JSON and related tools.

    The other tool I use heavily with data is Excel. I’ve ended up learning more about that than SQL, although I can get basics done in MySQL. Dumping data from Excel to do things with it seems to be common, based on the communities/posts I’ve found when treading someone else’s path. Codecademy’s JavaScript module is excellent (both my teens took it and I use it as a refresher).

    Great way to start your fellowship!

    Reply
  5. By Scott Frey on

    I found basic JavaScript easy to learn and use. It’s a natural complement to basic HTML and CSS.

    My impression — not from experience, but from seeing how people-in-the-know describe it — is that Python is the proverbial Swiss army knife and not especially difficult to learn. (Don’t get me started on Java, which is going to take me a while to comprehend…)

    Reply
  6. By Ruth C Ware on

    As a current library student, I can offer that I attended my first Hackathon at AALL. Python was mentioned but as I understood the conversation in my group, SQL, Java and HTML remain the major players for government sites/documents. We spent a large part of the planning figuring out how to extract the information/data from the Government Sites.
    Our team won with PLAWT a website that organized the Popular Names Table by subject and date.

    Reply
  7. By Erik Beck on

    Object-oriented programming is the thing: PHP and/or Python. And yeah, rekindle that relationship with mysql.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *