How I'm Improving My Dev Skills

Learning a skill on your own is hard

Rico

Rico Hancock

February 4th, 2024 7:50 AM

One of my goals this year is to level up to a Senior Developer role. I don't consider myself a Junior Developer (and neither does my boss), but I think there are things that I lack that don't truly make me a Senior level developer yet. There are some weaknesses I still need to work out.

If you don't know what weaknesses you have, I encourage you to do some reflecting. If you're having trouble figuring out your weaknesses, ask someone who will be honest with you what your weaknesses are. Once you know what you need to work on, you can start working on it.

One of my weaknesses is that I struggle to explain technical things that I understand in my head to others. I've been attacking this weakness for about a year now, but I got really serious about it when I saw the following post from @Frontend Masters:

The part that stuck out to me the most was when Will said:

"A 'Senior Engineer' is somebody who can take any given feature, and not only just figure it our for themselves, but enable the rest of their team to figure it out because they have 'Technical Communication', the ability to explain what their code is doing to somebody else in their team in a clear . . . manner."

I was pretty excited to find a video linking one of my goals with one of my weaknesses. In a way, it added an extra incentive for me to work on my "Technical Communication" weakness. It was confirmed in my mind that I would spend as much time as I could working on getting better at it.

How do you improve "Technical Communication"?

I'm not going to lie. I asked ChatGPT that exact question. I think it returned some good information, like being clear and concise, establishing a feedback mechanism, and avoiding ambiguity. But I'm not just going to regurgitate a ChatGPT response.

My Technical Communication has gotten better about a subject when I:

  1. Increase my knowledge about the subject
  2. Try to help others learn about the subject (which usually leads to increasing my own knowledge)
How I'm Increasing My Knowledge

My primary method to increasing my knowledge is going to be writing these blog posts. I'm viewing them more as "papers" than "blog posts". As much as I hated writing papers in school, they helped me learn and understand more about the subject at hand.

My secondary method to increase my knowledge is consuming Web Development related content, whether it be YouTube videos, courses, or even the dreaded "Tech Twitter". I think it's important to read other developer's code. There are SO MANY ways to tackle the same problem. Some solutions might be faster, others more readable, or others more concise, and seeing how other people solve a problem can ultimately lead to greater understanding.

How I'm Helping Others Learn

I learned how to make websites from a bootcamp called DevMountain. After graduating, I tried to further my learning on my own. I feel like I was learning new things all the time, mainly because I was making things. However, there was only so much I could learn on my own. Landing my first Web Dev job revealed that I knew very little about working on a team of developers, properly using GitHub to make pull requests, and using a Kanban board to track projects.

It's been a few years since I graduated DevMountain, and since then, a few of my friends have also completed a web development bootcamp. One day, one of my friends reached out to me with a dev question, and from our conversation, I had the idea to simulate working on a dev team. I could also provide a place for my developer friends to build things, whether something simple like a Magic 8 Ball, or a full blown system for creating and viewing Gun Builds for MW2.

This is when DevBrosHQ was born. I created a Discord server, a Kanban board, bought a domain, and went to town. It's been about a year since DevBrosHQ was started and has been a wonderful learning experience. It solidified the importance of building things. I built a todo list when first starting DevBrosHQ and it's something I use everyday at work. Sure, there are a million services and applications out there that you can use as a todo list. But when you build things, you learn.

Apart from DevBrosHQ, I'm trying to answer questions people ask on StackOverflow. I realized one day that it seemed like I was getting answers to my problems from StackOverflow all the time. What if I contributed? I answered a question, earned some "Rep", and quickly became addicted to checking the site for questions I could answer. There have been some questions that I thought I could answer, but the more I thought about it, the more I realized I didn't know anything 😂. I've learned a lot from doing this. Even if I didn't end up answering a person's question, I learned more about the topic of the question.

So, How Are You Improving Your Dev Skills?

I'm improving my dev skills by strengthening my Technical Communication. I'm strengthening my Technical Communication by increasing my understanding (through writing blog posts and consuming web dev content) and helping others learn (through this website and being active in the web dev community).

Not really sure how to end blog posts, so take this cookie and get out of here 🍪.