Senior Software Engineer, Platform
NYC or Remote
The Petal mission
At Petal, we’re using fresh thinking and cutting-edge technology to make credit honest, simple and accessible. We use machine learning to analyze more data in our credit decisions, which means more people qualify, even if they’ve never had credit before. And we use behavioral science and smart, intuitive design to offer a simple, customer-centric product that’s engineered to achieve better financial outcomes -- with straightforward terms and no fees whatsoever. The result is an exciting new approach to credit that has the potential to radically expand credit access and improve the lives of millions of consumers, shaking up a trillion dollar industry in the process.
To do this, we’re bringing together exceptional talent from across disciplines and industries to shape the future of financial services and improve the lives of our customers in a meaningful way.
Senior Software Engineer, Platform
Platform engineers lay the foundation that many of our other teams build on. This team is responsible for building scalable, reliable, correct, secure and well-tested systems and services that power our core financial infrastructure. We're looking for engineers with deep industry experience that are excited to bring fresh ideas and put them into action.
Here is our current tech stack: https://stackshare.io/petal
What You'll Do
- Lead critical projects and provide technical leadership in subject matter expertise.
- Design secure and highly reliable services to integrate with our data and credit card processing partners and perform quantitative financial computations.
- Architect, build, and ship libraries, functions, and services which will be used by other engineering teams at Petal.
- Own and drive cross-team engineering initiatives around technology, architecture, coding patterns, observability, testability, and more.
- Collaborate with product managers, tech leads and other engineers to build our financial infrastructure
- Act as a bar raiser by mentoring and coaching more junior engineers.
- Bring positive energy to every meeting and make your colleagues feel included and heard.
What You’ll Need
- A customer-centric attitude and a true and honest desire to serve our customers first and above everything else. Everything we design, build, maintain ultimately serves our greater goal of making credit simple and accessible for everyone.
- Demonstrated expertise with Python or alternatively with one or more of languages like Java/Scala/C#/C++/Go/Ruby or similar.
- 5+ years of experience - or equivalent proficiency - in designing, developing, testing, shipping, and scaling service-oriented/distributed applications or systems.
- Ability to dive deep into at least one SQL-based RDBMS solution by designing schemas, optimizing performance, executing flawless migrations.
- Willingness to dive deep into our current tech stack which includes Python, Flask, Postgres, Redis, Celery, Docker, Lambdas, Jenkins, and more.
- Strong ability to trace, debug, identify root causes of issues in a complex application flow, or a distributed transaction, and efficiently design, communicate, and implement elegant and resilient solutions for those problems.
- Strong sense of engineering pragmatism by being able to weigh technical debt against risk and business value when making daily decisions on how much or little to engineer a given feature or solution.
- Passionate and meticulous about coding style, patterns, consistency, readability, performance, simplicity, and concisely-worded documentation.
- Fluency and proactivity in team code reviews of any size with a critical eye for spotting issues and improvement opportunities from the lowest to the highest level.
- Impeccable ability to dive into a requirement’s details, no matter how ambiguous, taking apart a problem case by case, and asking the right questions to fill in any missing details or provide clarity around its value proposition and alignment.
- A humble thought leader and strong team-player, willing to pair, share, collaborate, assist, coach, and empathize with your teammates.
- A great listener that doesn’t hesitate to speak up in order to ask questions and/or provide constructive feedback.
- Proactive -- unassuming that someone is doing something about a problem that is visible to you. As a small company you are encouraged and recognized when communicating issues and taking the initiative to correct problems.
- Courage to create -- never shy away from thinking creatively, no matter how small or big your idea is. We love hackers and a lot of our features and systems would not exist today if it weren’t for engineers taking initiative and finding alignment to build and deploy their dream solutions.
- Strong CS fundamentals and system design patterns.
- Experience with modern CI/CD pipelines.
- Experience with cloud infrastructure and distributed architecture patterns.
- Experience with functional programming principles and immutable patterns.
- Experience with container orchestration.
- Experience mentoring engineers and holding technical presentations.
- Experience with financial services and/or quantitative engineering.
- Contributions to open source projects.
- A strong github portfolio showcasing your coding capabilities and creativity.