What does it take to become a Software Lead?
We aim to be transparent about how members can advance and become Software Leads. If you believe you meet the criteria mentioned below and are interested in advancing on the team, please feel free to approach a current Software lead. We are committed to open dialogue and transparency when it comes to discussing potential advancements and opportunities within the subteam.
- Technical Expertise:
- Must be very comfortable using C, FreeRTOS, and the TI RM46.
- This can be demonstrated by writing code, reviewing PRs, conducting workshops, and helping other members.
- Must have a demonstrated understanding of the software and hardware architectures.
- This can be demonstrated by contributing to the design of the architecture, contributing during electrical-software syncs, conducting workshops, and completing high-level design tasks.
- Must demonstrate a strong understanding of the overall design process (outlining/simplifying requirements, designing systems, determining failure modes, implementation, and validation)
- This can be demonstrated by actively contributing to a project from its conception through to its completion, encompassing all stages of the design process.
- Project Management:
- Must have played a significant role in at least 2 major projects that met goals/deadlines.
- A major project is characterized by one or more of the following:
- Addresses a challenging technical problem, such as tough bugs or performance issues.
- Requires deep understanding or modification of existing systems or libraries.
- Introduces or enhances core functionality, like writing a peripheral driver.
- Involves benchmarking, evaluation, or optimization to ensure optimal performance or reliability.
- Active Participation:
- Active participation in weekly software meetings.
- Remained actively engaged and contributed for more than 1 term.
- Taking a break is fine, but keep the team updated. Don’t pick up a task and then take a break from the team without saying anything.
- Initiative:
- Proactively took on tasks that were crucial for meeting the team’s goals.
- Bonus points if it’s a task that other members don’t want to take on.
- Proposed new projects or tickets that will provide value to the team.
- Code Review:
- Completed at least 10 non-trivial PR reviews (with good comments) in the last 8 months.
- Able to validate firmware on actual hardware platforms
- Onboarding New Members:
- Assisted in onboarding at least 2 new members.
- This includes answering questions in the #fw-onboarding and #gs-onboarding channels or hopping on a call to help new members out.