OpenSesame is disrupting the workforce development industry through an AI-powered marketplace of skills courses. The Associate Software Engineer will work with mentorship across a modern tech stack, contributing to team practices and enhancing technical skills while supporting product engineering teams.
Responsibilities:
- Get fully set up and integrated into the team’s codebases and workflows; start participating in collaborative development
- Develop a basic mental model of the Core team’s domains, including identity management and legacy commerce platform
- Build working relationships through pairing. Participate actively in standups, planning and estimation, retrospectives, and other required team meetings
- Enhance your technical skills by writing code and debugging errors with guidance from peers
- Apply standard testing approaches, writing unit tests and smoke tests. Start learning our CI/CD pipeline technologies, such as Github Actions and Terraform
- Understand the high-level relationships between key components and dependencies of identity management and legacy systems
- Pair with a teammate as release captain for a legacy system deployment. Learn how to triage issues based on the mental model of the system that you are developing
- Contribute to planning sessions with senior engineers to break down complex work into smaller, end-to-end user stories. Execute well-defined user stories or technical tasks from design through deployment, validating with senior engineers to ensure adherence to the required quality standards and practices
- Participate in the on-call rotation. Investigate and triage issues using logs and observability tools, escalating when appropriate
- Apply unhappy-path thinking, defensive programming, and performance awareness. Learn and apply tradeoffs with guidance from senior engineers
- Troubleshoot and contribute to many parts of the team’s codebase. Begin to develop recognized expertise in a specific system, becoming a go-to contributor
- Take responsibility for code quality and maintainability. Leave systems better than you found them
- Embrace collective ownership of code, documentation and outcomes, taking pride in shared success and supporting improvements to code written by others. Communicate clearly and respectfully in team discussions, practicing active listening, defending a contrary stance constructively, and building on others’ ideas to foster a culture of collaboration
- Proactively identify opportunities to improve your skills, seek feedback from your team and your manager. Foster a culture of continuous improvement for yourself whilst making meaningful contributions to the team
Requirements:
- Experience with modern full tech stack including React, TypeScript, Node.js, GitHub Actions, Terraform, AWS, SQL (RDBMS)
- Exposure to identity management protocols such as SAML and OIDC
- Ability to work in and around legacy systems
- Participation in team practices such as pairing, code reviews, on-call rotation, and releases
- Willingness to learn and grow technical skills
- Ability to build working relationships through pairing and active participation in team meetings
- Experience writing code and debugging errors with guidance from peers
- Knowledge of standard testing approaches, including writing unit tests and smoke tests
- Understanding of CI/CD pipeline technologies
- Ability to understand high-level relationships between key components and dependencies of identity management and legacy systems
- Experience in planning sessions to break down complex work into smaller user stories
- Ability to execute well-defined user stories or technical tasks from design through deployment
- Participation in on-call rotation and investigation of issues using logs and observability tools
- Application of unhappy-path thinking, defensive programming, and performance awareness
- Proactive identification of opportunities to improve skills and seek feedback
- Ability to communicate clearly and respectfully in team discussions
- Front-end expertise and exposure to authentication flows