Share this Job
Apply now »

Senior Software Engineer

Cambridge, GB

This position is availible in Cambridge




The successful candidate will be a member of the close-knit and highly skilled multi-disciplinary R&D team building new features for Apama's award-winning high performance event processing product, using a variety of interesting technologies and techniques.

This position would suit someone with 2-4 years of commercial experience, or a recent graduate/PhD student who has built some non-trivial software in their spare time.

We are looking for an excellent all-round software developer with some experience of designing, building and testing software systems using C++ or Java. You should be a conscientious, proactive and highly-motivated individual, who will be keen to learn new skills on an ongoing basis.


Specific responsibilities will include:


  • Software architecture, design, development, documentation and testing
  • Membership of an agile software development team




You must 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 must have strong interpersonal skills, including the ability to communicate clearly and concisely with peers as well as the ability to operate independently and work on your own initiative, taking ownership and responsibility for software deliverables.

You should have a First Class or Second Class Upper First degree in Computer Science, Mathematics or an Engineering-related subject, with a Masters or Ph.D. degree in a relevant subject considered desirable.

The following skills and experience are highly desirable:


  • Knowledge of the latest programming patterns and best practices, especially in Java and/or C++.
  • Practical experience of systems programming techniques including multi-threading, and ideally performance optimization, memory profiling and distributed systems.
  • Ability to self-teach new technologies.
  • Ability to present complex technical subjects clearly.
  • Understanding of data structures, algorithms and algorithmic complexity.
  • Experience of object-oriented design.
  • Experience of commercial software engineering working practices and methodologies, particularly agile software development e.g. Scrum/Kanban. 
  • Practical experience of QA methodology and practice, e.g. unit testing, TDD and CI.
  • Knowledge of scripting languages like Python.
  • Experience of software development and maintenance on multiple platforms including Windows and Linux, and ideally also platforms like Raspberry Pi.




Get in touch with me via


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.


















Job Segment: Developer, Software Engineer, Engineer, Computer Science, Java, Technology, Engineering

Apply now »