Software Developer, Full Stack

Alloy· Vancouver, BC· lever· ippubblikat 03/05/2021
Meħtieġ:TypeScriptPythonJavaCSSReactExpressGoogle CloudDockerKubernetesCloudFrontendBackendFullstackAIE-Commerce
About Alloy.ai   Alloy.ai is the Commerce Intelligence System for consumer brands. We unify data from 500+ sources — ERPs, retailers, ecommerce platforms, and distributors — into a single source of truth your team can bet their P&L on. Our proprietary commerce logic and AI Agents translate fragmented data into clear demand signals and prepare execution-ready actions — automatically. Sales and Supply Chain teams at brands like Liquid I.V., Crayola, and Valvoline use Alloy.ai to capture every revenue window, protect margins, and keep products on the shelf. From signal to action. Instantly. Alloy.ai is a fast-growing, well-funded startup with an expanding presence across the world. Our team hails from successful startups, leading tech companies and Fortune 100 enterprises. We believe deeply in fostering individual ownership, iterating to excellence, focusing on what matters, communicating openly & respectfully, and supporting one another.  We encourage people of all backgrounds to apply. Alloy.ai is committed to creating an inclusive culture, and we celebrate diversity of all kinds. About the Role   Full-stack engineers tackle many exciting and complex challenges ranging from modeling the supply chain, implementing scalable and performant query systems, computing inventory recommendations and forecasts, to building intuitive applications for sales, marketing, planning, and supply chain professionals.   On the frontend, you’ll work with a modern web-stack, built with Typescript and React; on the backend you will work with Java 14+. On the infrastructure side, you will be using Terraform, Kubernetes, and Python 3. In this role, you will: Directly contribute to the product definition by working closely with our product managers and designers and build a shared understanding of problems. Work with the latest React and TypeScript on the frontend, modern Java 14+ on the backend. Write simple and extensible code that your colleagues love to read. Own quality. You'll keep the bugs out by building a deep understanding of what to build, writing tests, and carefully reviewing the code of others. Focus on simplicity in software design, and focus on delivering incremental value. Have individual ownership of complex, rewarding problems across the stack. Lean on others when needed and letting others lean on you by mentoring them in areas of your unique strengths. You’ll be a great fit at Alloy if: The real world and its complexity are fascinating to you. You're innately curious about how products reach consumers efficiently and sustainably. You are a doer - when you see a problem that needs to be tackled, you deliver incrementally and plan ahead. You have an appetite for learning and embrace ambiguity; you don’t easily give up. You enjoy working with others to identify the highest-priority engineering work and build solutions that you're proud of. Asynchronous communication is second nature to you. You express complex ideas in an easy-to-understand and respectful manner - both in spoken and written language. You enjoy uplifting others and taking risks together. Learning about and promoting engineering best practices excites you. You enjoy actively contributing to an inclusive and high-performing engineering culture that will attract more world-class talent just like yourself. You have experience or are excited about learning one or more of the technologies we use. There's a good chance we didn't get this right! Like with many other things in life, this job description is a work in progress. We'd love to hear from you and what would make you a great fit in our engineering team ! What you’ll get for joining: Base salary $85,000 - $140,000 CAD Substantial equity package Flexible vacation policy RRSP Matching Comprehensive health coverage Professional development budget Monthly Transit Reimbursement Support from highly experienced mentors Genuine and welcoming teammates Monthly team events Fully stocked snack-shelf Paid parental leave Our engineering culture emphasizes code reviews, mentorship, and collaboration. We foster individual ownership of engineering work across the team and lean on each others' strengths when needed. We strive to write clear, extensible code that your colleagues love to read and keep the bug backlog in check. We focus heavily on promoting best practices for code quality, automation, and testing.   Technologies we use   Java 14+, PostgreSQL, Python 3, TypeScript, jOOQ, Dropwizard, AutoValue, Guava, React, Redux, Redis, SASS, Jest, Cypress, Google Cloud Platform, BigQuery, BigTable, PubSub, Kubernetes (GKE), Terraform, Containers (e.g. Docker).   Our values   Focus on what matters: Reevaluate priorities as necessary to pick the work that will have the highest impact to the customer and business. Work hard in a way that is sustainable. Choose the schedule that lets you achieve your best. Measure results, not hours. Respect your time and that of others; come prepared and leave with commitments.   Take ownership: Take initiative by proactively identifying opportunities or issues and tackling them. Strive for excellence. Hold yourself and your colleagues to a high standard. Create something that makes you proud. Follow through on our commitments to customers, users, and each other. We are all doers, regardless of role — no task is beneath you.   Iterate to excellence: Prefer action over perfection to learn quickly from early feedback. Be flexible and accept the need to make tradeoffs and change directions. Everything is a work in progress, nothing is done. Question prevailing assumptions, but understand them first. Gather evidence and champion ideas that will make our products and our company better. Verify and validate.   Communicate openly and respectfully: Offer and expect transparency to build trust. Confirm mutual understanding, especially in the face of disagreement. Treat each other with respect. Criticize constructively — the work, not the person.   Have each other’s back: When interacting with each other, always assume good intentions. Trust each other and take risks together. Give praise generously and take joy in others’ accomplishments. Grow a diverse team by actively seeking different backgrounds and cultivating an inclusive culture. Focus on how others’ strengths compliment us, rather than how their weaknesses invalidate them.