Software Engineer III
As a Software Engineer III, you are capable of leading the design and implementation of a typical solution. It’s expected, not that you have all the answers, but that you have the aptitude and experience to solve the problems laid out before you effectively. Your work is high quality – You deliver what is needed in a timely manner and with excellent communication to your peers, management, and stakeholders. You share what you have learned with your peers, juniors, and our Engineering community.
Impact
- Lead technical implementations of projects to help your team deliver high quality work on time.
- Support your team by helping to break down and coordinate work.
- Proactively identify new opportunities and implement improvements to current products
- Able to work independently and partner with other engineering teams to unblock code reviews and engineering designs.
Reach
- Team
Knowledge
- Understand the implications of work being done and adjust approach based on impact and risk
- Have a good understanding of the team / organizational structure in our Engineering department and how to communicate and work with them.
- The depth and breadth of your knowledge in good engineering practices and non-functional principles should be sufficient to solve problems at a more complex or abstract level.
- Keep up to date with best practices and recent technology changes in your domain
Communication
- Gather input and ask clarifying questions to make informed and timely decisions
- Highlight any potential pitfalls or decisions that have complex technical consequences early. Help ensure that we are not only building something right, but that we’re also building the right thing.
- Create diagrams and learning materials for your team’s products
- Share what you’ve learned in SIGs, TAG, or our Monthly Learnings
- Set up postmortems and identify actions to avoid repeating problems
- Show empathy and kindness toward your peers and try to understand the views of others before attempting to defend your own.
Leadership
- Mentor more junior engineers where possible, such as helping find suitable tasks, pairing with them on tickets, or providing context and guidance.
- Help others on your team progress by inviting them to pair up on work that may be beneficial for them to learn
- Assist with onboarding, such as being a culture coach for a new team member in their first month
- Be involved with our Engineering community by
- Bringing up important issues
- Encouraging others
- Ask “why” even in challenging situations, and recognize and call out assumptions and risks
- Lead structured meetings that run to time and have tangible outputs