This role is hands-on Staff Software Engineer to develop IOT applications platform, machine learning and solutions. The ideal candidate would be self-starting, energetic individual, not afraid to question
assumptions and be imaginative. 10 or more years' experience as an engineer with drive for
innovation by developing prototypes, influencing product roadmap. This person should have a
passion for exploring and learning new technologies in a fast-paced environment. Participate in product requirement discussions with Product Management, Product Owner, Engineering Lead, and UX.
• Capture system level requirements by brainstorming with Sr. Architects, Data Scientists, Businesses - Product Managers
• Identify the scope of the work, provide initial estimate and justify the estimate with facts
• Engage in technical discussions; participate in technical designs and present technical ideas through white boarding
• Work closely with your peers and keep engaging in a fast pace technical design and development team
• Maintain code quality through best practices, unit testing and code quality automation
• Demonstrate the ability to make informed technology choices after due diligence and impact assessment
• Understand whole product, its modules and the interrelationship between them while being an expert in the assigned component or module
• Help in designing interfaces and information exchange between modules
• Possess advanced domain knowledge and show great customer focus. Expert in processes / methodologies and skilled in build, release - deployment processes (CI/CD)
• Be an expert in core data structures as well as algorithms and has the ability to implement them using language of choice
• Be responsible for providing technical leadership and defining, developing, and evolving software in a fast paced and agile development environment using the latest software development technologies and infrastructure
• Provide guidance to developers with either planning and execution and/or design architecture using agile methodologies such as SCRUM
• 10+ years of experience in the software industry, which at least 3 years are in IOT platform and application development; industrial application experiences a plus.
• Possess strong experience in design and development of full stack web applications with emphasis on Micro-Services architecture. Knowledge of 12-factor application and proficient in applying common design patterns. Strong experience in containers, Kubernetes, RESTful services
• Experiences with machine learning platform and framework, e.g. PyTorch, MLFlow; and libraries, e.g. scikit-learn.
• Deep understanding of data structures, data modeling and software architecture.
• Experiences using IaaS and/or PaaS (AWS, Google Cloud, Azure, vCloud Air); and virtualization environment (ESXi, Xen, Hyper-V, Docker, etc.).
• Experience with backend technology, overall application lifecycle and performance optimization also a definite plus
• Experience/exposure in React, AngularJS or Vue; HTML5, CSS, D3, Loopback, REST/JSON
• Strong knowledge of Object-Oriented Analysis and Design, Software Design Patterns.
• Database experience must be familiar with RDBMS and NoSQL databases
• Knowledge or experiences with industrial protocols a plus.
• Experience in testing framework - Mock frameworks
• Hands-on in design and code reviews.
• Experiences with automation/configuration management using Jenkins, Puppet, Chef or equivalent technologies; and software configuration tools; build script and CI/CD
• Architect, Design, Develop, Implement and Deploy enterprise level, high availability applications.
• Expert understanding of multi-threaded priority-based systems
• Expert in breaking down problems and estimate time for development tasks
• Hands-on experience in Secure-SDLC, SAST, DAST methodologies and tools.
• Good communication and inter-personal skills.