On the job, how many days do you get to learn a new library?

On the job, how many days do you get to learn a new library?


Redux Thunk recently took me a couple days (maybe 5-8 hours) to wrap my head around. Once I have a working example I learn somewhat linearly, but before that on a library of decent size or complexity I need to spend a good chunk of time immersing in reading and low level testing.

At most jobs do you have this sort of time or do they expect you to pick things up at a fair pace?


Well it depends. Email devs get weird. At my last job we move platforms to one that require JavaScript. They expected the devs to learn javascript in less than week (it didn’t happen).

Some jobs will expect you to pick up their stuff fairly quickly. I picked up AmpScript in a week but I already knew JavaScript so I could wrap my head around it. At this place I’m at now dev will come to a halt if the new guy doesn’t pick up fast when I leave in a week.

If you have a company with a large dev team there are usually steps in place for learning new methods, libraies etc as the company adopts them which happens over several months. But if you have a company with a small team, or a one dev situation, new tech is either complete ignored, or dumped in your lap on fire and needing to be prod ready that day.


The companies I’ve worked for haven’t ever given a set amount of time to go learn something. We make estimates of how long a task should take, and if it involves learning something new then you account for that in your estimation.


Ditto :+1: In the companies I’ve worked for, you’re expected to know the basics well (eg logic, algorithms, datastructures, internet protocols), but learning a particular library, tool, or language takes time, and managers understand that. I’ve never been told “you’ve got to learn this tool by X date”. As Ariel says, you just estimate how long a task will take, and include any learning in with the estimate. In software, things hardly ever go according to plan, even for seasoned developers, and as a newer developer, you’re not going to get looked down upon for not meeting an estimate (unless you’re not applying yourself fully).


One thing I’d add is that there are a lot of cases where you’ll use a technology without really “learning” it all the way. Developers constantly have to deal with technologies they’re not expert at and it’s more an issue of figuring out what you need for the task at hand. Sometimes the task can’t be done unless you really understand the technology well and you might get stuck for a while, but you just have to communicate that to the project leader and let them decide if they want you to spend the time on it. Other times you’ll work with a new technology over many small tasks until eventually you know it well.