Here comes the 21st letter—the last letter of 2021. (The matching numbers are pure coincidence, I didn't plan this at all 😄.) The new year is upon us, and it's time to think about the next year.
Before deciding on New Year's resolutions, it's always helpful to reflect on the last year and see how far we went in a year. When we look back, the frustrating moments usually look smaller than we experienced before. After learning this perspective, I decided to do these retrospectives more often, more than once a year. When possible, daily.
Having regular retrospectives is a great way to recognize if we're progressing or not. Because many skills require a long time to build, we often forget about our goals and new year resolutions after we set them. We start to live day-by-day.
When I realized that I had stopped creating goals, I focused on forming habits instead of New Year's resolutions.
Goals vs. Habits
I don't have goals in my life for almost two years. This strategy scares some goal-oriented people. However, I am focused on gaining new habits, playing the long-term game while living in the moment. This strategy helped me more than any goal that I had tried before. But I know that this style is not for everyone, especially not for many software engineers.
When I think about software engineering, the goals are the profession's nature. K.P.I.s, O.K.R.s, bug metrics, deadlines, sprint goals are all pushing us to define more timely, measurable, and specific goals, a.k.a. S.M.A.R.T. goals. However, there is one thing many engineers forget: developing skills takes time, demands a lot of practice, courage, and resilience to take an unknown journey.
Think about the last time you wanted to learn a new skill, let's say coding. How was your journey? Did you know what you will learn? Most probably, you didn't. Even if you had a university or a bootcamp curriculum, you didn't know. Yet, here you are. You know how to code, and you probably already forgot how much time and energy you put into it. Now, you are focused on learning a more specific skill aligned with your career's progress.
As you grow your career, you get more specific with each skill. It was coding first, then software architecture and testing began. As you progress, there is always a more precise skill to learn. But learning any skill takes time, and creating goals for each of them puts us into a stressful race that achieving any goal will bring only a tiny moment of happiness because we have to think about the next one. There is always a next goal, next objective, next destination, next, next, next.
While you're onto new year's resolutions, think about how you work and live every day. If you want to learn how to design systems or how to build more secure systems, don't just say, "I will learn cybersecurity practices in a year." Think about what you should change in your day to learn a new tool, skill, or approach. Instead, your statement can be a mix of goal and habit, "Learn one thing in the security field every two-to-three weeks and practice it every day until you can comfortably explain to another person." This statement still focuses on security but changes your daily habits.
If you are not going to change how you work or live, whatever goal you decide will fade away quickly. Focus on changing a tiny bit of your day. The effect will compound, and the impact will be massive by the end of 2022.
Which skills should you improve in 2022?
Many software engineers think about improving their technical skills and solely focus on them while they progress in their careers. The poor side of this approach is that they overlook other skills such as handling feedback and disagreement, managing projects, driving collaboration, facilitating meetings, mentoring, and many others. The worse part is that the other skills are more significant when combined.
The chart gives an overview of all skills distribution for senior software engineers. To provide a better perspective for different roles, Gergely Orosz shared a great notion that'll take a lot of words to explain.
Looking at the picture closely, you see that hands-on building software loses its portion once the software engineer starts growing into other roles. Don't get me wrong; technical skills are still mandatory for almost all leading roles. But they are not the only skill to become a great software engineer. In junior roles, improving technical skills has the highest priority. After that, other skills are more crucial.
When we think about technical skills, the leading roles demand more technical breadth than technical depth. It's still essential to keep technical skills alive because they are beneficial in all leading roles. But you don't need to know every single detail in code. If you're leading, you will have to let others do the job so that they can grow while you're working more strategically.
If you are planning New Year's resolutions, consider the perspectives above. Don't bog down yourself on never-ending goals. It's difficult to say, "Yes, I have this skill, now." Developing new skills requires constant improvements, and it takes time. Focus on changing your day a tiny bit to open up a space for learning new skills. Whatever you choose to learn, do it every day. Every. Single. Day. Even if it's reading an article for five minutes or trying one technique quickly, it doesn't matter: don't skip.
I hope to see you develop your skills, become a great leader and have the best year of your life in 2022.
Thanks for reading, see you next year! 😉
What I Published Over Last Two Weeks
After getting into a new role (team lead), I started to struggle with managing my time. I had too many meetings and little time to think and work on issues that required my solo attention.
At that time, I looked for books to help me find a balance in my new life. I found Make Time and bought it. I've read it in a couple of days.
If you're using the phrase "I'm busy" a lot and looking for ways to open a space in your life for the things that are important to you, give this book a read.
But before buying the book, read my review and notes to see if the book can match your expectations.