Oh, you aren't the only awkward, curious newbie. ;-)

I would agree with the points made so far:
- If you don't need it for a specific project, job task, etc. getting a surface 
knowledge of a variety of things is probably going to be more useful than doing 
deep-dives into specific things.
- You will definitely learn more effectively if you have to apply what you 
learn to a specific project or task.
- Sites like Codeacademy can be good to get a basic grasp of simple syntax and 
functions. But they lack info on what is needed on your machine to build and 
deploy the code. 

Buddy Pennington
Head of Library Systems & Technology (Librarian III)
Miller Nichols Library
University of Missouri--Kansas City


-----Original Message-----
From: Code for Libraries <[email protected]> On Behalf Of Athina 
Livanos-Propst
Sent: Thursday, October 18, 2018 12:58 PM
To: [email protected]
Subject: Re: [CODE4LIB] Recommendations for the New Kid

Thank you all so much! This has been super helpful. 

I also find that solving real problems tends to be the best way, that's how 
I've learned most of the SQL that I know how to write. I'm lucky enough to have 
a really great dev team, so there's always a balance of "I'll figure this out" 
and things needing to just get done.

Happy to keep the advice flowing. I can't be the only awkward, curious newbie. 

-----Original Message-----
From: Code for Libraries [mailto:[email protected]] On Behalf Of Chris 
Mayo
Sent: Thursday, October 18, 2018 1:43 PM
To: [email protected]
Subject: Re: [CODE4LIB] Recommendations for the New Kid

My one complaint about codeacademy and other similar tutorial sites is that 
they can be problematic for the true beginner, in a way that folks with more 
knowledge and experience forget is a problem. At least when I was using it to 
learn Python in 2013-ish, codeacademy completely glossed over the fact that you 
were using an interpreter built into the web browser interface. So you could 
learn syntax and write things on their system that work in their system, but 
not gain any understanding about how to select an IDE to author your own 
scripts, or how to run them locally once you'd written them. I didn't *really* 
learn how to usefully use Python until I took an LIS course on it that covered 
those basics.

That being said - I don't know of anywhere on the web that does a good job of 
disseminating information like that, so I guess there needs to be a more 
general awareness that when you're looking for information about technology 
learning, you need to make sure you're also asking questions like, "what 
programs do I need to install to make working with this language easier"
and "if I'm not running the script from the program I wrote it in, what command 
line tools do I need to download to let me run a script written in this 
language". If anybody knows of good central resources for that, it would be a 
great thing to share.

Best,
Chris

On Thu, Oct 18, 2018 at 1:20 PM Eric Phetteplace <[email protected]> wrote:

> I taught myself JavaScript using Codecademy https://www.codecademy.com 
> during my first library job. I'm not sure if that's still a good site 
> for it but I found that having a series of exercises that build to 
> small projects was an easy, progressive way to build up skills and 
> maintain my fascination. Coursera and Khan Academy are two other sites 
> that come to mind, but there's no shortage of this sort of free online 
> tutorial site.
>
> I'll concur with the people saying that it's nice to have a project to 
> work on initially, though it's sometimes hard to know what's even 
> possible without a little bit of knowledge first. You might not think 
> of a web project without first seeing how HTML/CSS/JavaScript work in 
> action, or might not think of a cataloging project without see a 
> Python script manipulate some data.
>
> Best,
> Eric
>
>
> On Wed, Oct 17, 2018 at 11:30 AM Andrew L Hickner 
> <[email protected]>
> wrote:
>
> > 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.
> >
> > Good luck!
> >
> >
> >
> > Andy Hickner, MSI
> > Health Sciences Librarian
> > Seton Hall University | Interprofessional Health Sciences Campus 
> > [email protected] | 1-973-542-6973 http://library.shu.edu/ihs
> >
> > -----Original Message-----
> > From: Code for Libraries <[email protected]> On Behalf Of Kyle 
> > Banerjee
> > Sent: Wednesday, October 17, 2018 2:12 PM
> > To: [email protected]
> > Subject: Re: [CODE4LIB] Recommendations for the New Kid
> >
> > Hi Athina,
> >
> > 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.
> >
> > kyle
> >
> > On Wed, Oct 17, 2018 at 10:31 AM Athina Livanos-Propst < 
> > [email protected]> 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.
> > >
> >
>


--
Chris Mayo
Digital Production Librarian
Thomas P. O'Neill, Jr. Library
Boston College
[email protected]

Reply via email to