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.
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.
- 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.