My learning stack: How to learn fast on the job
When you want to learn a new skill, do you think of looking up a course and hoping that it will teach you? Does 'learning on the job' sound like a cop-out to you, like companies just want to save cost?
Last week, I wrote a post about how my skill set became outdated in a year. Some of my friends have asked me how to learn something new while holding down a full-time job. This is something that I still struggle with to this day, but along the way I have learned some hard-won lessons, and I want to share them with you.
These are by no means universal rules that apply to every situation, but they are what I've discovered over the years as I picked up Excel, SQL and Tableau, and will continue to guide me as I learn Python, Presto and Hive/Pig for my job as a data analyst in LinkedIn.
Learning on the job, I've discovered, is very different from learning in an academic setting. And having been skilled at academic learning and taking exams, I struggled to adapt when I first started working. I used to request for company sponsorship of course fees, and resent the mantra about 'learning on the job', because I thought it is a cop-out by employers who did not want to invest the money to train their employees. Now I realised that it is much more nuanced than that, and that learning on the job can be very efficient and satisfying.
So how do you learn fast on the job?
1. Understand your own learning style - but adapt to your lifestyle too!
Every one of us have our own learning style, and what this means is that we don't learn the same way. What works best for someone may not work for you no matter how hard you try. My learning style is visual and read/write; this means that I like drawing out concepts and flow charts, and I love reading. The traditional academic model of lecture slides and reading lists work fantastically for me.
But now that I work as an analyst and I work with code, charts and emails the whole day, it is very hard to summon the will to do extra reading online or practice code in the evenings after work. Learning the same way I did in university was challenging and unsustainable, and so was practicing code in the evenings.
What works for me is to work around my lifestyle - I watch course videos in the evenings because the input is more auditory, and it was easier to stick to it because it doesn't tax the same muscles as my day job does. And if the coding language is not something I am using at work, I reserve the practice to a couple of hours on the weekend to space out the coding from work and learning.
Leverage the style you learn best in, but work around your lifestyle to make it sustainable.
2. Build your own learning 'stack' - yes, you need a stack
The 'tech stack' is a common jargon in the tech industry; it basically refers to the building blocks that one uses to build a product or provide a certain function. For example, a very popular stack for web development is the 'LAMP stack', which refers to Linux operating system, the Apache HTTP Server, the MySQL relational database management system (RDBMS), and the PHP programming language.
You need a 'stack' too when learning on the job. I used to look for the best (and free or cheap) course online and sign up, hoping to become proficient by completing the course. But simply completing courses and assignments without actual long-term application doesn't work very well. I took some courses in R, but because I didn't have many reasons to use it, it never really stuck.
What worked for me was a stack of resources that covers the foundational concepts, gives me the chance to practice, allows me to poke beyond the 'curriculum' and ask questions about how it affects my work downstream. For example, my current stack for learning Python includes:
- LinkedIn Learning courses on Python - for on-demand conceptual explanations, exploring other techniques without committing to a full course
- Datacamp - to practice code and get instant feedback on what is wrong
- A project or use-case at work that uses Python - a sufficiently complex project that lets me go beyond the basics
- Internal Python wikis and knowledge base - for practical tips like how to plug into the internal database, a list of use-cases in other areas, and more
- Colleagues who work with Python - a god-send who answer random questions and also stimulate new ideas
- Stackoverflow or just Google - for random questions when I get stuck
You see that only the first two items are what people typically think of when they think about learning new skills. They are necessary but not sufficient. If you want to learn fast, you need a stack to help you absorb, apply and push your limits.
3. Copy, prod and poke before you build
The value of reverse-engineering is underrated. Very often, courses will urge you to write your own code and build something. That is necessary and fun, but again, if you want to learn fast it is much easier to do so by getting your hands on a complex end-product and reverse-engineer it.
When I had to rebuild an internal Tableau dashboard, I learned a lot quickly by just poking under the hood of the existing dashboard and dragging things around to see what are affected. It gave me answers to questions I didn't know to ask. Likewise, when I first saw the full script that powers the LinkedIn Recruiter Index (LRI), I was blown away by what scalable code looks like. I learned more from reading through the LRI script than months of SQL practice.
Even if you don't have examples at work, you will surely find some online. Explore Github, Tableau public galleries, blogs, or just google for examples. Then poke under the hood.
4. Find a community of mentors and fellow learners
I mentioned 'colleagues' as part of my learning stack, and they are an essential component. Being able to talk to people who are experienced helps provide more than answers; the tangents and side-tracks in the conversations can give you new ideas and ways of thinking. I am lucky that I work with a bunch of very talented folks in LinkedIn, and I benefit by just hanging out with them.
Sometimes they are mentors, but often they are also fellow learners on the same journey. Having fellow learners help speed up learning too - when you try to explain things to each other, it forces you to crystallise your thinking and articulate them, and this makes the learning stick better.
If you don't have such a community at work, find one outside. It could be LinkedIn Groups, Meetups.com, or just the forums at the courses you sign up at. Sites like Stackoverflow has good communities too, though part of the benefit I derive from a community is the ideas from spontaneous interactions, and these are easier to cultivate on a face-to-face setting.
5. Expect to feel stupid, frustrated and uncomfortable
Most people emphasise the cool new things that you will learn because they want to encourage you. That is all well and good. However, if you start your journey expecting only to learn cool new things, then at some point you will crash, and you will crash hard.
Learning new things involve, by definition, doing things we have never done before. This can make us feel pretty stupid. When we were students this was easier to accept because people didn't expect us to know much. But once we become working adults, and particularly as we become more experienced and good at what we do, suddenly becoming a beginner again, suddenly feeling stupid, can be hard to swallow.
This often makes the learning journey an emotional roller coaster, like this:
You start with an eagerness to learn, and you feel great when you begin to master the basics (which are by definition easy). But when you move beyond the basics, inevitably you struggle to understand new material or to apply them. You will likely become frustrated and may feel uncomfortable or stupid, as if you are a failure for not getting it.
You need to manage your expectations and your emotions, or you may end up giving up. By expecting this up front, you can change your self-talk from, "This is too hard. I have no talent in this, I'm never getting it."
To something more sensible: "Oh, I feel stupid now because I don't know how to do this. But this means I am about to really learn something new. This is normal. I can do this."
I don't think people talk about this emotional journey enough, but it is crucial if you are learning something completely new. Manage your own expectations and take care of your emotions.
Learning on the job is different from learning in school
Most of us unconsciously associate learning new things with a classroom-like setting, and we think in terms of courses, assignments or getting certified. If you need certification for a promotion or job switch, then by all means yes, focus on learning strategies that help you ace a course and get you certified.
However, often you need to pick up something quickly to do your job better, and you need to do it while holding down a full-time job. What I shared above are what I learned from my struggles to adapt from a good student in school to a fast learner on the job:
- Know your learning style but adapt your plan to suit your lifestyle
- Build your own learning stack to help you absorb, apply and push boundaries fast
- Copy, prod & poke before you build via reverse-engineering
- Find your own community of mentors and fellow learners
- Manage your expectations - expect to feel stupid, frustrated and uncomfortable
What have you learned about learning on the job?
Strategic Partnerships and Employer Relations | Business Development | Account Based Marketing | Good Karma
7 年Daksha Ballal
亚洲策略采购经验 | 协商调谐 | 非间接材料&服务采购经理|
7 年Your insights to how to manage full time work and finding the time to learn as well as managing the roller coaster emotions really speak to what I was feeling!
Building apps, building companies, and constantly learning new skills.
7 年I love this article Evon! I find it much easier to motivate myself to study when I need the skills to do my job rather than purely academic. Studying with a project in mind helps to focus my learning.