Senior Scientific Programmer - Careers - Company
Overall Purpose of Role:
A senior scientific programmer will be responsible for developing software solutions to support the company in a range of data processing and algorithm optimization capacities.
Key Accountabilities:
- Will work as part of a collaborative team to develop and improve Seismic, CSEM, Log and Geophysical processing, imaging & inversion software.
- Duties include developing, testing, and maintaining these systems to meet internal client requirements.
- Will design and architect high performance computation software and system solutions for internal and external clients
- Will develop and improve User Interfaces and 2D/3D graphics for existing and planned solutions.
- Will develops and test new features of applications on multiple platforms.
- Will develops and coordinate testing procedures and documentation.
- Will support internal users and work to ensure that software meets internal customer needs.
- Will be fully conversant with Health & Safety responsibilities, at all times taking reasonable steps to ensure their own safety and the safety of others who may be affected by their actions; cooperating with the company in terms of meeting legal Health & Safety obligations
Job Challenges & Opportunities:
- This position demands a certain amount of out of hours support, depending on operational requirements. The job holder must be willing to be available by telephone out of normal office hours to support internal & external clients needs
- The job holder will be responsible to finish task on time, on budget.
Essential Knowledge, Skills & Competencies:
- Strong mathematics and geophysics background.
- Solid C++ programming experience with focus on object oriented concepts.
- Knowledge and some experience with software development best practices, compilation and linking issues, software porting between platforms or languages and refactoring.
- Strong commitment to software quality and knowledge of quality assurance concepts and techniques.
- Strong knowledge of design patterns. UML design et al.
- Detailed knowledge of software development tools (compilers, linkers, debuggers, version control, etc.) and underlying libraries and structure on Linux/UNIX platforms.
- Skill working in a Linux, Windows OS development environment.
- GUI development utilizing QT C++.
- Algorithm development experience, especially Digital Signal Processing.
- Parallel/ high performance computing is a plus. MPI is preferred.
- Ability to support all of the above.
- Ability to work under pressure
- Must be flexible, adaptable and willing to work in a dynamic environment
Desirable Knowledge, Skills & Competencies:
- 5+ years experience in Object Oriented Programming with background in Geophysics, EE, Physics or Math.
- Master of Computer Science degree and above is preferred.
Apply
Send your resume/cv with a cover letter to [email protected]