Share this Job

Lead/Principal Software Engineer


This position is available in Cambridge, UK


Lead/Principal Software Engineer


Do you like a varied mix of projects and programming languages? Do you want to work for a company that really cares about innovation and delivering a top-quality product? Would you enjoy collaborating with a friendly team of smart people?


We’re looking for a great candidate who answers “yes” to those questions to join us working on the Apama Streaming Analytics product.


The Apama product is Software AG’s high-performance event processing platform. It’s an essential component of our “Cumulocity IoT” platform which empowers users to integrate every IoT “thing” you can imagine - from production line robots to wind farms to freight trucks delivering packages throughout the country. Apama analyses the valuable data from those devices as it comes in, listening for event patterns that indicate an opportunity or threat (e.g. this robot’s going to break soon unless we replace this component!) and instantly taking whatever action is necessary so our users can unlock the value of all that streaming data.


The Apama team in Cambridge focuses on the back-end engine that executes our event-driven programming language and our rich supporting ecosystem of APIs and developer tools (with a few people also working on our front-end cloud-hosted Angular web UI) – so lots of varied areas to get your teeth into!


About Software AG

We’re a global software company founded over 50 years ago and continually growing and innovating. With a presence in over 70 countries, our customers include many of the world’s major airlines, well-known makers of sodas, chocolate and PCs, and key players in the rapidly expanding world of industrial IoT.


We’re passionate about software, passionate about our people, and passionate about using technology to create truly world-class products.



The name “Software AG” may never appear on your online banking screen, your sweet wrapper or the cup from your barista. You may never see “Software AG” in the movie’s credits, on your mouse or on the side of the plane you just flew —but our software is virtually everywhere. The fact is leading brands use Software AG technology every day to serve you better. Leading organizations trust us. One reason: We’re driven by customer success.  Every day, our decisions and actions are guided by the values of this Software AG development mission statement.


About the job

What can you expect from a job at Software AG? You'll be joining a team of friendly, smart, and motivated colleagues. We care about quality, and are always up for learning something new. We enjoy discussing the best way to write our code and testcases.


For this position we’re looking for candidates with 7-15+  years of commercial experience who want to do hands-on development of code and tests alongside taking a leading role in the design and architecture of new features, proactively contributing to our feature roadmap, mentoring junior team members, assisting customers, and perhaps taking on a scrum master or product owner role or contributing to cross-product initiatives within the wider global company.


When there isn’t a global pandemic happening (!), our team works from a 35-person office on the St John's Innovation Park, near Cambridge North railway station.

Additional benefits include: innovation/hack weeks, “give back to the world” community engagement initiatives, free fruit (when we’re in the office!), a fun office environment (e.g. Lego, Xbox), at least 50 hours of dedicated time each year for learning/training, flexible working hours, a competitive salary, a great office location, and a generous benefits package including pension, childcare vouchers and medical insurance.


Person Specification

  • We are looking for all-round developers who are flexible and enjoy building software and tests using a range of varied languages and technologies.
  • Our primary development languages are C++11/14 and Java so we expect you to have strong and up-to-date knowledge in one or both of those languages, especially C++ if possible. We use Python extensively in our test and build frameworks, and Angular/TypeScript for our web UIs so experience with those is also useful.
  • Our software is built and tested on both Windows and Linux so familiarity with both is useful, and we also have an ARM build for Raspberry Pi.
  • You should have some knowledge of back-end/server-side/systems programming topics such as distributed systems, multi-threading, memory and performance optimization, and possibly also interest in front end web technologies.
  • We love to hear from people who’ve created or contributed to some open-source projects (e.g. GitHub) or done some blogging.
  • Finally we also value experience in areas such as: cloud and container technologies (microservices, Docker, Kubernetes, AWS, Azure), design of intuitive user-facing APIs and graphical user interfaces (GUI/UI); testing frameworks such as JUnit/Protractor/Cucumber/PySys; C#/.NET development; Agile methodologies such as Scrum/Kanban; technologies such as HTTP/REST, Antlr, Spring Boot, MQTT, LLVM.
  • That’s just to give a flavour – each individual in our team brings their own unique contribution and we’re certainly not expecting anyone to tick every box!
  • Usually we expect candidates to have a 2:1 or 1st class degree (or equivalent) in subject relevant to software development.
  • Most importantly, you should be friendly, enjoy collaborating with colleagues, able to communicate clearly, conscientious, and passionate about continually improving your knowledge.



We look forward to receiving your application. Your application should include a short cover letter and a curriculum vitae.

If you have any questions regarding this position please contact Holly Greenfield on  We look forward to hearing from you!


















Job Segment: Developer, Software Engineer, Engineer, Java, Linux, Technology, Engineering