Finding the best job has never been easier
Share
DynamoDB engineers say DynamoDB is a technically challenging space that requires unique and innovative solutions. As a member of this team, you will solve the hardest challenges in distributed systems. You will help lead an amazing team of intelligent individuals to deliver results that make our customers' experience even better. You will interact with senior SDEs and principal engineers, and they will help you take your design and architectural skills to the next level.Our systems must remain highly available, scalable, and efficient. We can't get away with two out of three. You will design systems that adhere to these tenets and mentor junior engineers to do the same. You will be a thoughtful steward of existing systems, appropriately challenging assumptions and rearchitecting systems when necessary to allow us to scale for growth.
Key job responsibilitiesIdentifying technical requirements based on business goals and product direction, and translating those requirements into detailed architecture and design.Delivering quality projects and features on time and on budget.Participating in the full lifecycle of day-to-day development activities, including prioritization, task breakdowns, writing design documents, design and code reviews, implementation, deployment, and operations.Performing data analysis to identify opportunities to optimize our services.Mentorship & Career Growth
Key job responsibilities
You solve difficult problems, applying appropriate technologies and best practices.You are proficient in a broad range of design approaches and know when it is appropriate to use them (and when it is not). Your solutions are pragmatic.
You consider the legacy of the code you produce and write code that an SDE unfamiliar with the system can understand.
You limit the use of short-term workarounds. You do things with the proper level of complexity the first time (or at least minimize incidental complexity).
You create flexible software without over-engineering. You make appropriate trade-offs, re-use where possible, and are judicious about introducing dependencies.
You are efficient with resource usage (e.g., system hardware, database, memory/CPU, etc.)
- 5+ years of non-internship professional software development experience
- 5+ years of programming with at least one software programming language experience
- 5+ years of leading design or architecture (design patterns, reliability and scaling) of new and existing systems experience
- Experience as a mentor, tech lead or leading an engineering team
- 5+ years of full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations experience
- Bachelor's degree in computer science or equivalent
These jobs might be a good fit