THINGS OF IOT

Close
Posted On Jun 19

Software Development Engineer, AWS IoT Greengrass

Amazon

Location : US, WA, Seattle

Hiring Mode : Full Time

Hiring Role : Developer

Experience : Mid Level

AWS IoT Greengrass is at the nexus of the next wave of innovation in IoT technology that spans across industrial, commercial and consumer spaces. If you are fascinated by the endless possibilities unlocked when bringing the different programming model to the edge, innovating on data solutions that can be built on the edge and more, this might be the right team for you!

AWS IoT Greengrass offers an open-source Internet of Things (IoT) edge runtime, a set of pre-build device software and various cloud services that helps you build, deploy and manage IoT applications on millions of devices. Customers can use AWS IoT Greengrass to build software that enables devices to act locally on the data that they generate, run predictions based on machine learning models, and filter and aggregate device data.

*The Role*

As an SDE in AWS IoT Greengrass, you’ll have the opportunity to build tools and services for managing the device lab (Raspberry Pi, Nvidia Jetson, and other devices). You’ll work cross team to develop E2E testing solutions that enable Greengrass software to be tested at scale.

*About Us*

*Inclusive Team Culture*
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.

*Work/Life Balance*
Our team puts a high value on work-live balance. It isn’t about how many hours you spend at home or at work; it’s about the flow you establish that brings energy to both parts of your life. We believe striking the right balance between your personal and professional life is critical to life-long happiness and fulfillment. We offer flexibility in working hours and encourage you to find your own balance between your work and personal lives.
This position involves on-call responsibilities, typically for one week every two months. We don’t like getting paged in the middle of the night or on the weekend, so we work to ensure that our systems are fault tolerant. When we do get paged, we work together to resolve the root cause so that we don’t get paged for the same issue twice.

*Mentorship & Career Growth*
Our team is dedicated to supporting new members. We have a broad mix of experience levels and tenures, and we’re building an environment that celebrates knowledge sharing and mentorship. Our senior members enjoy one-on-one mentoring and thorough, but kind, code reviews. We care about your career growth and strive to assign projects 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.


Key job responsibilities

  • Work on project ideas with customers, stakeholders, and peers in different roles in a collaborative and respectful way. Be customer obsessed and work backwards from real customer uses cases.
  • Design, implement, deliver and maintain high quality open source device software that are reliable, flexible and extensible.
  • Focus on operational and engineering excellence. Be proactive in identifying problems, proposing solutions, and taking actions to make things better.
  • Help train new team members, recruit and interview for the team.

A day in the life
  • Understand and disambiguate customer use cases, breakdown problems and propose technical solutions. Collaborate with colleges to review the design and scope the work needs to be done.
  • Design and implement high quality software that solve customer issues. Build prototype quickly and adjust the solution in response to customer feedback.
  • Maintain existing software and address customer issues with timely response.
  • Propose new ideas to peers or leadership to improve team’s process or other areas that can be done better.

BASIC QUALIFICATIONS

  • 1+ years of experience contributing to the system design or architecture (architecture, design patterns, reliability and scaling) of new and current systems.
  • 2+ years of non-internship professional software development experience
  • Programming experience with at least one software programming language.

PREFERRED QUALIFICATIONS

  • Experience with setting up CI/CD (Continuous Integration and Continuous Deployment) pipelines.
  • Prior experience with JUnit, and Cucumber.
  • Experience with IsaaC (Infrastructure as a code), like CloudFormation or Terraform
  • Knowledge of AWS technologies (DynamoDB, S3, Kinesis, ECS, Lambda, CodeDeploy, CDK, etc).
  • Experience running end to end tests on devices ( Raspberry Pi, Nvidia Jetson).
  • Experience building OS images, Yocto, OpenWRT.
  • Experiences contributing to open source projects.