Description

JOB DESCRIPTION
• Develop and test code to deliver functionality that meets the overall business strategy and objectives
• Build the work needed to implement features from the product backlog
• Size user stories
• Unit test code, create automated test scripts, and execute all other testing-related tasks
• Test deliverables against a user story's acceptance tests
• Execute necessary project documentation
• Work closely with other team to ensure that features meet business needs
• Follow industry-standard agile software design methodology for development and documentation
• Work with infrastructure, security, and other partners
• 3-5 years in an engineering role
• 1-3 years participating in agile development
• Scrum certification, a plus
• Experience with test-driven development and software test automation
• Deep experience working in an agile environment (e.g. user stories, iterative development, etc.)

IoT Platform Team is to enable teams to deploy and manage IoT devices at scale in *** facilities to provide guest and team member services effectively and efficiently by abstracting device management and network complexities. Critical guest services such as refrigerator monitoring, guest request button, team member safety and productivity use cases. The platform has about 50K devices connected and processes 100s of millions of messages per day from across 2K locations.
As a lead consultant (Development Engineer), you serve as the technical anchor for the engineering team that supports a platform. You create, own, and are responsible for the platform architecture that best serves the functional and non-functional needs. You identify and drive architectural changes to accelerate feature development and improve the quality of service. You have deep and broad engineering skills.
Engineer on the IoT platform team:
Are empowered to make technological choices and pick the best tools for the job.
Are building self-service platform constructs to allow other teams at *** to accomplish their business goals.
Have a goal of Full CD deployments with automated tests, monitoring, and rollback.
Think outside the box to solve problems with high cardinality that will break traditional tools meant for applications such as monitoring tools.
Our engineering teams are empowered to select the appropriate technology for the problem they are trying to solve. 

Common technologies include Micronaut, Kotlin, Java, Python, Golang, Kafka, relational and KVP databases (Postgres, MariaDB, Mongo, Redis, etc.), Orchestration workflow engines like Temporal, Camunda
Core responsibilities of this job are described within this job description. Job duties may change at any time due to business needs.
4-year degree or equivalent experience
7+ years of software development experience with at least one full cycle implementation
Demonstrates strong foundational core computer science concepts
Strong understanding of systems design, Development and Observability for building robust and scalable software solutions
Demonstrates broad and deep expertise in multiple computer languages and frameworks (e.g., open source). Designs, develops, and approves end-to-end functionality of a product line, platform, or infrastructure
Communicates and coordinates with project team, partners, and stakeholders
Demonstrates expertise in analysis and optimization of systems capacity, performance, and operational health
Understands and develops solutions to foster data lifecycle management
Maintains deep technical knowledge within areas of expertise
Stays current with new and evolving technologies via formal training and self-directed education
Experience in building highly scalable distributed systems

Education

Bachelor's degree