Senior Software Engineer
Company Description
M1 is a young, rapidly growing company revolutionizing personal finance. The current tools used to invest, borrow, or spend your money are woefully undershooting what’s possible -- so we have created a new generation of investment and banking tools that will entirely reinvent how people interact with their money.
Our signature product is a beautiful, one-of-a-kind, free investing platform. People can easily create and automate their investments, borrow against a flexible portfolio line of credit, and soon, use M1 as their bank -- creating a finance experience that is totally new and incredibly exciting. There has never been an easier, more convenient, or less expensive way to control all aspects of your finances.
We manage hundreds of millions of dollars and are signing up thousands of new customers each week. But we are not done! We have ambitious plans to take on an entrenched, aging industry. Join us and help build the future of personal finance.
Job Description
We are a small team of driven engineers committed to executing a clear, 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.
The backend engineering team is in charge of building, deploying, and maintaining mission critical systems that power the operation of a brokerage and a bank. The systems range in responsibility and complexity -- from login and account management to banking and trading. Overall we adopt a microservices architecture and rely heavily on the Lightbend stack (Lagom / Play! / Akka / Scala).
As a member of the backend engineering team, you’ll:
Collaborate with team members across functional areas to design and architect software solutions to real business problems, ranging from maintenance and enhancement of existing systems to greenfield projects
Make sweeping architectural decisions and deploy code to your own microservices
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
Qualifications
We are looking for a passionate individual 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.
Desired Skills and Competencies
4+ years of professional development experience
Proficiency in Scala
Familiarity with functional programming, CQRS, and event sourcing
Exposure to building and maintaining scalable and fault-tolerant distributed systems
Entrepreneurial spirit, self-motivated, growth-minded
Excellent communicator and collaborator
General knowledge of investing and personal finance or desire to learn
Additional Information
Job Perks
Unlimited PTO & personal days
Comprehensive health benefits
Stock options for all employees
Office in River North conveniently located near public transportation
This is a full-time, on-site position at our Chicago, IL headquarters (no remote). Candidates must be authorized to work in the US. Sorry, we are unable to sponsor visas at this time.
All your information will be kept confidential according to EEO guidelines.
M1 will not consider candidates submitted from third party recruiting firms.