Share this Job

Senior Software Engineer


This position is available in Cambridge


Java/C++/Angular/Python Software Engineer



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

Located in our 25-person office on the St John's Innovation Park (near Cambridge North railway station), you'll join the team working on the Apama Streaming Analytics product, Software AG’s high-performance event processing platform.

The Apama product is an essential part 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 all 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 automatically taking whatever action is necessary to help our users truly unlock the value of all that data.

The Apama team in Cambridge works on the back-end engine that executes our event-driven programming language, the front-end cloud-hosted web interface for developing and deploying Apama applications, and our rich supporting ecosystem of APIs and developer tools – so lots of varied areas to get your teeth into! 


About Software AG


Software AG's mission is to help organisations "turn data into value".

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. 


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. 

Whatever level of experience you have at the moment, you'll be able to make a real contribution at Software AG, and have plenty of chances to grow:

  • If you're joining our team at a more senior level, you'll also be 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 also taking on a scrum master or product owner role, or contributing to cross-product initiatives within the wider global company. 

Additional benefits include: innovation/hack weeks, “give back to the world” community engagement initiatives, free fruit, 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 location near to the Cambridge North railway station, and a generous benefits package including pension, childcare vouchers and medical insurance.


About You


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 Java, C++11/14, and Angular/TypeScript so we expect you to have up-to-date knowledge in at least one of those languages and have built some non-trivial applications. That could be from commercial experience, from a significant project during your degree/PhD, or something you've worked on in your spare time. We use Python extensively in our test and build frameworks so Python skills are highly desirable too. 

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 ideally also some interest in front‑end web technologies.

We love to hear from people who’ve created or contributed to some opensource projects (e.g. GitHub) or done some blogging.

Finally (especially if you have a few years of commercial experience) we would also value experience in areas such as: knowledge of cloud and container technologies such as microservices, Docker, Kubernetes, AWS, Azure, design of intuitive graphical user interfaces (GUI/UI) and user-facing APIs; testing frameworks such as Protractor/Cucumber/PySys/JUnit; C#/.NET development; Agile methodologies such as Scrum/Kanban; technologies such as HTTP/REST, Spring Boot, MQTT, LLVM, Antlr. 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 in a relevant subject.

Most importantly, you should be friendly, conscientious, able to communicate clearly, and passionate about continually improving your skills and knowledge.

Please get in touch, we look forward to hearing from you!




Please contact Holly at


This job description should not be construed to imply that these requirements and expectations are all inclusive.  In addition to items listed, incumbents are expected to follow company policies, adhere to company processes and programs and perform other related duties as assigned.