Bachelor’s degree in Computer Science, Software Engineering, Computer Engineering, Electrical Engineering or a technical degree
8 or more years working in C or C++ in embedded firmware development
5 or more years working in JavaScript and/or C# for UI/HMI development
Experience in Microcontroller-based/System-On-a-Module (SOM) application development
Developed software projects for at least one of the following Operating Systems: Linux, MacOS, or Windows
Demonstrated project experience with regard to estimates, planning and deliverables with a high degree of accountability
Experience leading large scale software development
Proven ability working with business, engineering and R&D teams to translate needs to Application Development teams
Preferred Qualifications
Prior experience working with global development teams
Experience in IoT environments
Responsibilities
Synthesize business requirements and translate them to appropriate technology solutions
Provide architectural and technical guidance for product development and database design for JavaScript, C/C++, C# and SQL based solutions
Develop and execute software engineering plans, and manage software engineering schedules and resource allocations, including managing joint development with 3rd party vendors and outsourced development
Ensure, and create as needed, software engineering processes, practices and operations to ensure reproducible, high-quality development, while keeping costs under control and delivering projects on-time
Monitor technology trends such as emerging standards for new technology opportunities
Think strategically and balance short-term needs with longer-term business priorities
Challenge status quo and champion new ideas throughout cross functional organizations; inspire confidence and trust with peers and cross functional business teams
Develop software, shape architectures, perform designs, and create Proof of Concepts to build applications that drive Ecolab’s dispensing and IoT equipment system
Work with team members to integrate software and hardware developed by other Ecolab divisions
Work with software team members to integrate full stack IoT end node solutions
Participate in SCRUM/Agile software development process
Work with product owners to define and document User Stories including Acceptance Criteria
Apply DevOps practices to efficiently work with Ecolab’s multidisciplinary teams