Software Engineer, Product
Job description
About the role
We are seeking a Software Engineer to join our Product team in Vancouver, where we build features end-to-end, from designing our data models to implementing the subtle interaction behaviors that differentiate good software from great software. In this role, you won't just code - you will be an integral part of the entire product development process from conception to post-launch reflection, manifesting continuous improvements to help us achieve our mission of enabling all teams to work together effortlessly. Partnering closely with UI designers and supported by our infrastructure team, you will aim to delight users with both large new features and daily product enhancements through our continuous deployment architecture. If you care deeply about building products that improve how millions of teams work together, we would love to hear from you. This role is embedded within a high-performance, dynamic team that prioritizes velocity and software quality, and you will be expected to contribute to a complex SaaS application that is a market leader in its segment.
Key facts
What you'll do
- Architect and implement end-to-end product features while maintaining a deep understanding of how data is represented, stored, and deleted in the storage layer.
- Partner with UI designers to translate design intent into robust technical solutions, ensuring pixel-perfect execution and delightful user interactions.
- Support and collaborate with other teams and stakeholders that work in the team's space to align on priorities and resolve dependencies.
- Drive large, impactful projects that deliver features rolled out and used in large organizations, owning the full lifecycle from discovery to deployment.
- Work with asynchronous jobs and implement algorithms that efficiently traverse the Asana Work Graph to support complex user workflows.
- Partner with legal to implement data ownership rules, requiring simple and effective technical solutions to make this process easy and clear to customers.
- Write high-quality, maintainable code that balances development velocity with long-term sustainability and performance.
- Contribute to the continuous deployment architecture by building features that can be safely and rapidly released to production environments.
- Engage in post-launch reflection to identify improvements and iterate on shipped features based on user feedback and metrics.
- Mentor and support junior engineers by sharing knowledge of the codebase, best practices, and infrastructure patterns.
- Evaluate new tools and technologies, including AI-driven solutions, to enhance productivity, collaboration, or decision-making within the product.
- Collaborate with cross-functional partners such as Product Management and Design to refine requirements and validate product hypotheses.
- Ensure technical solutions adhere to data privacy and ownership standards, making compliance transparent and user-friendly.
- Take ownership of the product experience by identifying edge cases and proactively addressing potential issues before they impact users.
Requirements
- 3+ years of experience working within large, well-maintained codebases.
- Excellent communication skills for collaborating with cross-functional partners (e.g., Product Management, Design).
- Sound judgment when balancing development velocity with producing high-quality, maintainable code.
- Passionate about creating a superlative user experience and highly attentive to details.
- Appreciate productivity and care deeply about helping teams - including your own - collaborate more effectively and efficiently.
- Excited to be a part of an inclusive culture where everyone brings the aspects of themselves to the workplace that they need to thrive.
- Demonstrates curiosity about AI tools and emerging technologies, with a willingness to learn and leverage them to enhance productivity, collaboration, or decision-making.
- Must be authorized to work in Canada without sponsorship for this position.
Practical notes
This role follows an office-centric hybrid schedule based in our Vancouver office. The standard in-office days are Monday, Tuesday, and Thursday. Most Asana employees have the option to work from home on Wednesdays. Working from home on Fridays depends on the type of work you do and the teams with which you partner. If you are interviewing for this role, your recruiter will share more about the in-office requirements. There are no specific travel requirements, visa sponsorship is not provided, and there are no published deadlines for this position.