Summary
Join Shippo, the shipping layer of the internet, as a Principal Software Engineer! Lead the decomposition of a large monolithic application into microservices, implementing best practices for testing, observability, and developer experience. You will collaborate with cross-functional teams, mentor engineers, and stay updated on industry trends. This crucial role drives software modernization and optimization. The ideal candidate possesses 10+ years of software development experience, expertise in monolithic application decomposition, and strong leadership skills. Shippo offers a competitive salary ($175k-$238k), equity, and comprehensive benefits.
Requirements
- 10+ years of experience in software development
- Experience in decomposing a monolithic application into service oriented architecture
- Extensive experience working in a complex environment on decomposing monolithic applications
- Strong proficiency in software design principles, architecture patterns, and system decomposition strategies
- Demonstrated expertise in testing methodologies, including test automation, test-driven development, and continuous integration/continuous deployment
- Deep understanding of observability tools, monitoring systems, and logging frameworks
- Excellent communication and collaboration skills to work effectively with diverse teams and stakeholders
- Proven track record of implementing best practices and driving software modernization initiatives
- Strong leadership skills with the ability to mentor team members and influence technical decisions
- BS or MS degree in Computer Science or equivalent experience
Responsibilities
- Lead the decomposition of a monolithic application into microservices or smaller components, optimizing for scalability and flexibility
- Drive the adoption of best practices for testing, including unit testing, integration testing, and automated testing to ensure high code quality and reliability
- Implement strategies for observability, monitoring, and logging to enable efficient troubleshooting, performance optimization, and proactive issue identification
- Collaborate with cross-functional teams to enhance the developer experience through streamlined processes, development tools, and documentation
- Up-skill and guide a team of engineers in software design principles, best practices, and modern architectures
- Stay updated on industry trends, emerging technologies, and best practices to continuously improve the software development lifecycle
Preferred Qualifications
- Prior experience working or interacting with shipping and/or postal carriers
- Experience integrating with APIs that use SOAP and/or gRPC protocols
- Experience with Django and/or FastAPI.Experience using Python and/or Golang in production at scale
- Interest and experience in performance tuning, concurrency, microservices, security, and data analytics
- Experience with messaging systems such as NSQ, Kafka, SQS and Celery
- Experience with DevOps tooling such as Docker, Terraform, Kubernetes, CircleCI, GitHub Actions, ArgoCD, New Relic, PagerDuty, etc
- Experience with AWS/Cloud services such as EC2, S3, DynamoDB, Lambda, Route 53, Cloud Formation, Cloudflare, Elastic Beanstalk, IAM, etc
Benefits
- Equity
- Medical
- Dental
- Vision
- Remote work