Software Engineer - Backend at M1 (Salt Lake City, UT)
Who we are
M1 Finance has created a personal wealth-building platform made for the modern era, uniting personal perspective and automated ease. We seamlessly combine free investing, low cost borrowing and digital checking all in one intuitive, automated Finance Super App, and we’re driven by a mission to empower personal financial well-being. We believe that financial well-being is fundamental to overall well-being, and we strive to deliver products that are simpler, smarter, and stronger than those created by our competitors.
Our clients have already trusted us with over $6 billion of assets, we’re currently helping hundreds of thousands of people grow and manage their wealth with our industry-leading automation and tools, and we’re adding thousands of new clients every day.
We’re looking for passionate people who want to improve and build on what we’ve created and take responsibility to help others build something meaningful and sustainable for their futures.
We mean it when we say, “M1 is yours to build.”
If this sounds interesting to you, we’d love to have you read on.
What we’re looking for
We are looking for a passionate individual contributor to join our team -- someone who realizes the value in code reviews, pair programming, and continuous self improvement; is unafraid to venture into undocumented territory; believes the most interesting problems do not have answers yet; shares our company vision, embodies our values, and also recognizes that software development is more than just a job, it is a craft.
M1’s engineering team is in charge of building, deploying, and maintaining mission critical systems that power the operation of the entire M1 Finance platform. We adopt a microservices architecture and our systems, which range in responsibility and complexity (from login and account management to banking and trading) are all built on top of Reactive technologies (Lagom / Play! / Akka / Scala).
What You'll Do
- Collaborate with team members across functional areas to design and architect software solutions to support and enhance M1’s product.
- Implement clean and maintainable code that adheres to industry best practices
- Identify and execute on opportunities to improve existing systems
- Contribute product ideas to overall company growth
- Grow alongside an exciting, committed team of engineers who will always help you be your best
- 4+ years of professional software engineering experience
- Proficiency in a JVM language, such as Scala, Kotlin, or Java.
- Familiarity with functional programming, CQRS, and event sourcing
- Exposure to building and maintaining scalable and fault-tolerant distributed systems
- Some experience in mentorship of more junior team members
- Entrepreneurial spirit, self-motivated, growth-minded
- Excellent communicator and collaborator
- General knowledge of investing and personal finance or desire to learn
Engineering Culture @ M1
We are a team of driven engineers committed to executing a clear and exciting vision. We adopt an iterative approach, believe in continuous improvement, and embrace first-principles thinking. While we value creative dissent in problem solving and eschew the idea of adopting a solution just because "it has always been done that way," we also believe in respect, support, and enabling each team members’ best contributions however we can. Everyone plays an integral part in developing our product and is empowered to make impactful decisions on features, architecture, and implementation.
M1's Commitment to Diversity
M1 is proud to be an equal opportunity employer. We celebrate different experiences and we're committed to diversity, equity, and inclusion (DEI) at all levels of the company. Women, minorities, veterans, members of the LGBTQIA+ community, and individuals with disabilities are strongly encouraged to apply. With our three DEI task forces (internal education, recruiting, and community involvement), M1 employees and leaders set aside company time to tackle DEI projects and achieve goals every quarter.
Our team embodies our eight core principles and if these principles speak to you – we’d love to talk with you.
- Mission Driven: We will passionately apply ourselves to deliver immense value to our customers, knowing if they succeed, so too will the company.
- Extreme Ownership: We think and act like owners. Our focus is on building long-term value, not scoring short-term marks. We own everything in our domain, including the outcome and everything that affects it.
- Boldness: We want to do things of consequence. Make a difference. We would rather fail at something meaningful than succeed at something trivial.
- Bias for action: The best way to make progress is to act.
- Economical: Efficiency is important, and we consider both the costs and benefits of our actions.
- Team-oriented: In working together, we maintain a low ego, make everyone feel welcome, assume good intent, trust one another, and seek out different perspectives. We empower our teammates to be at their best.
- Challenged, but not overwhelmed: We are curious people who always want to grow. Growth happens outside our comfort zone. We achieve our potential through consistent, manageable growth.
- Integrity: We do the right thing. When we make mistakes, we own and correct them. We would be proud of our actions are shared with our family, friends, and strangers. Everyone can count on us to act according to our values, beliefs, and principles we state we hold. This trust must never be broken.
- Unlimited PTO
- Comprehensive health, dental, vision, disability, and life insurance
- Stock options for all employees
- Retirement benefit with employer match
- $500 to spend on home office equipment while working from home
- Stylish M1 swag
- Socially distant team outings, celebrations, and events
- Transparent and open communication
- Office in the Loop with a Game Room and Gym