Do you love interpreters, compilers and ASTs? Spiff is looking for an engineer to join our commission engine team which implements a functional language responsible for calculating compensation for 10’s of thousands of employees around the world.
Our core engine is implmented in Elixir and utilizes some native extensions for performance in key areas. We’re building a hosted language that allows finance and accounting professionals use their spreadsheet experience to build automated workflows that scale to their full production dataset.
My name: Michael Ries
My position: CTO
Company name: Spiff, Inc
Company website: https://spiff.com/
Company headquarters (country): US
Company info and history (how you’re using Elixir etc): We’re a 6 year old startup that is building a SaaS product allowing our customers to design commission plans that get automatically calculated for all of their employees. We’re using Erlang distribution to coordinate work across hundreds of CPUs and implementing an interpreted functional language that our customers use.
About the job
Job title: Senior Software Engineer, Commission Engine
Job description: Write and maintain software in Elixir including unit tests, functional tests and application code. Review and collaborate with a team of other engineers to implement optimizations and new functionality that decrease the learning curve for new users and provide increasing scalability.
Salary range: Depends on the location of hire and prior experience
Qualifications or experience required:
- 8+ years of experience in software engineering.
- Strong communication skills.
- Performance oriented engineering mindset.
- Functional programming experience.
- Benchmark and metric analysis experience.
Position on remote work
Remote job: yes
Remote restrictions: US, Canada, Mexico, Chile, Argentina, Brazil
Remote leeway: There is some leeway if you have specific experience in this area and are willing to work regular hours centered around the US timezones.
About the interview process
You’ll meet with the hiring manager right away and based on that first call, we’ll set up additional calls with other members of the team who will have more technical/detailed conversations about how your experience can be applied to our projects. You can also join some team meetings during the interview process to see how the overall team operates and hear about the kinds of projects and challenges we’re working on.