Software Engineers

Overview

We sell a software development service to large, mainly aerospace, engineering companies. We specialise in software development for this business area. The purpose of the role being described here is to help us to deliver this service by developing software.

We will allocate you to project teams from time to time, and your responsibility is to join in with the team’s work, collaborate and contribute to make sure both the customers are satisfied, and our company management are satisfied with the project’s outcome and progress. You can be involved in all the phases of the project, right from requirements clarification through to bug fixing and support after delivery, and everything in between. The role is a technical one, and has no commercial aspect beyond the responsibility we all have to be professional representatives of our company.

Typical Tasks


Characteristics of our software

Our software is based mostly on open-source technologies, and is often cross-platform. Our main languages are Python, C++ and Java. We create a range of GUI desktop software, and client server software, but also have significant streams of work in the area of application development frameworks and infrastructure, and with high-performance-computing (HPC) interfaces.

The software is often concerned with geometry, maths and physics, particularly in the areas of aerodynamics, force and loads analysis, and aircraft mass modelling.

We keep a very active eye on emerging software technologies – occasionally contributing for example to conferences – like the EuroPython conference.

We place a significant emphasis on the processes and methodology of software development – with a keen interest in design quality, Agile lifecycles, continuous integration, test driven development etc.

Organisation and Communications

Typical projects last between 1 and 9 months, and are staffed with between 1 and 4 people, and we have around 30 developers. We manage our software affairs with two managers; one taking care of overall technical supervision and the other concentrating on all the project management and operational matters. Every project has a nominated technical lead also. We move people around between different project and technology areas to both secure knowledge in multiple heads – and also to provide continuous new challenges and diversity for people.

Skills needed

The type of skills we need will be fairly obvious from the “typical tasks” section above. Perhaps what is less obvious is the level of skill we are looking for. The most important thing for us (by far) is your underlying thinking and learning ability. We are unusually demanding about this criterion – and our policy is to try to continuously develop the team with the smartest people we can find. We are more interested in the smartness you demonstrate in your test than in your experience. New graduates are just as interesting to us as people with more experience.

We need you to be proficient in at least one OO language. Your knowledge or keen interest in software design is also important.

Not everyone in our team needs to be a mathematician, engineer of physicist; around one half of the team come from a dedicated computer science education. This is why your maths/physics knowledge is a bonus rather than a pre-requisite. It is also important to point out, that none of our work is dominated by engineering or maths. It is dominated by software engineering – but we need to be able to work effectively, and to communicate well with our customers about their maths and engineering.

Outlook for the role

We view all our software development team as part of our long term growth potential. Our policy is to both encourage and expect you to grow your skills, and maybe become something of a specialist in one area or another over time.

Apply for this position

Bookmark and Share