Software Engineer - Platform
Plaid
Responsibilities:
- Design & Develop Scalable Systems: Build and maintain core platform services with a focus on performance, reliability, and scalability. You will create and evolve distributed backend systems that serve as the bedrock for products used by millions of users.
- Infrastructure & Data Platforms: Develop and improve infrastructure for data storage and processing – for example, high-performance databases and modern data processing frameworks – to handle Plaid’s growing data and product needs. Ensure our data infrastructure is robust and can scale effectively.
- Developer Productivity Tools: Create internal tools, frameworks, and automation to improve developer productivity and efficiency. This includes building CI/CD pipelines, observability and monitoring systems, and self-service infrastructure platforms that enable teams to ship code quickly and safely.
- Security & Privacy by Design: Integrate security, privacy, and compliance best practices into our platforms (e.g. data encryption, access controls, audit logging) to protect sensitive financial data. Work closely with Security and Privacy teams to ensure our infrastructure and internal services meet high standards for data protection and regulatory compliance.
- Cross-Team Collaboration: Work hand-in-hand with product engineers and other stakeholders to understand requirements and translate them into reliable platform capabilities. Facilitate smooth integration of platform solutions into various products, and coordinate across teams to resolve issues and deliver new features efficiently.
- Technical Excellence & Leadership: Uphold high engineering standards through code reviews, testing, and documentation. Take initiative in setting technical direction and architecture for platform systems, and mentor junior engineers to help grow their skills. You will lead by example in driving best practices and continuously improving the quality of our engineering solutions.
Qualifications:
- Experience: 2 to 4 years of software engineering experience, with a proven track record of building and shipping complex backend systems or platforms. Experience designing and scaling distributed systems is highly desired.
- Strong Coding Skills: Proficiency in at least one general-purpose programming language (e.g. Go, Python, Java, C++). Our core services are built largely in Go, so experience with Go is a plus. You write clean, efficient, and maintainable code and have solid computer science fundamentals.
- Distributed Systems & Problem Solving: Deep understanding of system design and algorithms. Hands-on experience with designing, building, and operating distributed systems or microservices architectures at scale. Ability to debug complex issues in a production environment and optimize system performance and reliability.
- Data and Databases: Familiarity with relational and NoSQL database technologies (for example, MySQL/TiDB, PostgreSQL, MongoDB) and data storage architectures. Experience building data pipelines or working with big data processing frameworks (Spark, Databricks, etc.) is a plus.
- Collaboration & Communication: Excellent communication and teamwork skills, with the ability to work effectively in a cross-functional environment. You can collaborate closely with other engineers, product managers, and stakeholders, and you’re able to explain complex technical concepts in simple terms when needed.