About the Company
Vish is a B2B SaaS company that develops technology for the beauty industry. Its platform and smart Bluetooth scale help salons reduce colour waste, manage inventory, increase service revenue, and better understand their colour operations.
The company operates across five countries and aims to reshape supply chain management within the hair colour industry. Vish has a distributed engineering team with a strong focus on functional programming and building software that supports small businesses while reducing environmental waste.
About the Role
Vish is seeking a Senior Scala Engineer to contribute to the backend systems that power its platform. The engineer will transform high-level or ambiguous requirements into modular, production-grade solutions and help guide the system architecture as the company grows.
This is a hands-on senior position focused on functional programming, software design, code quality, technical leadership, and mentorship.
The position requires working from the Toronto office five days per week.
Responsibilities
- Clarify vague or incomplete requirements and translate them into concrete implementation plans.
- Break project scope into clearly defined components.
- Design interfaces and embedded domain-specific languages.
- Develop clean, modular, maintainable, and extensible code.
- Refactor existing code to improve maintainability and extensibility.
- Work with technologies including ZIO, Cats, Cats Effect, Doobie, ScalaCheck, and Akka.
- Review merge requests and provide detailed feedback through comments, written notes, or code patches.
- Approve merge requests when they meet the required standards.
- Participate in and lead architecture and software design discussions.
- Propose and evaluate implementation plans.
- Participate in paired programming and code review sessions.
- Coach and mentor other engineers.
- Estimate technical complexity and provide realistic completion timelines.
- Communicate changes and proactively manage stakeholder expectations.
Requirements
- Several years of experience writing production software.
- Several years of functional programming experience.
- Practical experience with Scala, Haskell, OCaml, F#, Erlang, Elixir, or Rust.
- Scala experience is strongly preferred.
- Experience working with relational or NoSQL databases.
- Experience using Git and the Linux command line.
- Strong understanding of modular and extensible software design.
- Ability to identify and infer missing acceptance criteria.
- Experience with build systems and resolving dependency conflicts.
- Strong root-cause analysis and problem-solving skills.
- Ability to remain focused and avoid unproductive investigation paths.
- Ability to work effectively with unfamiliar programming languages or libraries.
- Empathy, humility, personal accountability, and high professional standards.
- Experience with Test-Driven Development and Property-Based Testing is considered an advantage.
Benefits
- Opportunity to work on a functional Scala codebase.
- Work that supports small businesses and helps reduce environmental waste.
- Participation in the growth of a B2B SaaS company operating internationally.
- A collaborative engineering environment focused on software quality.
- Competitive compensation.
- RRSP benefits.
- Comprehensive health and dental benefits.
