Senior Software Engineer (Backend) - DPI
About this position
Responsibilities
• Translate our product’s goals into iterative MVPs, evaluate, and then refactor into a scalable and extensible design
• Pair with team members on functional and nonfunctional requirements and spread design philosophy, goals and improvements to code quality across the team
• Design and develop highly scalable, highly available, reliable, secure and fault-tolerant systems with minimal guidance
• Collaborate with cross-functional teams (Data Science, Product, DevOps, UX, Data Engineering, QA, etc) on planning and execution
• Manage automated build/test/deployment environments
• Continuously discover, evaluate, and implement new technologies to maximize development
• Deploy, monitor, maintain, and fix products currently in production
Requirements
• Proven experience in delivering solutions for complex technical challenges with a strong commitment to timely and effective delivery
• At least 5+ years of relevant software development experience in designing, developing, testing, and deploying applications for large-scale applications
• Deep understanding of Microservices (HTTP & GRPC), and programming languages like Clojure, Golang, Java (and a willingness to learn others)
• Experience with Kafka, Postgresql, Kubernetes is expected (and a willingness to learn others)
• Proficiency in OOP, SQL, and Design Patterns; experience with functional programming is a plus
• Strong data modeling experience in Relational and NoSQL databases
• Ability to implement Continuous Integration and Continuous Delivery; well-versed with Agile methodologies, TDD and Test Engineering and Automation
• Ability to design and implement low-latency RESTful/GRPC services