Job Description
Job Description
IO.CONNECT Software provides state of the art connectivity between plant-floor devices and I/O sub-systems to the Emerson DeltaV system. Successful applicants would be expected to enhance and maintain existing software systems as well as develop technologies for new products.
The Software Developer will report to the Technology Leader, DeltaV IO.CONNECT
Responsibilities
- Collaborate with the product owner and team to develop new plant-floor device and I/O sub-system interfaces.
- Demonstrate the ability to provide reasonable estimates of software development time and provide status to the team.
- Use Software Development Teams coding standards to build high-quality software that meets design criteria and/or end users requirements
- Participate in Code Reviews, i.e., review peers design and code to provide detailed feedback
- Conduct unit testing and integration testing for functionality and limits
- Debug and validate software issues with unreleased and released. software... including customer issues
- Write automated unit tests and acceptance tests in support of defect verification, release testing and beta support for assigned products
- Document and Share product insights with coworkers, users, and management
- Provide technical support for escalated customer issues in support of Product Engineering and Technical Support groups
WHO YOU ARE:
- You are an excellent communicator.
- You stay on top of new development standards.
- You manage uncertainty with confidence.
- You engage in collaborative planning and development.
- You take time to ask questions to define and understand the problem.
- You make learning a priority and a goal.
- You are self-motivated and take ownership of tasks assigned to you.
REQUIRED EDUCATION, EXPERIENCE & SKILLS:
- Bachelors degree in Computer Science, Computer Engineering, or related engineering field with a very strong background in software development. Candidate must have a minimum of 2+ years of software development experience.
- Experience with Linux (Ubuntu) and Windows application development in C, C++
- Experience with usage and understanding of Data Structures and Algorithms
- Proficient code organization (naming structure, functionality, methods, etc.), code readability, defensive coding, and error handling
- Experience working in embedded development
- Experience with Database concepts, normalization, transactions, and simple query scripts
- Experience with Microsoft development tools and an understanding of both Linux and Windows operating systems
- Experience in problem/system decomposition and use of object-oriented design techniques
- Experience with software testing, including test driven development and automation
- Experience with Azure DevOps and/or GIT for source code management
- Excellent verbal and written communication skills
- Ability to effectively collaborate in a scrum team environment with disciplined development practices
PREFERRED EDUCATION, EXPERIENCE & SKILLS:
- Masters Degree with 1+ years software development experience
- Experience in Software Development Lifecycle with ability to translate requirements into functional specifications.
- Knowledge and experience working in the process control industry
- Experience with Linux and Windows Sockets programing and inter-process communications
- Familiarity or experience working with Industrial Ethernet I/O Networks, e.g., Ethernet/IP and Modbus TCP.
- Experience with Web Technologies (Java, JavaScript, HTML5, SOAP, XML, REST, gRPC, etc.)
- Experience debugging real-time systems is a plus