I agree with both Kyle's and Mark's advice. I've always learned best by tackling projects that provided learning opportunities in the service of an organizational goal.
One skill that comes in handy in a range of different roles/contexts is version control (eg Git). If you're doing any kind of iterative development over time, particularly with a team, some basic version control skills will come in handy. You might see if you can find a project team within your organization that's using it and volunteer, if only to start getting your feet wet in the basic concepts.
It can also be beneficial to identify a potential mentor in your organization to start coaching you. At Yale University Libraries I had a colleague who was able to arrange for an informal internship with another unit so he could work on a project with supervision from an experienced systems librarian and pick up some new skills along the way. That's another strategy that can both benefit the organization AND help you up-skill.
Andy Hickner, MSI
Health Sciences Librarian
Seton Hall University | Interprofessional Health Sciences Campus
[log in to unmask] | 1-973-542-6973
From: Code for Libraries <[log in to unmask]> On Behalf Of Kyle Banerjee
Sent: Wednesday, October 17, 2018 2:12 PM
To: [log in to unmask]
Subject: Re: [CODE4LIB] Recommendations for the New Kid
As far as building your knowledge base goes, I've personally found it most useful to learn things as you need them because only those things that you actively use will stick. Then look for commonalities with other things you need and build on that.
I don't recommend learning any particular language or method before you need it. No program (or computer for that matter) has ever done anything other than take some input, change it in some way, and output it. Whatever helps you is important, everything else is unimportant.
You find SQL useful, so continue to build on that. As you encounter situations that doesn't seem helpful for, you can pick up other skills.
Keep an eye out for generic capabilities that you need such slicing and dicing metadata, talking with machines, etc.
Also try to develop a sense for what different approaches offer because that will help you identify which paths are likely to be easiest.
For example, SQL is a declarative language -- i.e. you describe what should appear at the end rather than a procedure to follow (like you would in perl, ruby, python, or php) to get that result. XSLT is another example of a declarative language.
The reason I'm bringing up this specific example is that it's very awkward/difficult to use a declarative language to do things that are best suited for a procedural language and vice versa. When you have a hammer in your hand, things tend to look like nails. You don't want to pound in screws, so keep an eye out for situations where you need another generic capability.
I'm glad you reached out -- I'm aware of a number of people in your same boat who feel intimidated by the prospect of putting themselves out there..
No one is born knowing this stuff, so no need to suffer if you don't have to.
On Wed, Oct 17, 2018 at 10:31 AM Athina Livanos-Propst < [log in to unmask]> wrote:
> I'm new to the list serv and am trying to build up my knowledge base
> for learning more coding skills that I can apply to my library and my
> work. I'd love to hear your best recommendations for teaching myself
> new tech skills, where to learn said skills, and which skill sets you've found most useful.
> For reference, I have a cataloging background and am just dipping my
> toes into the wacky world of SQL queries, and I'm kinda loving it and
> want to play more.