Senior Software Development Engineer, EC2 VPC
DESCRIPTION
The primary location for this position is San Diego, CA.
Do you want to shape the future of virtualized (SDN) networking in the world’s biggest public cloud?
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 firewalling (security groups), billing and monitoring as we touch every single packet on every single host across our massive worldwide fleet. 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 i.e. true Software Defined Networking (SDN).
We are growing fast, and are looking for kernel/embedded C leaders who can deliver ultra high performance - our goal is to be processing millions of packets per second on a CPU core. This requires both being able to implement highly optimized data structures, but also low level (including by hand assembly and vectorizing) 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 at day one of building the platform which is the basis for all new EC2 VPC features in the years to come.
Your responsibilities will include:
- Being the lead 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
10017
About the team
Our team values work-life balance. Striking a healthy balance between your personal and professional life is crucial to your happiness and success here.
Our team is dedicated to supporting new team members. Our team has a broad mix of experience levels and Amazon tenures, and we foster an environment that celebrates knowledge sharing. 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 you develop into a well-rounded engineer.
BASIC QUALIFICATIONS
- 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
- 1+ years experience in leading a team in terms of architecture, mentoring and pushing best software development practices
- Bachelor's degree in Computer Science or equivalent
- Experience developing in C or C++
PREFERRED QUALIFICATIONS
- 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
- Effective verbal and written communication skills
- Proficiency in design and analysis of algorithms and data structures
- Linux operating system knowledge + development experience
- In-depth knowledge of TCP/IP
- Kernel or embedded development, particularly Linux kernel
- 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
- Experience influencing software engineers best practices within your team
- Scripting (Ruby/Python)
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.
Our inclusive culture empowers Amazonians to deliver the best results for our customers. If you have a disability and need a workplace accommodation or adjustment during the application and hiring process, including support for the interview or onboarding process, please visit https://amazon.jobs/content/en/how-we-hire/accommodations for more information. If the country/region you’re applying in isn’t listed, please contact your Recruiting Partner.
Our compensation reflects the cost of labor across several US geographic markets. The base pay for this position ranges from $151,300/year in our lowest geographic market up to $261,500/year in our highest geographic market. Pay is based on a number of factors including market location and may vary depending on job-related knowledge, skills, and experience. Amazon is a total compensation company. Dependent on the position offered, equity, sign-on payments, and other forms of compensation may be provided as part of a total compensation package, in addition to a full range of medical, financial, and/or other benefits. For more information, please visit https://www.aboutamazon.com/workplace/employee-benefits. This position will remain posted until filled. Applicants should apply via our internal or external career site.