Roles and Responsibilities
Design, develop and implement backend/frontend software based on existing utility/tool frameworks
Integrate software packages with existing systems and sub-systems.
Prepare unit test and regression test specification, packages and templates.
Support/execute software release testing
Interact with a multi-discipline engineering team to meet the project requirements throughout its life cycle.
Prepare formal and informal engineering documentation (e.g. Design documents, code reviews, Release reports)
Apply knowledge of best practices and how own area / modules integrates with others
Ability to use technical experience and analytical thinking.
Ability to act as a resource for colleagues with less experience.
Required Qualifications
Bachelor’s degree or above in Computer Science, Technology or Engineering.
Minimum of 6 years of hands-on SW development experience
In-depth knowhow in modern microservice architectures and component development, including tools/technologies like Kafka, Java Spring, Docker containers and Kubernetes
Experience in database such as nosql database, time series database, postgre, etc..
Basic knowledge on JavaSwings
Experience in developing HTML/JavaScript based HMIs
Extensive experience in working with Java and Python
Familiarity with modern cybersecurity constructs (e.g. Static Analysis, Digital Signatures etc.)
Familiar with Agile-SW development practices
Experienced user Jira and Confluence for task management and documentation
Exposure to Embedded C/C++, Matlab/Simulink (and/or other auto-coded controls software)
Strong can-do attitude and energy level
Knowledge of Predix Edge technology stack preferred
Desired Characteristics
Shown technical problem-solving skills & experience
Good verbal and written communication skills
Demonstrated experience and track record of success in working with global
engineering teams
Motivated great teammate, self- starter, results oriented
Relocation Assistance Provided: No

