Job Description :
C/C++ Developer
Johnston Iowa
Full time

In this role, you will develop software for other programmers and for end users in our R&D Breeding organization, which will enable product characterization and advancement through state-of- the-art statistical models, data visualization, robust high throughput pipelines and high performance data access. You will work as part of a small software development team that partners with analysts and researchers in a dynamic, global, agricultural research environment. You will be responsible for supporting cross platform C and C++ development. This includes finding, compiling, linking, using, and wrapping existing C and C++ libraries both external and internal, writing new C++ code and mentoring other developers.

The code will usually run on a Linux HPC cluster and be used in a .NET, R or python environment, so connecting native code to managed languages will be important, as will optimizing data access and manipulation. Some support of Linux services like NGINX, Jenkins, devpi and PostgreSQL will be required as well. You will work with the team architect to implement the accepted architectural practice on all projects you will be involved in. Collaboration within our team, end users and with other stakeholders is
a requirement and occurs throughout with regular team meetings, impromptu mini-meetings, email, planning and development activities.

Bachelor’s degree in Computer Science, Computer Engineering, MIS or other science related field.
At least 3+ years of relevant work experience.
Strong design and programming skills in C or C++
Knowledge of statistics or genetics is a plus
Knowledge of C# is a plus

Primary Responsibilities:
Work with analysts to develop applications and/or platforms that enable the Breeding organization to drive genetic gain.
Collaborate with biostatisticians to implement and refine statistical models for use in high-throughput analysis pipelines.
Work with the software architect to design and create new projects in the pipeline.
Work with other team members when required to brainstorm, troubleshoot and resolve issues related to application and platform development with guidance from the team architect and analysts.
Perform run and maintain tasks on the applications or platforms as required.
Required competencies for this position include:
Experience in developing applications or libraries in C or C++
Cross-platform development on Linux and Windows, using gcc and MSVC
Experience working with C/C++ in a Linux/Unix environment.
Experience finding, using, compiling, and patching C and C++ libraries
Strong understanding of computer architecture and optimization in code design
Architecture skills for managing data and applications in a High-Performance Cluster environment.
Have a solid knowledge of common software design patterns and engineering practices.
Knowledge of setting up and running applications and services on a Linux server
Strong analytical and problem solving skills
Proven ability to learn and apply new technologies, programming techniques and languages.
Ability to work independently and/or within groups
Strong verbal and written communication skills and a desire to use them in a team environment

Thank You,

Xtream IT Solutions Inc.