Senior Software Development Engineer
- Seattle, WA
Do you want to shape the future of virtualized (SDN) networking in one of the world's biggest public clouds?
The Amazon Elastic Compute Cloud (EC2) VPC Packet Pipeline team owns the packet pipeline that runs right beneath all our customer's EC2 VPC instances, adding features like firewalls (security groups), routing, billing and monitoring as we touch every single packet on every single host across our worldwide fleet in more than 20 regions. Our vision is to combine the performance of bare metal networking while maintaining all the benefits of the cloud, including delivering features not possible on bare metal leading to true Software Defined Networking (SDN).
We are growing fast, and are looking for kernel/embedded C programmers who can deliver ultra-high performance - our goal is to be processing many millions of packets per second on embedded CPU cores. This requires both being able to implement highly optimized data structures, but also low level tuning to our hardware. If you have good experience in C/C++, and a passion for systems software engineering such as kernel or embedded development, then this is a unique opportunity to join us in building the platform which is the basis for all new EC2 VPC features in the years to come.
You can have an immediate impact for all of our customers including internal customers such as AWS Lambda, and external customers that run on Amazon EC2 as we deploy new features and updates regularly and often.
With the extensive network and access to Principal, Sr. Principal and Distinguished Engineers across EC2, AWS and Amazon, there are many stretch opportunities to grow your skills and knowledge.
Your responsibilities will include:
• Being an engineer on a small team, mentoring junior engineers, ensuring the right development practices are followed.
• Be very hands-on; work with the engineering team to manage the day-to-day development activities by leading architecture decisions, participating in designs, design review, code review, and implementation.
• Maintain current technical knowledge to support rapidly changing technology, always on a look out for new technologies and work with management and development team in bringing new technologies.
• Communicating with users, other technical teams, and senior management to collect requirements, describe software product features, technical designs, and product strategy
Here at AWS, we embrace our differences. We are committed to furthering our culture of inclusion. We have ten employee-led affinity groups, reaching 40,000 employees in over 190 chapters globally. We have innovative benefit offerings, and host annual and ongoing learning experiences, including our Conversations on Race and Ethnicity (CORE) and AmazeCon (gender diversity) conferences. Amazon's culture of inclusion is reinforced within our 14 Leadership Principles, which remind team members to seek diverse perspectives, learn and be curious, and earn trust.
Our team also puts a high value on work-life balance. Striking a healthy balance between your personal and professional life is crucial to your happiness and success here, which is why we aren't focused on how many hours you spend at work or online. Instead, we're happy to offer a flexible schedule so you can have a more productive and well-balanced lifeboth in and outside of work.
Our team is dedicated to supporting new team members. Our team has a broad mix of experience levels and Amazon tenures, and we're building an environment that celebrates knowledge sharing and mentorship. Our senior engineers truly enjoy mentoring more junior engineers and engineers from non-traditional backgrounds through one-on-one mentoring and thorough, but kind, code reviews. We care about your career growth. We try to assign projects and tasks based on what will help each team member develop into a better-rounded engineer and enable them to take on more complex tasks in the future.
Amazon is committed to a diverse and inclusive workplace. Amazon is an equal opportunity employer and does not discriminate on the basis of race, national origin, gender, gender identity, sexual orientation, protected veteran status, disability, age, or other legally protected status. For individuals with disabilities who would like to request an accommodation, please visit https://www.amazon.jobs/en/disability/us.
• 4+ years of professional software development experience
• 3+ years of programming experience with at least one modern language such as Java, C++, or C# including object-oriented design
• 2+ years of experience contributing to the architecture and design (architecture, design patterns, reliability and scaling) of new and current systems
• Proficiency in design and analysis of algorithms and data structures
• Linux operating system knowledge
• In-depth knowledge of TCP/IP
• Kernel or embedded development, particularly Linux kernel
• Scripting (Ruby/Python)
• Strong knowledge of Computer Science fundamentals in object-oriented design, data structures, algorithm design, problem solving, and complexity analysis
• Knowledge of, at least, one modern programming language such as C, C++, Java, or Perl
• Experience developing complex software systems that have been successfully delivered to customers
• Knowledge of professional software engineering practices & best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations
• Ability to take a project from scoping requirements through actual launch of the project
• Experience in communicating with users, other technical teams, and management to collect requirements, describe software product features, and technical designs
• Experiencing mentoring junior software development engineers and driving engineering excellence
• Meets/exceeds Amazon's leadership principles requirements for this role
• Meets/exceeds Amazon's functional/technical depth and complexity for this role
Back to top