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.
Do you want to be part of the team that develops, owns, and operates the SmartThings authorization, access management, and privacy services which serve millions of devices, and billions of device interactions a day? We are responsible for ensuring interactions on the cloud are authorized and secure as well as building privacy systems to give the users of SmartThings the power to control how their data is used.
Security Management Services are critical to ensure everything inside the SmartThings Platform is secure. You will be working with a world-class team of engineers who are passionate about what they do and will expect no less from you. Each team member has an insatiable hunger for learning new technologies and improving existing ones. If the team is a good mutual fit, as a Staff Engineer you will be responsible for not only leading the technical implementation of systems but being a lead contributor on services.
- Solve complex architecture problems with intuitive designs.
- Breaking down complex privacy and access concerns to digestible ideas and services
- Comfortable working in all phases of the software development lifecycle from planning to deployment and support.
- Ownership of major features from beginning to deployment.
- Operate in a test-driven, continuous integration environment.
- Ability to provide technical and strategic cross-functional direction, understanding the overall impact of decisions relative to company goals.
- Influence projects, teams, and senior management.
- Willingness to work across various time zones and geographies.
- Project ownership, working with managers to scope and define assignments, and other project criteria.
- Drive key strategic outcomes like reliability, quality, and testability.
- Mentor other team members.
- Setting professional standards for the company by role modeling core values.
- BS or MS in Computer Science or equivalent engineering experience
- Exceptional Java, C# or C++, object-oriented design and programming skills (7+ years of experience preferred)
- Expert in RESTful web services
- Extensive experience with large-scale infrastructure and distributed systems supporting consumer-facing production-level cloud services built atop AWS / Azure / GCP (3+ years of experience preferred).
- Experience building/extending/implementing trust systems using OAuth, ACLs, IAM, etc
- Experience with functional programming
- Experience with Git
- Experience with Linux systems
- Demonstrated project management experience which includes project planning, project execution, and issue/risk management.
- Excellent communication and people skills. Comfortable presenting to both internal and external executive audiences at a global scale.
- Proven expertise in fundamental concepts and expert in a key area of technology
- Develop software applications using C, ASP
- Communicate software defects to software development teams
- Improving software and code design
- Use software development tools to maintain software configuration control
- Perform testing on new software development projects and legacy software platform products
- Perform software testing on both existing software and new features
- Build new software and improve existing software
- Define the control system software requirements, software specification and software structure
- Integrate software components into a fully functional software system
- Integrate software components with the larger software system
- Participate in software/hardware testing
- Build automated software test frameworks for applications
- Improve software development and test processes
- Lead a propulsion application software development project
- Execute functional test scripts for custom-developed software applications
- Maintain application and system software documentation
- Perform development of complex software applications
- Assist associate software test engineers
- Manage embedded software designs projects
- Manage embedded software design projects
Use Programming Language