Computational Software Engineer
Our client has an opening in Houston,Texas for a Computational Software Engineer. The Computational Software Engineer designs and develops computational algorithms and software components based on mathematical or statistical models of physical phenomena. Where applicable, new algorithms and models may be developed, or existing software solutions extended. Numerical analysis techniques may be applied to scientific problems to enable efficient solutions, and enhance code scalability and performance.
The candidate may work on any of the following:
• Produce analyses, physical and mathematical models, designs and draw design conclusions based on those
• Develop and test algorithms and code in accordance with relevant procedures and guidelines. May also build prototypes, products and systems suitable for testing.
• Identify and keep abreast of novel technical concepts and markets
• Learn new skills and adopt new practices readily in order to develop innovative, high quality and cost-effective products that maintain the client’s technical leadership position
• Ensure that product code and artifacts are managed and safeguarded in a configuration management system in accordance with relevant procedures and guidelines
• Conduct and/or participate in technical reviews of requirements, designs, code and other artifacts. Ensure commitments are agreed, reviewed and met
• Develop and execute unit tests to prevent regressions
• Ensure and monitor source code quality by using appropriate tools
• Provide timely corrective actions on all assigned defects and issues
• Contribute to design standards and support design re-use (best practices, etc.)
• Contributes to development plan by providing task estimates
• Analyze, design, develop, maintain products and assist in their commercialization – in agreement with project technical and timing objectives
Qualifications & Experience
• Minimum Bachelor’s Degree in Computer Science or BS/MS/PhD in Science, Mathematics or Engineering
• Math or Quantum Chemistry background preferred
• 5 years of professional experience as a Computational Software Engineer
• Proficiency in C++: Expert. “Expert” defined as familiar with and ability to implement strategies involving the following concepts:
o Variadic templates
o Static polymorphism
• Knowledge of linux preferably as the primary operating system.
• Good understanding of computer and memory architecture and its impact on performance
• Ability to read assembly a +
• Knowledge of tcp/ip and socket communication a +
• Ability to explain performance or maintainability limitations of third parties
• vim experience is a +
• Learn quickly in a fast-paced environment
• Excellent time-management, multi-tasking, and communication skills. Capable of juggling multiple projects and related complexities at the same time.
• Good interpersonal and communication skills
• Professional software engineering practices including unit testing
• Candidates must be able to legally work and reside in the US, without sponsorship