Delivers complete solutions spanning all phases of the Software Development Lifecycle (SDLC) (design, implementation, testing, delivery and operations), based on definitions from more senior roles. Advises immediate management on project-level issues Guides junior engineers Operates with little day-to-day supervision, making technical decisions based on knowledge of internal conventions and industry best practices Applies knowledge of technical best practices in making decisions Key voice in team level processes (e.g., code & design review) Oversees projects, ensuring an accurate, complete, and operable solution is delivered, working with management as needed to fill gaps Collaborates with product managers to understand & refine requirements Serves as an expert to resolve technical inquiries of other employees Follows well established internal conventions and standard procedures Shares software development processes and standards with junior peers Leverages awareness of industry peer solutions to inform and validate technical decisions Anticipates consequences of implementation choices on future development and optimizes accordingly Contributes to code & design Own the performance and availability of the services as well as participate in on call rotations and provide support during incidences. Has an appetite to learn and contribute to complex projects alongside your colleagues. 3+ years relevant experience and a Bachelor's degree OR Any equivalent combination of education and experience. Bachelor's and/or Masters in computer science, or a related field of study, or equivalent experience 5 plus years' experience with Python or equivalent high-level programming language Advanced skills with RDBMS and NoSQL data stores, caching solutions (e.g. Redis, ElastiCache, Hazelcast) and messaging/queuing protocols/systems such as SQS/Kafka/RabbitMQ/Pulsar + years' experience operating distributed applications 24x7x365 Deep hands-on experience with designing and implementing infrastructure to support global-scale services Hands-on experience with IaaS and PaaS solutions from AWS (or similar cloud provider): Infrastructure as code (AWS CLI, AWS CloudFormation, Terraform, Ansible, GHA, Puppet) Hands-on programming and scripting (Lambda, API GW, Python, Java, Bash) Hands-on experience with database operations: AWS DynamoDB, AWS DocumentDB, Cassandra, MySQL, AWS Aurora, Redis, ElasticSearch Experience mentoring and developing engineers Strong communication skills with the ability to understand and explain technical issues AWS Solutions Architect preferred Competency in comparing the qualities of multiple implementation choices, including nonfunctional characteristics. Understands runtime environment concepts (e.g Linux OS, Java Virtual Machine, python runtime) and behavior and can incorporate to predict performance characteristics of implementation choices. Experience with distributed services and backend systems Experience with building services on public cloud - preferably AWS. Alternatives, GCP, Azure Experience in managing infrastructure as code using Terraform Experience working with fault-tolerant and scalable distributed services and systems.
Stand Out From the Crowd
Upload your resume and get instant feedback on how well it matches this job.
Job Type
Full-time
Career Level
Mid Level