5+ years of production software engineering experience with backend systems
Hands-on experience with Node.js and Python in production environments
Proficient in relational and non-relational databases
Strong understanding of high-traffic APIs and distributed services
Experience in making engineering decisions for reliability and performance
Ability to independently scope and drive technical projects
Excellent communication skills for both technical and nontechnical audiences
Bachelor's degree in Computer Science or related field
Responsibilities
Serve as the technical lead for core backend products from design to production
Design and enhance high-traffic APIs and microservices focusing on performance
Identify and resolve performance bottlenecks across applications and databases
Develop services for real-time data processing in collaboration with upstream teams
Create and document architecture designs, explaining tradeoffs to stakeholders
Review code and improve coding standards and testing practices
Enhance observability and automation for effective service operation
Contribute to Kubernetes optimization and cloud efficiency initiatives
Benefits
Collaborative work environment with cross-functional teams
Opportunity to take technical ownership of core products
Engagement in high-impact projects with real-time data processing
Focus on improving system reliability and performance
Access to shared tooling and advanced engineering practices
Full Job Description
Senior Backend Software Engineer
About the Team
The Software Engineering team builds and operates the backend systems that deliver Swish's data products to clients. The team's work spans high-traffic APIs and microservices, data stream processing with Kafka, developer tooling such as SDKs and CLIs, database optimization, observability, and improvements to Kubernetes workloads and cloud costs. We partner closely with infrastructure, data engineering, data science, and product teams to keep these services reliable as demand grows. We're looking for a hands-on Senior engineer who can independently take technical ownership of core backend products, drive work across team boundaries, and help the team make sound architecture and engineering decisions.
Responsibilities
Serve as the technical lead and owner for core backend products, guiding work from design through implementation and production operation
Design and improve high-traffic, client-facing APIs and microservices, with attention to latency, availability, and correctness
Identify performance and scalability bottlenecks across applications, databases, and service dependencies, and deliver improvements supported by production measurements
Develop services that process real-time and distributed data, working with upstream teams to understand dependencies and failure modes
Create and review architecture designs, documenting important tradeoffs and explaining them to technical and nontechnical partners
Review code, provide constructive feedback, and improve coding standards, testing practices, and maintainability
Improve observability and automation so engineers can detect problems, investigate incidents, and operate services effectively
Contribute to shared tooling, Kubernetes workload optimization, and cloud efficiency in partnership with the teams responsible for those systems
Requirements
Minimum of 5 years of production software engineering experience, including demonstrated technical leadership and ownership of backend systems
Hands-on production experience with Node.js and Python
Hands-on production experience with relational and non-relational databases
Strong understanding of high-traffic APIs, distributed services, and the networking and dependencies that affect their behavior
Experience making engineering decisions that improve reliability, high availability, performance, and maintainability
Ability to independently scope ambiguous technical problems, assess tradeoffs, coordinate dependencies, and drive implementation through production rollout
Strong communication skills with technical and nontechnical stakeholders
Bachelor's degree in Computer Science, Computer Engineering, Software Engineering, or equivalent relevant experience
Preferred
Production experience with Kafka or comparable stream-processing systems
Production experience with Docker and Kubernetes
Experience building and operating systems at global scale, including low-latency distributed data systems
Experience developing, deploying, and maintaining business-critical applications
Experience with observability platforms and CI/CD tooling