Salary: £40,000 to £60,000 per annum + benefits (commensurate with experience)
Start Date: Immediate
Location: Reading Berkshire
We are seeking a talented Python developer to join our small but growing team of developers, in a stimulating and challenging role creating scientific software solutions. As a Software Developer you will focus on the design, implementation, testing and maintenance aspects of the development life-cycle. The role also presents opportunity to be involved in mathematical modelling and algorithm development.
Essential Job Duties
- Participate in the design and architecture of high performance computation software and systems.
- Work with Python (Numpy, SciPy, Pandas, Scikit-Learn, TensorFlow, Matplotlib, PyQt, …).
- Focus on testing throughout the entire development cycle to produce reliable and maintainable software.
- Maintain and support current and new software.
- Contribute to ideas and participate in aligning methodologies, governance and best practices to continuously improve the organisation.
- Self-learn new technologies and research new subject topics.
- Communicate clearly and work cooperatively with colleagues.
- Commit to the standards and values of the company and the role.
- Degree or above in Computer Science, Mathematics, Statistics, Physics or related technical field from an accredited University.
- High level Python programming experience with 2+ years in industry and good knowledge of Numpy, SciPy, Pandas, Matplotlib, and PyQt libraries.
- Strong understanding of Object Oriented Programming (OOP) concepts and practices in Python.
- Experience in GUI design/development in Python (PyQt).
- Experience with Cython.
- High levels of technical and IT competency, with the ability to quickly become proficient in new software.
- Experience of working in an agile software development environment.
- Experience of working with software development tools such as version control and bug tracking software.
- Excellent analytical, problem solving and time management skills.
- Ability to successfully complete and deliver project work on time, meeting company and client expectations for both quality and usability.
- Master’s Degree or Doctorate Degree.
- Java programming experience.
- C++ programming experience.
- Mathematical modelling and algorithm development.
- Understanding of machine learning techniques and algorithms.
- Data analytics software development.
- Knowledge of IDL and/or Matlab.