Staff Software Engineer

Mountain View, CA /
Engineering – Technology /
Full-Time
Did your things make you go “wow” today? At SmartThings, we are dedicated to making every home a Smart Home - and as the IoT platform of Samsung, with millions of users and connected devices, we are well on our way. We strive to create an easy-to-use, secure, and above all intelligent IoT solution for the home that delights our customers. Our fun, intelligent, and creative teams need your help to make our things a little more connected, and a lot smarter.

The SmartThings Cloud Team is a group of smart and highly motivated people who are developing the platform that onboards and manages the different types of IoT devices in the ever expanding SmartThings ecosystem. We're highly invested in distributed systems, APIs, micro services, big data, high availability, monitoring everything, containers, continuous delivery, test automation, tooling, and security. 
Our group works in an extremely fast-paced environment with high expectations of our engineers.  We value ownership, smart risk-taking, innovation, collaboration. We live a culture of engagement, mutual trust, effective communication, and overall enthusiasm. 

Responsibilities:

    • Influence a 4-6 member back-end engineering team, responsible for multiple back-end micro services. 
    • Design and implement microservices to enable third party developers and device manufacturers to publish their devices on the SmartThings platform
    • Implement all aspects of production-level enterprise services - CI/CD, testing, monitoring, scaling, resiliency, security, etc
    • Recommend and implement architectural designs for new systems and to bring current systems to the next level
    • Become an expert on the back-end systems and processes that drive the SmartThings platform, and integrate with them
    • Make recommendations and be involved in making technical decisions, both strategic and tactical
    • Maintain an open and curious mind and excel in an environment that has ambiguity and competing priorities
    • Deliver excellent code that is clean, well structured, and maintainable
    • Support and collaborate with other teams and stakeholders
    • Be a role model and adviser for the team and engineering organization
    • Work with managers to develop strategy and plans to deliver projects and key initiatives

Requirements:

    • BS or MS in Computer Science or equivalent software engineering experience
    • At least 5 years’ experience architecture and developing enterprise applications
    • Advanced Computer Science knowledge and background (algorithms, distributed systems, low latency, concurrency, big-O notation etc.)
    • Excellent design and architecture skills.
    • Proven experience building and deploying software that is secure, scalable, reliable, testable, observable and maintainable
    • Strong proficiency in Java 8+, utilizing the latest practices and techniques
    • Track record of delivering and managing production services.
    • Well versed in microservices and REST APIs
    • Excellent communication and people skills

Desired:

    • IoT industry experience
    • Spring framework
    • AWS, Kubernetes, Gitlab, Spinnaker, Datadog, SumoLogic
    • NoSQL platforms such as Redis, MongoDB, Cassandra
    • Event/message driven distributed architecture.
    • Experienced and proponent of agile development techniques.
    • Strong presentation skills.

    • Willingness to travel (5-15%)

Take your career to the next level at SmartThings ....... APPLY TODAY!