Senior Software Engineer

Posted:
12/5/2024, 7:28:06 AM

Location(s):
California, United States ⋅ Mexico City, Mexico

Experience Level(s):
Senior

Field(s):
DevOps & Infrastructure ⋅ Software Engineering

Workplace Type:
Hybrid

About OpenSesame

OpenSesame's mission is to help develop the world's most productive and admired workforces. We do this by delivering a comprehensive catalog of elearning courses from the world's top publishers. We add value to customers through their entire learning journey.

While it appears to most people that we just sell training courses (over 40,000 of them), what we really offer is the opportunity for companies to upgrade the skills of each of their employees.

We are at a pivotal time in our growth as we diversify the ways we drive revenue. We've expanded our product offering dramatically, and have a growing network of partners that is developing into a vibrant channel. Our customer base has high satisfaction ratings and there is room to grow our retention even more.

www.opensesame.com/about.

About the Job

We are seeking a Senior Engineer to join our team and contribute to the growth and success of OpenSesame’s eLearning platform. As a Senior Engineer, you’ll work across the stack to develop new features, improve existing systems, and ensure high standards of performance and scalability. At OpenSesame, we are evolving toward Extreme Programming (XP) practices, and you’ll spend much of your time pairing or mobbing with other engineers to develop solutions collaboratively as we modernize and improve our systems.

This role requires a well-rounded engineer who can move seamlessly between front-end and back-end tasks, understands cloud infrastructure, and has experience with automated deployments. You’ll mentor and support other engineers, provide technical guidance, improve team processes, and help others level up their skills.

Performance Objectives:

In your first 90 days: Get fully integrated into the team’s workflow, develop a deep understanding of the product and architecture (including legacy systems written in Drupal 7 and Angular), and start contributing to collaborative development processes.

  • Team Integration & Shared Ownership: Collaborate with the team to understand ongoing projects, key systems, and the current state of the product, with a specific focus on learning the legacy systems and their role in the platform.
  • Contribute to Team Success: Actively participate in pair programming and mob programming to develop new features and resolve issues. Ensure the code the team produces is well-tested, scalable, and maintainable.
  • Mentorship & Peer Support: Start mentoring team members by sharing insights, providing technical guidance, and supporting collaborative problem-solving. Help peers grow by offering constructive feedback and learning together through daily pairing and mobbing.
  • Improve Team Processes: Engage fully in the team’s agile ceremonies, retrospectives, and discussions. Contribute to refining XP-based processes, such as test-driven development (TDD), to enhance team productivity and satisfaction.

Within 6 months: Take on more leadership in technical decision-making, guide the team’s development practices, and ensure quality in both code and process, while deepening your understanding of legacy systems and their modernization.

  • Drive Team Decisions: Play a larger role in shaping the technical direction of the team. Work with others to ensure architectural decisions and designs reflect the collective needs of the product and its scalability, while embracing XP practices such as “YAGNI” (“You aren’t gonna need it”) and “Do the simplest thing that could possibly work.”
  • Lead by Example: Continue to engage in pairing and mobbing to lead important tasks within the context of team goals. Lead initiatives to improve systems, performance, and workflows in a way that benefits the whole team.
  • Collaborative Development: Work closely with Product and Design to ensure features meet business goals and deliver value. Facilitate collaboration within the team to break down silos and encourage collective ownership. Ensure that everyone’s voice is heard in pairing and mobbing sessions.
  • Incremental Delivery & Vertical Slicing: Help the team break down complex features into vertical slices that deliver incremental value. Encourage the team to focus on releasing small, functional increments to ensure fast feedback and continuous improvement, particularly in legacy areas where change may be more challenging.
  • Strengthen Team Dynamics: Act as a peer leader, supporting the growth and development of fellow engineers through mentoring and guiding technical decision-making in a way that aligns with the team’s XP practices. Help the team continually improve their mobbing, pairing, and TDD workflows.

By the end of your first year: Establish yourself as a technical leader within the team, while fostering a culture of shared ownership, collaboration, and continuous improvement.

  • Promote Team Ownership: Foster a culture of team ownership, where each member feels empowered to take initiative and contribute to the success of the team. Encourage shared responsibility for the codebase and the product, ensuring daily pairing and mobbing lead to sustainable, high-quality solutions.
  • Mentor & Develop Peers: Continue to mentor team members at all levels, helping mid-level engineers develop leadership and technical skills. Cultivate a strong sense of collaboration and knowledge-sharing within the team and across the organization through pair and mob programming.
  • Help Shape Team Strategy: Work with engineering leadership to define and implement long-term strategies for your team, ensuring that technical vision aligns with company goals. Lead initiatives that enhance the team’s ability to execute efficiently within the XP framework, focusing on continuous delivery and iterative improvement.
  • Advise Management: Provide thoughtful input to management on the team’s needs and capabilities. Identify areas where additional resources, tools, or training could help the team achieve its goals. Advocate for strategies that align with the team’s strengths and address gaps in skills or processes, ensuring the team’s long-term success and growth.

Tech Stack

This team owns and maintains our marketplace stack, built on Drupal 7 and Angular, which continues to deliver critical value to our customers. At the same time, we are actively modernizing our stack to leverage more contemporary technologies, including TypeScript, Node.js, React, and Terraform. Team members will work with both the legacy and modern systems, ensuring continuity and stability in our marketplace while contributing to its evolution.

  • TypeScript / Node.js / React / Angular
  • PHP / Drupal
  • C# / .NET
  • Python
  • Terraform
  • Docker
  • AWS

Location: This role is based in Mexico City, Mexico. We operate as a remote-first company, and periodically host in-person all-company meetings. All positions require up to 15 days of travel per year, with senior management and leadership teams requiring up to 35 days. All positions require the legal ability (passport and travel visa) to travel to the US, excellent spoken and written English skills, and reliable, high-bandwidth Internet connectivity.

Performance Driven: We're looking for self-starters with a track record of delivering excellent results, and we're highly selective about who we hire. We don't focus on typical job requirements, instead, we're interested in specific examples from your past experiences.

Compensation: At OpenSesame, we offer a comprehensive benefits package to employees upon hire, including ISOs, health insurance, 401(k) matching, and paid time off. We carefully consider a wide range of compensation factors, relying on market data to determine compensation and consider your specific job family, background, skills, and experience. 

Equal Employment Opportunity: OpenSesame is an Equal Employment Opportunity and Affirmative Action employer that values and welcomes diversity. We do not discriminate on the basis of various legally protected characteristics, including criminal history, and strive to provide reasonable accommodations to qualified individuals with disabilities. We prioritize safety and security and may use your information accordingly, and you can contact us for assistance or accommodations during the job application process. For more information on our Diversity, Equity, and Inclusion initiatives, click here.

Pay Transparency: At OpenSesame, we prioritize pay transparency, fairness, and equity to create a positive and inclusive work environment, regularly reviewing our compensation practices to align with our values and goals. We provide competitive and fair compensation to our employees based on their skills, experience, and performance.

CPRA (California Candidates): When you submit your application, OpenSesame may collect and use your personal information in accordance with our privacy policy and the CPRA. This may include personal details and employment history, and will only be used for employment-related purposes. We may share this information with third-party service providers, but we will not sell it to third parties. If you have any questions or concerns, please contact us, and for more information on your rights under the CPRA, refer to our privacy policy or the California Attorney General's website.