Integration Engineer IIIAdaptive Computing

Job Summary
The Integration Engineer is responsible for developing solutions that complement the company?s core software products, creating bridges for those products to customer systems (including SDK and API development), and integrating with third-party software. Level III Engineers also assist in product design and architecture decisions related to the overall technical strategy of the company?s product suites.

Responsibilities

Requirements of Education and Experience:
Bachelor?s degree in computer science, information systems, information technology, or equivalent experience
Experience programming with Groovy, Java, Python, Perl, C, C#, .NET, C++, HTML, CSS
Experience developing software in a Linux environment
Experience with high-performance computing (HPC) systems and parallel programming
Experience with both SQL and no-SQL databases, and database administration
Experience with Open Source projects and frameworks, including Grails and Gradle
Experience with Object Oriented programming
Experience with Web Services and API development, including REST architecture
Experience with software design best practices, including best practices around test case management, application development, build processes and deployment, and Agile methodologies
Experience with SCM tools including Git, Mercurial and Subversion
Experience with software modeling languages, including UML
Fluency with the Linux operating system and development tools, and system administration. Experience with Enterprise Linux flavors such as RHEL and CentOS preferred

Required Knowledge, Skills, and Abilities:
Knowledge of network configuration and protocols
Knowledge of XML, JSON, RPC protocols, and data serialization technologies
Detail-oriented and unafraid to ask questions
Disciplined in the use of standards and best practices
Ability to interact with customers and glean customer needs and requirements
Ability to learn and think quickly and precisely in a changing technical environment
Ability to communicate effectively both verbally and in writing
Ability to give accurate time estimates for completion of work assignments
Ability to diagnose technical problems, identify possible solutions, make meaningful decisions regarding the best solution and help others to understand the reasons why