Aampe is hiring a software engineer.
Our mission is to help mobile apps treat their users like people instead of like users. We repurpose push notifications to learn user preferences and then to give the people what they want, when they want it. We wrote a storybook to explain how we make the magic happen. We have to orchestrate a lot of moving, changing parts (data ingestion and processing, ML models, message triggering, user experience, etc.).
Log in to our Composer tool (sign up using a Google account or shoot an email to email@example.com for an invite code) to get a glimpse of what this looks like.
We are a fully-remote startup, managing personalized notifications for over 45 million app users (and that number is quickly growing). We don’t think you should have to sacrifice yourself or your family to work for a startup: the salaries we pay are market rates, offer generous benefits, and expect 40 hours of dedicated, strong, focused work each week. As a team and a culture, we do everything we can to make sure our lives and our work energize one another rather than compete with one another.
About the position:
In general, we value efficiency and attention to detail (who doesn’t?), but we really value frankness and proactivity. We’re looking for people who quickly develop strong opinions, and who back up those opinions with both words and actions, but who also easily re-evaluate when faced with new needs or new information.
Specifically for the software engineer position, we need people to design, implement, and operate backend services and complex data processing pipelines. This means you’ll analyze raw data, plan and scope software systems for processing and exposing this data, and work with data scientists to design ML algorithms that you will then develop to production-grade software. You will also working closely with customers to be able to pipeline their data into our systems. We’re looking for someone who can confidently own this role - you’ll create most of the tasks you take on, rather than having them assigned to you.
One of the first things you will work on is building a software system that aggregates customer event data into end-user attributes. You will scope the work, define the interfaces exposing those attributes and then go on to building a robust service that will be used by Aampe's core algorithm.
About you (we hope!):
We’ll expect you to have pretty extensive experience with software design and development, data processing methodologies and frameworks, especially as it concerns the processing of large amounts of data. We’ll expect you to design backend services for data processing that integrate with the various components in the Aampe architecture and expose APIs for data consumption for Aampe's customers. You will write code that is clean and maintainable (we work primarily in Python and use SQL a whole lot). If you have experience with Apache Beam and/or Apache Airflow, we’d be excited about that. If we had to say how much experience we expect a successful candidate for this position to have, we’d guesstimate around five years, but if you have less than that but can make the case for why you’re a good fit, we’re happy to listen.
We’ll expect you to enjoy working closely (albeit usually virtually) with others - particularly with data scientists and full-stack engineers - and to have learning at the top of your priority list. Our company, our product, and our team are all evolving quickly - so all of us need to be flexible in our work but also in our thinking, so we can adapt as our opportunities change.
If you’re interested, write to us at firstname.lastname@example.org to tell us why you’re interested. Any questions about the role can be directed to Sami Abboud at email@example.com. Sami’s a nice guy. You’ll like him.
A summary of the above in bullets
Mission for a software engineer
Design, implement & operate backend services and complex data processing pipelines
What should you expect to do?
This role fits software engineers who: