DEV Community

Cover image for 5 Ways to Take Initiative as a Software Engineer
Colin Morgan
Colin Morgan

Posted on

5 Ways to Take Initiative as a Software Engineer

You worked hard, studied hard, interviewed your butt off, and landed that coveted job as a Software Engineer. Now it's time to climb. Here are 10 ways you can take initiative and prove that you deserve that next level.

Create A Technical Debt Roadmap

If your team doesn't already have a way to log, track, and plan technical debt, creating one is a great way to take initiative and help your team plan for the future. Every team has a backlog of work that needs to get done but doesn't fit into a product roadmap. Maybe you even have a backlog of Jira tickets labelled "tech debt" or something similar. Take some time to create a simple spreadsheet that can track these technical debts.

Once it's created, share it with your team and encourage them to add any items they would like to see worked on. Key points here are to include rough estimates like t-shirt sizes, as well as highlighting how the work could positively affect business goals. Don't forget to keep the document up to date so it reflects the current state of affairs. It's much easier to sell the importance of technical debt when it's laid out in an organized manner.

Initiate Knowledge Sharing

It's pretty rare that there is an even distribution of knowledge across engineering teams. A great way to help your team level up their domain knowledge and flex your organizational muscle at the same time is to set up knowledge sharing sessions. Usually this takes the form of a presentation that digs into the inner workings of a system, followed by a Q&A session.

If you don't feel confident enough with a system to run one yourself, try reaching out to Engineers that have strong domain knowledge in a particular area and ask if they'd be willing to run one, while offering to help organize it. If everyone is okay with it, it's also a great idea to record these sessions so that you can provide them to anyone interested in learning more about the system in question. These types of sessions make for great onboarding material for new employees.

Create or Improve Documentation

Let's face it, no one wants to work on documentation. Except those technical writer weirdos (jk). Unfortunately, technical documentation is one of the most important aspects of keeping a team running smoothly. Stepping up to write or improve documentation is a great way to display one of the most important dimensions of a Senior Engineer, ownership.

Take some time to review your team's technical documentation. Look for opportunities to fill gaps, update stale information, and increase readability. A side effect of this is that you'll build stronger domain knowledge.

Improve Your Team's Onboarding Process

No matter what business you work for, there's always a steep learning curve for Engineers that are new to your team. If your team doesn't already have a formal onboarding process, taking the time to craft one is a great way to display your leadership skills. If your team already has an onboarding processing, look for ways to improve it.

To start, spend some time thinking about what it was like when you were first hired. What sorts of things were helpful and what was lacking? You can also reach out to recently hired teammates and ask them the same questions. Some rough ideas to get you started:

Does your team have a checklist of things that a new employee should be provided? eg. permissions, accounts, documentation, style guides, etc.

Does your team assign a mentor to new employees?

Does your team have any educational material to help them get familiar with the code bases they'll be working on?

Does your team provide new Engineers with guidance on what is expected in terms of code style, unit testing, code reviews, etc.?

Improve Your Team's Development Process

Every team has room for improvement when it comes to their development process.

Do projects often end up going over estimates? Suggest your team try some alternative estimating approaches, like planning poker.

Perhaps your team suffers from a lot of bugs in production? Suggest improvements to your code review process. An example of this could be adding a code review checklist for your team to follow.

Does your team struggle with consistent code formatting? Implement an automated code linter and outline a style guide for your team to follow.

The key here is to keep your eyes and ears open for ways that your team's development process could improve. Spotting these problems and solving them shows that you continually strive for improvement and that you have a strong sense of ownership.

Wrapping It Up

The key to taking initiative as a Software Engineer is to always be looking for ways to help make your team more efficient. Writing clean bug free code is great, but helping your entire team improve as a whole is how you show you are ready to move into a leadership role.

Let me know in the comments if you have any other examples of taking initiative as a Software Engineer.

Until next time, happy coding!

Top comments (0)