How do I stay effective as a software engineer?
July 12, 2022 by
As a software engineer, I’ve always been seeking ways to stay effective. Since I’ve been working in tech for 10+ years, I’ve had the opportunity to interact with a lot of incredible individuals. I’ve seen the techniques that top performers use to maintain their productivity; thankfully, they tend to display similar patterns. In this short blog post, I’d like to share what I’ve learned from my observations. I hope that this information is useful to you if you are looking for strategies to boost effectiveness. If you are already a skilled and efficient engineer, I hope that something in this post resonates with you and inspires you to achieve even more.
Judgment is critical
Every day, we are forced to make decisions. When I refer to everyday decisions, I do not mean major life decisions such as choosing a spouse or deciding whether to leave our jobs to open a coffee shop. Most day-to-day decisions are just determining what is worthwhile to accomplish vs. what is not, what to delegate vs. what to do with our own time.
People with good judgment end up choosing things that tend to be a good investment of their time. A good investment will yield a decent return, therefore excellent judgment is essential to great success.
A person may provide a lot of value to a company if they can make quick judgments based on experience that might otherwise require a lot of anxiety or failed attempts. This is especially important for engineering managers, who are often away from their keyboards.
Prioritizations set you up for success
In tech, a lot of companies are moving fast. To put it simply, people are busy. It is not uncommon for a team or individual to have multiple goals and deliverables within the same time frame. Often, engineers are required to multi-task. Prioritization is the first issue that must be addressed when developing a plan, just as it is when building a company’s roadmap. Before delving too far into a project, we should determine what should be done first vs. later. Prioritization is like finding the “optimal path” to your destination; it sets you up for success.
Maintaining an effective todo list is the key spirit
To-do list management software is popular for a reason. People function differently, so different types of software are developed to help people who work in various environments manage their to-do lists. One thing we all have in common is that we all need to keep our to-do lists up to date in some fashion.
Ideally, we all stick to it, and by “stick to it,” I mean always having a to-do list arranged by priority based on our best judgment. If a person is good at making decisions and setting priorities, the most important task for their role should always be at the top of their to-do list. It tells the truth about how people should spend their time. Finally, having a good to-do list makes it easier to push back when required, since the person making the new request must justify why it is more important than what is already on the list.
Execute with care
“A bad plan that is well executed will yield much better results than a good plan that is poorly executed.”.— Otto von Bismarck
When it comes to execution, the objective is generally always to finish anything related to our role or responsibilities. It may include writing a document, accomplishing a technical task, having a difficult conversation, or learning something new. We may run into unanticipated circumstances during execution, but we must always maintain our focus on executing the plan and obtaining the desired results. Nothing would matter if we dropped the ball on executing.
Iterate to go further
We’ve come a long way thus far. But by iterating, we can go even farther. Either we are successful and go on to the next task, or we are unsuccessful and gain knowledge from the experience. Over time, we become more adept at many sorts of tasks related to our position. By iterating, we can make changes to either our process or our way of thinking, which makes our path much longer.
Scale it up and grow, baby!
Don’t be surprised if it’s not the end, given that competent engineers enjoy challenges and steadily take on more responsibilities. When this happens, we can see our to-do list continuing to expand despite being equally productive. As the scope of our tasks expands, we must choose how to scale up. It might be more projects assigned to or led by us; more team members reporting to us; more systems we take on as domain experts; more individuals seeking our guidance; etc. At this point, we must enhance our process, delegate more, improve our ability to ask for assistance or say no, and update our judgment. No matter where we are in our career, mastering scale-up will help us move up to a higher position.
There is no secret recipe for success; everything boils down to effort. But our odds of success are much higher with a solid strategy, a well-coordinated plan, and effective execution. Good luck.
— Sixuan Liu, Engineering Manager