Effective Leadership Strategies for Software Engineers

Rafael A. George Duval
3 min readMay 10, 2023

--

“Bad strategies” refer to policies without context, leading to a disconnect from their intended purpose. To support senior engineers, staff+ engineers should provide non-blocking feedback. The skills and behaviors we expect from role model engineers impact the code we write, the algorithms we deploy, and the decisions we make.

Write and distribute more long-lived documents, such as architecture docs or technical specifications. Lead (and, to a lesser extent, take part in) company forums like architecture reviews, the company all hands, and learning circles. Be a cheerleader for your team’s and peers’ work on Slack. Internal visibility is not zero-sum but constrained by the attention of the folks you want to see your work. Share weekly notes of your work with your team and stakeholders so others can access your messages if interested. Learning and developing yourself is permanent; focus on the latter once you’ve done the smallest to clear the former’s cliff.

Conway’s Law suggests that software reflects the structure of organizations. A rigid data model that prevents invalid states is essential to avoiding coupled or tangled software. Encapsulating workflows and tooling can help achieve this. Curate technical quality to maintain the quality of your company’s architecture and software as it grows and tacks over time. Work on what matters to make the most of your working hours, particularly as you get further along in your career and life’s commitments expand.

Stay aligned with authority to remain an effective leader over time. Time spent getting work completed is always time well spent. To lead, you have to follow. Never fight feedback. Don’t evade responsibility or problems. Only present a question with an answer. You can only create alignment in the room if you have a proposal for folks to align behind. Avoid academic-style presentations. Refrain from fixing your preferred outcome. Have a sponsor in the room. Bring something valuable to the meeting. Stay aligned with your manager. Optimize for the group. Reduce friction. Come prepared. Focus and be present — volunteer for low-status tasks. In a contentious meeting, ask three good questions before you share your perspective, and you’ll see the room shift around you. What are the high-leverage ways you’ve improved the organization? What is the quantifiable impact of your projects? Who have you sponsored/mentored, and through what accomplishments? Showcase the glue work you do for the organization. What’s the impact of that glue work? Which teams and leaders are familiar with and advocate for your work? What do they value about your job?

To be an effective leader, focus on providing non-blocking feedback to support your team. Curate technical quality and stay aligned with authority. Communicate and document important information. Learn and develop yourself, and work on what matters most to maximize your time. When in meetings, come prepared, be present, and have a proposal to create alignment. Finally, volunteer for low-status tasks, showcase the value of your work, and stay aligned with your manager.

[¹]: Staff Engineer: Leadership Beyond the management track

--

--

Rafael A. George Duval
Rafael A. George Duval

Written by Rafael A. George Duval

✍🏼 Building a Solo Digital Media Company 🧪 Snippets of Text [https://snippetsoftext.substack.com/subscribe]

No responses yet