DEV Community

Mariusz Sołtysiak
Mariusz Sołtysiak

Posted on • Originally published at mariuszsoltysiak.hashnode.dev on

Things I learned as a software engineer — career development

In my previous story, I was focused more on my experience from the early stages of my career. Now Id like to continue sharing the things I learned as a software engineer(and partially as a team leader) around setting career goals and managing self-development.

After acquiring our company, our team started to grow, and after almost three years, I got an offer to become a team leader of four backend engineers. I had no experience managing a team, and here it was even harder, as only a part of the team was working directly with me. Others were working as part of other project teams. But I wanted to become a good leader.

Prepare for changes

I started reading books and listening to podcasts. I watched many videos and attended a few conferences to obtain more knowledge about leadership in general. The only problem is that everything happened just too late. I mentioned during my interview that I want to become a leader, but I never expected it really could happen. I didn't do enough on time to prepare myself and have a good starting point. Now I know how important is to prepare for changes. Thats why I decided to write this story.

Create a good development plan

You need a clear development plan to follow to achieve the goals and satisfy the expectations. Its not an easy task to do, and usually, you should ask your leader for help. A good development plan should follow three basic rules:

  • have short and long-term goals

  • focus on 23 specific areas

  • have clear actions for every area they should be measurable and checked periodically

If those points are satisfied, its probably enough to have something to continue the work. I strongly believe that the first version of the plan should be created individually.

How to find areas to develop/improve?

Fortunately, there are some possible solutions. First of all, you should ask your colleagues and your leader(s) for feedback. Because you want to focus on identifying development areas you should ask a few questions that will help them to provide you with ideas. Here are some examples of questions that could be used(all of them I asked and I received meaningful responses):

  • What do you think are my areas to grow?

  • What things do you appreciate most when working with me?

  • What should I start doing?

  • What do you think should be my next step in my career progression, and what gaps do I have before I can make it?

  • Which hard skills should I work on the most?

  • In your opinion what responsibilities [in the company/team context] should I have that I don't have at the moment?

  • What strengths have you noticed that you think I should develop?

After you write down your questions, very important is to pick the correct people to send the feedback request. You most likely wont receive a meaningful answer about hard skills from the product manager. Although, if you see that you are missing some skills around communication with business, the product manager might be the best choice.

The last step is to analyze the results. The answers might not be so specific, but anyway you should try to identify something to develop. You should also keep in mind your personal career goals and try to pick these points that could move you in the right direction. I personally always tried to pick up something that I could work on during my everyday work and current project.

Ask your leader for a review

When you have created your development plan you should ask your leader for a 1:1 meeting to discuss it. Your leader also should have the possibility to read feedback answers. Altogether you should agree and set a time range for each of the actions inside all areas. You should also agree on how often you will update and review the progress.

Do

Having everything written down and agreed you just need to do. Isn't it simple?

Unfortunately, its never easy. Being systematic is very important here. You don't need to do everything at once. If you have agreed to a quarter, don't try to finish everything in a week - especially the last week of the quarter.

If one of your actions is to read a book about microservices architecture, try to divide it into chapters and read one chapter every day. If your goal is to create a presentation and make a public speech, create a few slides every day, then spend 30 minutes daily to say it aloud until you be ready.

Check progress

Periodically you should update the progress about your actions and talk to your leader about challenges and learnings. Sometimes it might happen, that because of changes in the company/team some of the actions will not be possible to realize. You should be flexible about it and replace them with something else. When necessary, you can replace also an area.

Don't give up

Remember that if you want to progress your goals should be ambitious. There is always a risk of failure, but you should never give up. If you fail to do something or wont meet the deadline, always try to make a retrospective with yourself and your leader. Try to write down why and what could you do to avoid it. Learning from failures can bring more benefits than you can imagine.

More things are important during career development, but you should identify them on your own and adapt to your needs. I wanted to share the most important factors that I try to follow. I consider them very effective and helpful to progress.

Top comments (0)