Software Development Engineer, Linux WorkSpaces
DESCRIPTION
As part of the AWS Solutions organization, we have a vision to provide business applications, leveraging Amazon’s unique experience and expertise, that are used by millions of companies worldwide to manage day-to-day operations. We will accomplish this by accelerating our customers’ businesses through delivery of intuitive and differentiated technology solutions that solve enduring business challenges. We blend vision with curiosity and Amazon’s real-world experience to build opinionated, turnkey solutions. Where customers prefer to buy over build, we become their trusted partner with solutions that are no-brainers to buy and easy to use.
Amazon WorkSpaces is leading the virtual desktop revolution and we are looking for a Software Engineer to join our Bellevue team to help develop our Linux virtual desktop offerings. Come help us build the future for Linux virtual desktops!
The Mission:
We built WorkSpaces to give companies the agility to respond to the changing needs of their workforce. Our mission is to be the best place in the world for customers to run and access their desktops and applications, from any device. WorkSpaces is growing fast and we’re working on new ideas and inventions to further this mission.
The Product:
Would you like the opportunity to be a part of a team that is solving a huge customer need by providing desktop-as-a-service (DaaS) solutions that empower enterprises to simplify their IT administration, lower their operational costs, and improve their security posture? Are you passionate about security and interested in building secure solutions for your customers? Are you interested in diving deep with Linux? If you are, then you are in luck as WorkSpaces is hiring for our Linux team to help build and launch the next generation of our DaaS Linux product offerings.
Our customers love the technology due to its ease of use and the speed at which it allows provisioning new WorkSpaces. By integrating with WorkSpaces, one such customer reduced their virtual desktop provisioning from days down to one hour compared to their prior on premises virtual desktop infrastructure (VDI) solution. This is not uncommon. Additionally, customers highlight the benefits of the data staying securely in the cloud rather than being downloaded to end user’s local devices, where the data is at higher risk of compromise due to lost or stolen devices.
Dive into the WorkSpaces product (https://aws.amazon.com/workspaces-family/workspaces/) further on the AWS website!
The Role:
Come join an inclusive, innovative, and collaborative engineering team that values diverse perspectives while building and shaping solutions that delight our customers. We own the end to end experience of the WorkSpaces Linux virtual desktop offerings.
As a software development engineer on the team, you will build, design, and test on-device agents that run in the WorkSpaces as well as automate the surrounding deployment infrastructure. You will independently own the project lifecycle starting with the technical design all the way through rollout and launch, seeking feedback from senior engineers as necessary. You will leverage your background in Linux to make thoughtful architectural decisions and raise tradeoffs to your team when the path forward is unclear or likely to be contentious. You will develop your skills and knowledge on technologies such as Linux package management, native Linux desktop application development, and the Linux operating system as well as building systems leveraging AWS cloud services to support the Linux business. In the process you will have the opportunity to work with a number of industry leading AWS services and peers and collaborate closely with your cross-functional team and senior software engineers.
If you are not sure that every qualification on the list describes you exactly, we'd still love to hear from you! In AWS, we value people with unique backgrounds, experiences, and skillsets. If you’re passionate about this role and want to make an impact on a global scale, please apply!
We are excited to work with you! Come build the future of Linux virtual desktops with us!
Key job responsibilities
- Collaborate with teammates to identify and solve technical problems.
- Work with engineers and product managers to help design what we build for customers
- Design, develop, test, and deploy reliable software using Python, Bash, Go, and AWS technologies with clean, maintainable code.
- Mentor and grow junior team members.
- Participate in code reviews by providing feedback on your team members’ code.
- Be curious and deep-dive into Linux to root cause defects and optimize for performance, maintainability, scalability, and extensibility.
- Propose tools, frameworks, automation, and processes that are used by the whole team for development.
A day in the life
- You wake up and either get on the Amazon shuttle or use your free Amazon provided bus pass to commute to the office in the morning, though if you have an early meeting (8 am) you sometimes choose to take it from home, and then commute into the office later.
- Once you arrive, you grab a drink from the lobby. Today you choose cold brew, but your office also has free drip coffee, espresso, kombucha, and tea.
- Now that you are well caffeinated, you are ready to start your day. You get into the office and say hello to your coworkers before sitting down at your desk.
- You check your slack messages and emails to make sure there isn’t anything urgent. Product has a question regarding implementation details on your current project so you decide to resolve the discussion in person since you think that will be faster. You get up from your seat and look over the dividers in the aisle to begin the discussion and are able to resolve it in five mins. (If this was not an in-office day, you would have just as easily spun up a quick Chime call or Slack huddle.)
- After that, you join the team’s daily “sync up” to discuss progress from the prior day, what you are working on today, and any help needed.
- You then have an uninterrupted two-hour block for coding till your next meeting. You finish this block feeling super productive.
- You then sit down to have lunch in the office cafeteria with some of your team members and your partner team members. Every other Tuesday though you instead join the official team lunch and joke around with your team members.
- After lunch, you need some help with the build system and post in the team slack room. The team quickly jumps in, and you get unblocked within 10 minutes. You’re happy that your team is responsive and collaborative.
- You then join a meeting with Product to discuss a new feature you are building. You both collaborate on a solution that you think will be best for your customers. You take notes and send out the action items after the meeting.
- You spend a few more hours coding and then realize its already 3 pm. You remember that your child has an appointment at 4:30 pm, so you head home to pick them up from day care, letting the team know you will make up the hours later in the night or early tomorrow morning since you didn’t want to use vacation/personal time.
About the team
Our team’s charter is to provide the best in class Linux virtual desktops for customers to run their applications. We do this by constantly improving our existing offerings and by finding new ways to innovate for our customers, both through collaboration and team brainstorming as well as engaging our customers directly.
Our tech stack is a mix of and Bash and Python scripts for configuring the WorkSpaces, an agent written in Go, and various AWS services used for deploying our software onto the WorkSpaces. We currently support Linux WorkSpaces running Red Hat Enterprise Linux 8, Ubuntu 22.04, and Amazon Linux 2 and are looking to expand our offerings. If you are looking to expand your Linux knowledge, this team is an excellent team to grow with!
Why AWS
Amazon Web Services (AWS) is the world’s most comprehensive and broadly adopted cloud platform. We pioneered cloud computing and never stopped innovating — that’s why customers from the most successful startups to Global 500 companies trust our robust suite of products and services to power their businesses.
Diverse Experiences - Amazon values diverse experiences. Even if you do not meet all of the preferred qualifications and skills listed in the job description, we encourage candidates to apply. If your career is just starting, hasn’t followed a traditional path, or includes alternative experiences, don’t let it stop you from applying.
Work/Life Balance - We value work-life harmony. Achieving success at work should never come at the expense of sacrifices at home, which is why we strive for flexibility as part of our working culture. When we feel supported in the workplace and at home, there’s nothing we can’t achieve in the cloud.
Inclusive Team Culture - Here at AWS, it’s in our nature to learn and be curious. Our employee-led affinity groups foster a culture of inclusion that empower us to be proud of our differences. Ongoing events and learning experiences, including our Conversations on Race and Ethnicity (CORE) and AmazeCon (gender diversity) conferences, inspire us to never stop embracing our uniqueness.
Mentorship and Career Growth - We’re continuously raising our performance bar as we strive to become Earth’s Best Employer. That’s why you’ll find endless knowledge-sharing, mentorship and other career-advancing resources here to help you develop into a better-rounded professional.
BASIC QUALIFICATIONS
- 3+ years of non-internship professional software development experience
- 2+ years of non-internship design or architecture (design patterns, reliability and scaling) of new and existing systems experience
- Experience programming with at least one software programming language
- Ability to work on a diverse team
PREFERRED QUALIFICATIONS
- 3+ years of full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations experience
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 $129,300/year in our lowest geographic market up to $223,600/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.