Dear Internet,

In the last six months of job hunting, I’ve begun paying closer attention to the fluidity of the requirements of positions. While my background is  pretty diverse, I wanted to start thinking more of becoming a specialist in a few areas rather than just being an overall jill of all trades.

(Yes, yes, I know I ranted about unicorn / blended / full stack librarians and how it is bunk (still is bunk) but girl needs to pay her bills and the profession doesn’t move that fast.)

Part of the problem in having a huge variety of interests is they’re closely related fields so there is a lot of crossover but this is slowly not becoming a problem as I start breaking out the pieces I was most interested in and fitting them into a puzzle I can better understood.

After going over my interests, it became pretty clear what I wanted to do, as much as I loathe to say these two words, is to become a full stack developer. I want to know the back end of the server but I also wanted to learn how to develop and optimize the front end too. I’ll be writing more about how I’m doing on these things the upcoming weeks as I continue to sort and shuffle to make it work for me.

(And how you can do most of this training for free.)

For today though I want to to give you an idea how to get started if all or some of things interest that interest me and might interest you. Fill out the comment box below if you have more suggestions.

Back End
I’ve done some back end server stuff a million and a half years ago but that stuff is getting beyond rust. I keep it on my resume as most places want to know you can understand and move along the command line, write a few scripts, typically things many of us can do in our sleep. I wanted to reboot my back end education and this is how I’m starting:

  • Step one: Buy a book on linux. Yes, yes, I know there are a trillion and a half websites that will teach you a-z of linux, but I am a tactile as well as a visual learner. I need a book next to me when I’m working so I can take notes and what not. If websites work for you, awesome. I will probably use them for troubleshooting and quick reference.
    • I recommend The Linux Command Line for a couple of reasons, even if you’re familiar with using the command line already. This is a thorough walkthrough from setting your terminal shell to writing scripts. Caveat: Do not buy a flavor specific book (Redhat, Ubuntu, etc). While 95% of the commends work on all flavors, that 5% will get you if you buy a Ubuntu book and you’re working on Redhat.
  • Step two: Download VirtualBox, a virtual machine software. Some like VMWare or, if you’re on a Mac, Parallels but I found both to be clumsy and / or resource intensive. Things may have changed in the last few years since I looked at them, but they left such a terrible scar on my soul I refuse to use them.
  • Step three: Download your flavor of linux. You’ll need to download the ISO separately from VirtualBox but you’ll install your flavor within VirtualBox. To clarify: VirtualBox doesn’t come with any OSes and you’ll need to get them separately. Which I suppose I could have just said outright.
    • Choices are: Ubuntu, CentOS, RedHat and a metric ton more. You’ll want to make sure you’re downloading the desktop version for your experimentation. Now that you have a virtual machine, you can download variety of flavors to see which one works for you.
    • What’s the difference between the flavors: Think of cars. Every car on the planet has similar set up: four wheels, an engine, doors, steering wheel. What makes them different is design, size, and features. That’s exactly the same thing for the differing flavors of linux.
  • Step Four (optional): If you need something beyond books or websites, look for online classes. Udemy has classes fairly cheap but I found their classes to be hit or miss. Linux.com has suggestions. If your library has a subscription, Lynda.com also has pretty intensive courses.

Front End
I use “front end” to refer to not only the coding but also the organization of information, how it works, and its accessibility. These are a lot of different whole positions in themselves but I’m curious as hell about all of them. There is a lot going on here but just so we’re clear most librarian positions do not expect you to have expert knowledge (they may say so but really, what they ask for and what they want are two different things) in any or all of these things. Most will refer to front end as strictly web development / coding. If you decide to work outside of library land, YMMV.

  • SEO Search Engine Optimization is easy to learn but with libraries difficult to implement. The basic idea behind SEO is to better improve your site’s rankings in search engines so you can be found, but with libraries it becomes moot as most people use “name of city library” in their search bar and the first hit is usually that city’s library website. What SEO can do for libraries is optimize their sites for accessibility, which is important. It’s also a good skill to have if you’re looking to consult or move out of library land. Some things to know:
    • There is currently no industry standard certification on SEO. If you find websites that claim to get you industry certified, it’s bullshit.
    • Be weary of sites that want you to download software, even free, as most of them are ad ridden, unneeded, and only for Windows. A lot of the tools, if not all of the tools, you’ll need are already available online.
    • SEO Beginners has a good list of sites to read if you’re interested in keeping up with the hows and why of how search engines work, the research, the techs, and new techniques. (Google’s algorithm changes enough that what works for SEO in one version won’t necessarily work in the current version.) I read moz.com and searchengineland.com on the regular to keep abreast of changes and news.
    • Books are hit or miss. Mainly miss and mostly bunk. As of July 2015, a lot of SEO books just cull information from the internet, slap it together as an eBook, and call it a day. Don’t be fooled by most of the books that have high rankings — you’ll notice a lot of them are not verified purchases (which if your book is only available on Amazon and in eBook form — how in the hell are these people giving A++ stars?). I do recommend Adam Clarke’s SEO 2016 eBook. While I originally gave it three stars, his amiable response and updates were significant enough to move that up to a 4.
    • You can take classes at Udemy and there are a ton of free ones. The ones by moz.com are going to be legit since they are the SEO experts but look for highly rated popular ones to step your toes in.
  • Social Media This is more of my expert area as I’ve been writing, using, and lecturing on social media for years. What I’m more interested in is not what is popular and what the youths use in so much as what social is (ir)relevant to libraries, how to manage and produce content, and getting started. My stance has been, and will be, not all social media is for all libraries. I’ve fallen off the wagon for this but bookmark the above page if you want to get updates on the regular, which I promise to do.
  • User Experience / User Interface / Information Architecture These are fields I’m really interested in and the ones I really need more instruction on. I have given introductory talks on very, incredibly, simple introductions to UX, but a lot of what I’ve gleaned over the years has been listening / learning from experts. Smashing is a very good resource. Listen to the LibUX podcast which is run by twitter friends Michael/Amanda for talks, resources, and more. The holy grails on UX/UI are The Design of Everyday Things and Don’t Make Me Think. Amazon has a wide variety of books on UX, UI, and IA. I have the first edition of Information Architecture (looks like I’ll have to update), which is also a holy grail. IA is typically tied in with UX/UI in a variety of fashions (mainly usability).
  • Coding I will freely admit I am eating crow on this topic. I postulated for years not every librarian needs to learn how to code to work in tech (and why I get my knickers in a knot when a lot of the librarian tech stuff is mostly coding), and while I still maintain this to be mostly true, I’ve conceded I need to learn how to code. Something. Right now I’m mainly interested in HTML, CSS, Javascript, and Ruby on Rails.
    • First, I’m going to sing the praises of teamtreehouse.com. My local library has a subscription to the service (and they also have a subscription to Lynda.com), so for me it’s free. Their classes are fantastic, well organized, in-depth, and some places (Like CodeLouisville) consider them to be a standard for learning. Plus the instructors are professionals in their field, not some Tom, Dick, and Harry who can put up a class on Udemy. Treehouse also has a large variety of coding  tracks (WordPress development, Ruby on Rails, etc) that are comprised of variety of classes within those tracks. Plan on spending between 25-40 hours per track. Don’t be an idiot like me and do 40 hours over 3.5 days for reasons. They are going to include tracks on soft end development like SEO and currently have a track on starting your own consulting firm and digital literacies. And if my library dumps Treehouse, I am going to cough up the $25/mo to get their service as I love them that much.
    • Second, in addition to Treehouse there services like Udemy, UdacityLynda.com, and others have loads of free (and cheap) classes to take on a particular language. Lots of languages (I’d hazard most if not all) have classes/tutorials set up already on their or related sites.
    • Third, if you’re going to code, hie thee over to cloud9, a cloud based development workspace. You get one work area for free in which you can run one whatever at a time. e.g. If you install and muck about WordPress, you won’t be able to install the environment for Python. You’ll have to scrap your WordPress workspace to do Python, but hey!, it’s free. (They also have paid tiers which allow you to upgrade to more workspaces and so on.)

Additional jazz

If you’re going to program/web dev/whatever, you’re going to want to find a local geek/nerd/hacker space. L-ville has CodeLouisville (where I’m going to be taking in-person classes on front end web dev starting in the spring) and as well as a few other hacker spaces. Almost every city I’ve been to has some kind of *space where you can muck about, learn new things, and find your peoples. If you search MeetUp, you should find specific groups, e.g. Louisville Linux, where you can meet people, learn something, participate events, and so on. Last but not least, find mailing lists of what you’re interested in to keep you fresh on what’s happening in that thing. Alternately, you can get updates from their websites via RSS or mailing lists as well.

tl;dr

I’ve covered a lot of ground today but this should give you a good idea of where to pick up training, information, and etc if you’re interested in any of my topics or you can use these techniques for your own interests.

As mentioned, I’ll be updating over the upcoming weeks on projects and things to keep me on track and so nosey people can follow along.

Au revoir!