This is the second half of this series. If you haven't read Part 1: Interpersonally, I highly recommend doing so before reading this!
Powerlifting may not be your thing, but you can always find ways to take what you've learned from your hobbies and apply them to your work as a developer. These are just some of the things powerlifting has taught me that helped me become a better developer.
Without getting too deep, powerlifting is a competitive sport comprised of the squat, the bench press, and the deadlift. On competition day, your goal is to lift as much weight as possible across those three movements. I started powerlifting to give me a non-body-image-focused goal to work towards in the gym. Two years later, I'm still loving every second of it and have learned that it has helped my career as a front-end developer as well.
It taught me to take practice seriously.
Before I got into powerlifting, I would go into the gym and do whatever I felt like doing. If I was having a bad day, my training showed it. Even early in my powerlifting career, I would get into the gym and let my mood affect how well I lifted and how many lifting cues I decided to follow that day. I learned that no matter what, it's essential to practice performing each rep the right way.
When learning a new JavaScript framework, I would watch videos and read blog posts, but never practice anything. When I did practice, I'd leave it half-finished thinking I understood it enough. Coding is a skill. As with any skill, you have to practice to get better at it. Finish the practice assignments in online courses. Think of hobby projects to keep those skills sharp once you've completed a tutorial.
It taught me to set goals.
I set goals for weights I would like to hit in the squat, bench, and deadlift. These goals give me the drive it takes to get into the gym on the days I need to train. If I'm not practicing, I can't work towards my goal. If I don't have a goal, what am I working towards?
When it came to development, I never had a goal in mind for learning new things. I just thought I needed to know them to stay abreast of the current JavaScript frameworks with no real application in mind to use these new skills.
Now, when I start learning a new front-end technology, it's because I have a practical use case in mind. For example, I'm currently learning Angular to build out a new application at work and to update an existing system from AngularJS to Angular. I've also got plans to continue learning Gatsby and React for use on my personal website and learning React Native for a powerlifting app that I have in mind.
It taught me to be patient and rest.
Strength gains don't happen overnight, and neither does learning a new language, framework, or development practice. You can't expect to train every day and have no consequences. The older I get, the more apparent this becomes. You need to let your body rest. Overfatiguing your muscles short term does nothing to help you gain strength in the long run.
You can't learn everything in one day. You can watch an entire course on React Native in one day and practice along, but how much of that information will you actually retain?
Along the same lines, it's hard to crank away at a problem for hours on end without getting frustrated and missing minor issues. I highly recommend taking breaks while coding. Leaving your computer for 30 minutes and going for a walk could save you hours of banging your head against the desk wondering why your code isn't compiling.
π£ What do you do to keep your skills sharp? What tips do you have for learning new things?
Top comments (4)
I'm a powerlifter and programmer too, and I love your posts! I couldn't agree more with all of your points. I also want to add that it's helped teach me resilience and persistence - both of which come in handy when programming. With powerlifting, the goal is to push your limits and in that process you will sometimes hit your limits and fail a lift. You could just give up at that point, tell yourself you'll never lift X weight and take up yoga or something. OR you can keep working at it, keep practicing and refining your techniques until one day you finally nail it. In programming you are constantly learning new things and pushing your mental limits. Eventually you'll work on something that you just don't understand, pick up a framework that just doesn't make sense to you or create a production bug you didn't see coming - but if you take your failures in stride, learn from them and keep working at it, you will eventually achieve your goals ππͺ
Well said! And it's awesome to meet another female powerlifting developer! πͺ
REST REST REST! It's so important to spend time NOT starting at a screen! Brains and bodies need time to get back to equilibrium before being pushed to their limits again. I practice meditation, read (physical) books, and take long walks with my dog as ways of finding rest.
Great post!
Preach! π Thanks, Michael!