Software Engineering

You can count on us for requirements definition, technical design, software design, graphic design, usability, development and testing – from individual components through to complete product and platform development. With expertise at all layers of the software stack across multiple platforms, and for connected/smart devices, platforms, back-end and cloud, we look forward to partnering with you to bring your software solutions to market.

Product and platform development for connected devices

Drawing on our expertise across the entire software lifecycle, we can help you take your ideas from concept to commercial reality – with technical consultancy and design through to development, integration, testing and ongoing maintenance.

We can help with physical product development, including evaluating and selecting hardware platforms, BOM analysis, and designing and implementing software system architecture.

We also specialise in reference platform development, developing core platform modules and integrating third-party components. We’re often recommended and referred to our customers’ end-customers, creating bespoke versions of the platform to suit particular market requirements.

Back-end and cloud development

We help leading cloud and back-end solutions providers with infrastructure development, including evaluating and selecting server and cloud platforms, and designing and implementing back-end architecture.

Today’s systems and solutions change so quickly that rapid prototyping is becoming ever more important. We specialise in prototyping solutions that run on new and emerging back-end and cloud technologies, allowing our customers to quickly assess the benefits and possibilities of the latest R&D innovations and ideas.

As well as core back-end server and cloud platform development, we specialise in integrating solutions from our customers’ end-customers and adapting them for their specific markets.


When it comes to project methodology, we’re agnostic. Although most of our projects today are based on iterative, agile methodologies such as Scrum, many of our customers prefer to work with milestone-based models like Waterfall. Generally we find that agile methodologies suit most modern projects, and they’re our standard way of working.

Agile methodologies work best when a programme of periodic software releases is required on a two to three month cadence. They also work well where an existing product is being incrementally improved, and the feature roadmap is liable to change.

More traditional engineering practices are generally used on longer product development cycles, where new products are being developed from scratch. These projects often have product roadmaps "cast in stone" up to a year in advance of delivery. Larger engineering style projects representing hundreds of millions of dollars of investment tend to be executed in this way.

Open source technologies

With well established expertise in working with open source technologies in all our industries, our customers have the major benefit of knowing that their products are built on the experience of a large group of experts using the most feature-rich, innovative technology available.

The types of open source software we work with include operating systems, build tools, communications stacks, application frameworks and browsers. We also contribute to open source projects.

Our focus areas

  • Product roadmaps – by partnering to understand our customers’ roadmaps we make sure of a proactive technology strategy
  • Platform architecture – designing a well-designed platform is key to performance, cost savings and future-proofing
  • Feature development – specific feature design, implementation and testing
  • Customisation – creating bespoke platforms and solutions tailored to suit specific requirements
  • Integration – customising and integrating subsystems for specific end-customer needs
  • Porting – migrating components or complete systems across different hardware platforms / OS
  • Benchmarking and optimisation – comparing specific components' functionality or performance against standard test suites, and subsequent optimisation by techniques such as hardware acceleration, hand-crafting problematic functions and deduplication
  • Defect fixing – teams and automated technologies specialising in testing, validation and defect triage/resolution
  • Legacy systems and maintenance – enabling our customers to prioritise their internal development teams on next generation products

Computer Vision: Integrating with the Real World – White Paper

Computer Vision: Integrating with the Real World – White Paper

Technology Insight

The field of computer vision allows a computer to emulate human vision by showing perception and understanding of the content of an image or video. The computer can then make decisions based on this understanding: for example, detecting the collision of an object coming towards it or identifying parts of an input image such as a face or type of object.

View article >