Print

Print


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 <[log in to unmask]> On Behalf Of Athina Livanos-Propst
Sent: Thursday, October 18, 2018 12:58 PM
To: [log in to unmask]
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:[log in to unmask]] On Behalf Of Chris Mayo
Sent: Thursday, October 18, 2018 1:43 PM
To: [log in to unmask]
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 <[log in to unmask]> 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 
> <[log in to unmask]>
> 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 
> > [log in to unmask] | 1-973-542-6973 http://library.shu.edu/ihs
> >
> > -----Original Message-----
> > 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
> >
> > 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 < 
> > [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.
> > >
> >
>


--
Chris Mayo
Digital Production Librarian
Thomas P. O'Neill, Jr. Library
Boston College
[log in to unmask]