Submit your job posting if your job should be listed here too!
C++ Developer for a Code Analysis Tool
published at 01.05.2018 11:17
Location: West London
Company: O'Neill Associates Global
We are looking for an experienced C++ developer to contribute to the development of our program synthesis tool.
Accountabilities and responsibilities
Day to day we will expect you to:
- Independently implement and test C++ modules
- Identify bottlenecks and bugs, and devise solutions to these problems
- Help maintain code quality, organization, and automation
- Efficiently express new algorithms devised by the research team in C++
- Liaise with research engineers to discuss required features
- A professional team working on leading edge research problems
- Opportunity to work on the next generation of programming tools
- Personal progression and training in a heterogeneous research environment
Skills and requirements
- We write all our analysis tools in C++, so we need developers fluent in this language.
- Our product synthesises Java programs, so we expect expect intermediate knowledge of the Java language and runtime library.
- Knowledge of algorithms. Most of "quicksort", "Dijkstra's algorithm", "AVL tree", "quadratic complexity", and "undecidability" will ring a bell with you.
- Basic knowledge of compilers, and tools used to implement them.
- Proven experience in contributing to C++ projects
- Routine in unit testing
- Experience working with versioning systems, such as git.
- Ability to build strong team relationships and demonstrate personal accountability/responsibility for own role within the wider team.
- Excellent problem solving skills with the ability to provide innovative thinking to find best fit solutions.
- Learning-oriented, enjoys the challenge of new subject matter and open to new experiences.
- Adaptable and able to react to change to meet the needs of an evolving business.
We’re always happy to train and coach our staff, so if you don’t have these let us know and we’ll work with you to develop your skills.
- Experience with compiler architectures, parsers and syntax trees
- Familiarity with language tools, such as GDB, gprof and Valgrind