We are currently hiring a Senior Software Engineer for our Profile (Learner, author and company) team. You'll be building products to help engage and retain users in achieving their tech skills goals. You will be part of a team of developers, machine learning engineers, data scientists, product managers and designers who'll optimize relevance and innovate on new discovery experiences.
Who you're committed to being:
- You value finding that ideal solution that balances the technical needs of the system with the strategic needs of the business.
- You are passionate around delivering value to customers and see how engineering excellence unlocks our ability to deliver.
- Delivering to customers energizes you and your drive encourages those around you.
What you'll own:
- A consistent, reliable, and scalable product - uptime and response time matter.
- You will work on a team that practices pair and mob programming.
- You will work closely with the entire team (including Product, Machine Learning, and Data Science) to build products with powerful impact.
- You will work as a team to uncover the best ways of working to drive lean product development.
- You will work as a team to design experiments.
- You will develop a solid understanding of how the systems you own work with other bounded contexts and the overall system architecture.
Experience you'll need:
- 7 years of related or equivalent experience; or 5+ years with an advanced degree.
- You have proven skills of a high-proficiency, engineer.
- Passionate about data, innovation, and using technology to unlock the future.
- Experience building software with .NET Core (C#), TypeScript, React.
- Solid understanding of relational databases (Postgres), and other types of data stores a bonus.
- Bonus points for working with eventing systems and eventual consistent systems (RabbitMQ, Kafka).
- You have experience crafting and building public or shared APIs
- Can provide architectural, strategic, and scale recommendations for both frontend and backend development.
- Ability and willingness to work with multiple tech stacks simultaneously.
- You have experience delivering software frequently, and building robust deployment pipelines.
- You understand and can navigate sophisticated issues around application performance, reliability, scalability, security, and data integrity.
- Good communication skills, ability to partner with product and design, and collaborate on multi-functional teams
- You have shown you are a strong collaborator, a trusted teammate, and are skilled at resolving and working through different ideas.
- You have the ability to discuss sophisticated topics with both technical and non-technical audiences.
Ways we work:
- Provide architectural, strategic, and scale recommendations for both frontend and backend development
- Test-Driven Development - we take responsibility for our code without QA engineers
- Pair programming - we value collaborative development
- Continuous Delivery - teams independently ship code to prod every day
- Kanban & Lean - no more backlog grooming, no more T-shirt size estimating
- Continual improvement - we take time to sharpen the saw and adjust how we work
- Human Centered Design - involved engineers who participate in customer research through the design and implementation to ensure we are addressing our customer's needs
- Autonomous & responsible teams - Collaborate with Product Manager and Product Designer to better understand the customer, provide valuable input into project feasibility and timeline estimation, standards, layouts, navigational features, functional design, and usability
- Cross-functional teams - collaborating through all phases of the product dev process
- Customer research - we build what our customers actually want
- Trusting leaders - who trust us to create and don't impose deadlines or features