San Diego, CA, US
10 days ago
Software Development Engineer, VPC
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 Dataplane 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 30 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 continue to grow, and are looking for kernel/embedded C programmers who can deliver ultra-high performance for our EC2 customers - 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 software 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.

This role requires experience working with embedded systems, mostly C code with a focus on optimizing for constrained CPU memory.

Key job responsibilities
- 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

About the team
Our team 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.
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.
Confirm your E-mail: Send Email