Share this Job
Apply now »

Software Engineer

Cambridge, GB

This position is available in Cambridge




Software AG empowers customers to innovate, differentiate and win in the digital world. Its products help companies combine existing systems on-premise and in the cloud into a single platform to optimize and digitize their businesses. The combination of process management, data integration and real-time analytics in one middleware platform enables customers to drive operational efficiency, modernize their systems and optimize processes for smarter decision-making. Building on over 45 years of customer-centric innovation, Software AG is ranked a leader in many innovative IT categories. Software AG has more than 4,500 employees in 70 countries and had total revenues of €879 million in 2017.


The successful candidate will join the close-knit and highly skilled software engineering team that designs, builds and tests the globally successful Universal Messaging product. Universal Messaging is a solution for high-performance, low-latency messaging across a wide array of delivery channels, including mainstream enterprise, web, mobile and IoT platforms. Universal Messaging delivers high throughput messaging for resilient, secure and highly scalable applications, both on-premise and in the cloud.


The position will be filled by a conscientious, highly-motivated, assertive and skilled individual, who will bring to the role important skills but will also be keen to learn new ones on an ongoing basis as the role develops. This individual must be a good all-round software developer, and be willing to learn, adapt to, and utilize new technologies.


This position is suited to a recent graduate or someone with up to 2-3 years’ experience in the software industry.


Universal Messaging team members work as part of multidisciplinary agile distributed teams, and all of our development roles include aspects of both Software Engineering and Quality Assurance/Test Engineering. The primary requirement of this role is the development and maintenance of high-quality software according to agile principles. The role will also require analysis of QA coverage requirements for new functionality across the areas of correctness, performance, robustness and usability; designing and building automated test-cases; and execution of testing and release management processes.


Responsibilities of this role include:


  • Working in a cross-functional agile team with other software engineers, QA engineers, and documentation authors, to design, develop and test new product features.
  • Designing and developing automated test suites for high-performance distributed systems.
  • Contributing to improvements in the usability, performance, scalability and overall quality of Universal Messaging.
  • Working with other development teams, and sometimes directly with our customers and consultants, to improve the quality and cohesion of the Software AG product suite.
  • Maintaining previous releases of the Universal Messaging product and assisting with the timely resolution of incidents raised by customers.


This role provides opportunities to work on a variety of projects covering areas including performance engineering, improving usability, distributed and fault tolerant systems design, evaluating and integrating new technologies with our suite, and API design. Occasionally the role might include customer-facing interaction and travel to customer sites, as well as to Software AG’s other offices in the UK and overseas.






  • You will have a First Class or Upper Second Class degree in Computer Science or a related subject.
  • You must have, and be able to demonstrate, up-to-date development skills in core Java.
  • You should also have some experience of other widely used programming languages and be keen to expand your knowledge of these as required.
  • You must have practical experience of developing and debugging multi-threaded software.


Highly desirable:

  • Experience of software development on multiple platforms including Windows and Linux.
  • Experience of commercial software engineering, working practices and methodologies, especially agile software development.
  • Knowledge and practical experience of modern quality assurance methodology and practice, including unit, system and integration testing, and test-driven development.



  • Graduate or post-graduate qualifications in Computer Science or a related subject.
  • Experience with messaging technologies including JMS, and protocols such as AMQP and MQTT.
  • Experience with cloud concepts and patterns, including container technologies such as Docker and Kubernetes.
  • An understanding of networking and machine architecture concepts.
  • An understanding of distributed systems concepts such as consensus, clustering, fault tolerance and high availability architectures.




  • You should be someone who takes pride in constantly improving, and is passionate about delivering software engineered to the highest standards of readability/maintainability, performance, and usability. 
  • You will have strong interpersonal and presentation skills, including the ability to communicate clearly and concisely with your peers and prospects/customers.
  • You will be able to operate independently and work on your own initiative, taking ownership and responsibility for software deliverables.
  • You should be willing and able to self-teach new technologies, patterns and best practices.
  • You should also be willing to ask questions when you don’t know the answer or believe that something is not right or could be done better.





  • A competitive compensation package.
  • A generous benefits package including Pension and Comprehensive Medical Insurance.
  • An opportunity to work in a world-class product development team.
  • A great working location in Cambridge.



















Job Segment: Product Development, QA, Developer, Engineer, Software Engineer, Research, Quality, Technology, Engineering

Apply now »