Overview of the Role
We are looking for an accomplished Backend or Full Stack Software Engineer proficient in Python and Golang who has a comprehensive understanding of cloud technologies and familiarity with Amazon Web Services (AWS). The candidate should be skilled in building large-scale systems, focusing on performance, scalability, and reliability, and adept in modern software engineering practices including microservices and distributed systems.
Key Responsibilities
- Develop and scale high-performance software solutions using Python and Golang.
- Design and implement cloud-native applications in a serverless environment such as AWS Lambda or Kubernetes.
- Apply scaling principles to ensure system robustness, including load estimation, failure management, rate limiting, and quota management.
- Develop and maintain microservices architecture, considering API design and trade-offs.
- Ensure adherence to distributed systems principles, understanding CAP theorem implications on compute and data workloads.
- Collaborate with teams to architect, develop, and troubleshoot scalable and reliable solutions on AWS.
- Employ reductionist techniques for effective problem-solving and system optimization.
Ideal Attributes
- Have a passion for quality, good design, and clean code
- Bachelor’s or Master’s degree in Computer Science, Engineering, or related field.
- 5+ years of software development experience, with strong skills in Python and Golang.
- Experience with Amazon Web Services (AWS), including Lambda and Kubernetes.
- Demonstrated ability in scaling applications and understanding macroscopic time/space complexity.
- Proficiency in microservices architecture, API design, and understanding of distributed systems, including CAP theorem trade-offs.
- Experience in software lifecycle best practices, such as unit testing, static code analysis, and incremental refactoring.
- Solid understanding of troubleshooting and reductionist techniques in software development.
- Excellent communication skills and ability to work collaboratively in a team environment.