We actively use our 5 principles in all that we do. We use them in our software development work, interacting and working with teammates, clients, and our communities. Our principles are not vacuous mission statements but actual tools we use to simplify our decision making and bring focus to what’s important.
Our first principle is Always Learn and Grow. Continuous learning is essential in so many industries today, especially software development. As humans, our desire to grow is also pretty inherent. We naturally want to learn and grow.
Continuous learning is also core to our overall mission to bridge the gap for folks working to advance in their career as software developers. We are always learning which helps us empathize with people who are dedicated to that advancement process.
It’s well known that people have different ways they prefer to learn, ways they’ve identified are more effective for them. During a ZEAL retrospective this week, I asked our team to share the ways that they like to learn. The result is a fantastic list of approaches that you might identify with, and maybe a few that you might want to try in your learning journey.
- Don't dismiss the things that aren't important to you right now
Sometimes you come across something interesting, maybe something you’ve always wanted to understand better, but it's not in your main area of focus right now. Spend some time diving in! If you’re feeling naturally compelled to learn more, you be more likely to absorb the information. You can probably remember times when you were learning something you wanted to learn, and when you were being forced to learn a thing. Which one did you learn better? A little distraction from that thing you're really working hard on might give your brain a little break, and time for your main focus to sink in.
- Consume direct and related information around the topic of interest
There’s the thing you’re really trying to learn, and then there are those rabbit holes that you come across in the process. Go down the rabbit hole for a bit. Sometimes that content will have a useful bit that moves you forward on your main focus. You might also find something so interesting down there that you’re even more inspired to reach a level of mastery so you can try it.
- Learn by having a thing you want to create - have an outcome in mind before you start
I think a lot of software developers can relate to this approach. I’ve talked to a lot of people who learned a language or framework because they had a project they wanted to build with it. Having an outcome in mind helps a lot because you already have a good idea of what you need to learn how to do. This might be a little more efficient than reading a book cover-to-cover, especially if there are sections you really don’t need right now. On the other hand, you might miss some really useful bits if you only focus on what you need. If mastery is important, you might still want to go over that book or other content, to make sure you didn’t miss something really helpful.
- Obsession - consume all the things about the thing: read, videos, audiobooks
Just dive in. Find lots of variety of material. Try lots of experiments (this applies to lots of areas, not just software development). Find communities to plug in to and hang around with folks doing the thing (virtually or in person). If it’s just a curiosity, give it a timebox, hit it hard, and scratch it off your list.
- Use N.E.T time to consume new things. Make notes directly following the N.E.T time, and find a way to share it
N.E.T. time – No Extra Time – is a term coined by Tony Robbins to refer to time spent commuting, running errands, exercising or cleaning the house. We all have these slivers of time to listen to podcasts, audio books, tune into live broadcasts, and watch videos. Take a few notes when you can, and if appropriate, find a way to share what you learned to lock it in.
- Active time: In the moment learning
This is probably what most people would consider the traditional approach. You enroll in a course, either live or pre-recorded, in-person or online, and you just work through it in the order declared by the course creator. To get the most out of it, do the things you’re learning about. The course may include some lab time where you attempt to use your new skills. Even if it does, don’t do the bare minimum. Take the samples and expand on them. Ask yourself, “What would happen if I changed this ingredient?” I always learn more by making small changes and observing the effect. If the course doesn’t include work for you to try, make some. You’ll get so much more out of it.
- Prepare to teach a topic
Teaching a thing requires a deeper, more comprehensive, learning. When you prepare to teach, you’ll look at the content differently. You’ll find tension or confusion around a certain topic and you’ll be compelled to understand better because you’ll want to be able to answer questions your audience might ask. You’ll strive for a higher level of understanding than you might if you were learning to accomplish a task.
- Learn a little, and then try it
Learning materials will introduce you to the topic. If you learn enough to get started, and then review the material while trying to do the thing, it can sink in more. Once you start doing the task, you’ll have new context that will often help you make more sense of the information you started with.
- Consume reference manuals
Some people will find a thorough review of their learning material to be the best approach for them. For some learning, this might be the only option. Today we have so many ways to experience our world but there are still going to be limitations to what you can do with the information you learn. I read a lot of reference-style books when I was younger. But then again, the internet didn’t exist. What choice did I have?! Reference manuals have a great deal of value in your learning process. Don’t ignore them.
- Jump in and make a mess, then figure out the rest
I really relate to this one. I think a lot of software developers do, as well. Incidentally, it’s also how I learned to cook. There are a lot of places where this can apply. Just get started. Most of the time you have little to lose. Most experiments aren’t going to cost life or limb (and if they are, maybe reconsider). Some folks don’t really like to get started if they don’t know exactly what they need, how they’ll do it, so on and so forth. There’s value in getting your ducks in a row. If that’s your tendency, give yourself a timebox to try something where you allow yourself to be less prepared. If you can come up with a small task, and allow yourself the opportunity to make a mess, you’ll bring insight to your learning. Your preparations will become even more valuable, and you’ll probably end up being ready sooner than you might have without the experiment.
- Have a set study/practice time schedule
For a lot of people, consistency is key. This is especially useful when you don’t have a lot of time to spare. Setting aside a certain amount of time on a regular schedule guarantees that you’ll be putting in some of the work and reaping some of the reward. There’s nothing saying you can’t add more time, as you find it available. Having a set schedule makes great use of whatever time you have and lets you feel like you’re making progress. The repetition will also help things stick. When I spend a day or two learning something and then don’t look at it again for a month, I’ll often have forgotten a lot of what I learned before.
- Have a coach
This is a great approach! The hardest thing about learning something new is that you don’t know what you don’t know! A coach has been there before. They’ll be able to tell you what to watch out for, and what to really focus on. A coach will also be able to keep you motivated and remind you of why you’re doing what you’re doing. They might also have a network of people just like you that you can work with and talk to. A really good coach, who can be honest with you, will be able to talk hard truths with you and let you know when you’re letting yourself down. This can be critical when you’re pushing through a really challenging part of your growth. Look for a coach that cares.
- Volunteer as a mentor
This is similar to preparing to teach a thing, but it adds another component. Mentoring is often 1-on-1. Mentoring is also a form of service. The feeling you get when you know you’re helping someone level-up is different than when you’re presenting to a class or group. There’s a different level of caring and connection when mentoring. It’s a little more casual which means you can be a little more open about what you don’t know and you can learn together. Things have often sunk in for me more when I’ve been trying to answer a mentee’s question about a topic.
I hope some of these resonate with you. If you’ve been thinking about learning something new, try one of the approaches from this list and let me know how it goes.
If you have some other approaches that I didn’t list, I’d love to hear about them.