When you’re in a field that has a never-ending amount of learning, it’s hard to feel like you’re making progress. You’re on a treadmill and there will never be a finish line. And that’s simultaneously exciting and exhausting. It’s hard to figure out if you’re making progress. How can you tell what progress even means? It means that you learn to ask the right questions. You learn when to ask for help. You learn your process to find the answers in the way that’s most effective for you. You do things that are out of your comfort zone.
When I was working on one of my first projects, I worked for over ten hours on one problem. I was determined to figure out the answer on my own. I was trying out new paths looking for answers, looking at things I’d never done before, spending my free time (non-work hours) working through theories on how to figure out this problem. But when Monday came around, I still didn’t have an answer. I knew I could keep going down this never-ending rabbit hole because there is so much information, but I knew it was getting unreasonable to not ask for help.
And then I realized that I should’ve asked for help a whole lot sooner. I can’t remember exactly what I was trying to do, but I remember that when I asked for help, I learned that I could use a css property to do what I needed to do. That was not ever one of the things on the list I was using to try to fix the problem. In fact, I didn’t even know you could do that with css.
Define Your Process
One of the ways you start to make progress and grow faster is by learning what questions to ask and when to ask those questions. I’ve heard people say things like, if you haven’t found it after twenty minutes, it’s time to ask. I think this depends on you and who you’re working with. For me, I don’t set a time limit. My goal is to grow and to learn and I do that by working through my process:
Go to the docs.
If there are docs and those docs are accessible, take the time to read through them. Sometimes it’s easier just to jump right into StackOverflow, so I have to remind myself that reading through the docs is going to get me further in the long run.
Usually the docs help me to better define the problem. Then I can ask better questions. That’s key. You grow by asking better questions. By finding clarity when things are cloudy. The clearer you can make the path, the closer you are to finding your solution. And then hopefully, your google and stackoverflow results will be narrowed down and helpful.
Find other projects that use the same things
Recently, I was redoing forms using Formik. I was really having a hard time getting things to work. But one thing that helped me was looking through projects on Github and codesandbox to see how others implemented Formik. Looking over a variety of non-contrived examples gave me a clearer picture of what I need to do, or how to use the code.
Ask a Question
Sometimes I just need to ask if I’m heading in the right direction. Other times I need someone to take a look at my code to see if I’m implementing things right. And other times, I really need to pair with someone so I can see and hear what I’m doing wrong or what I can be doing better. Sometimes I’m really close to getting it right, but I need to refactor it anyway. Other times I miss the mark. It happens, but you learn and grow from it.
Go out of your comfort zone
Last week I was really fortunate enough to be able to pair with Jamon Holmgren on an open source project. Now, this is something that’s wayyyyy out of my comfort zone. One-I’m very new to open source and Two-Pair programming with someone new on an issue I’m not familiar with makes me SUPER NERVOUS. Lucky for me, he was a really patient and great teacher, and I learned a ton from this experience, way more than I would have if I tried to tackle an issue myself. I learned about Test Driven Development, TypeScript, documentation, and getting started in open source. Honestly, my brain kinda hurt when I was done because I learned so much.
So as much as I hate going out of my comfort zone, I’m not going to learn unless I push myself. One of my goals as I spend time without work is to try to push myself by adding things to my personal projects that I’ve never done before. I’m working on a Gatsby site right now, and I’m hoping to get the Netlify CMS running so my friend can use it for his construction company. I’ve got some big goals for my postpartum wellness app to make it easier for people to contribute to it as an open source project. And hopefully I’ll be able to do some more pair programming in the future.
The more you grow the more comfortable you’ll become with being uncomfortable. You start to become okay with not knowing. You define your process, but you’re ok with adapting it, with working with new people, with trying new things. Sure, you’ll get frustrated. I think that happens to everyone at all levels. You’ll make what seem like silly mistakes–a couple of weeks ago, I couldn’t figure out why the text wasn’t rendering on the screen. Turns out, black text on a black background will do that. But you’ll learn and you’ll grow and remember next time to override the font color.