Training
We don’t just offer software design and development services – we also provide training so your existing developers can become more effective.
Some of our areas of specialisation are detailed below. If you don’t see a topic you’re interested in here, please get in touch and we can advise whether we can offer training that meets your needs.
Modern C++
The C++ programming language is constantly involving. New features and tools are not always obvious. We can offer training in the use of modern C++ standards and offer guidance on applying them to existing codebases.
Training can be customised based on your codebase and the skills and needs of your development team. Example topics that we can cover include:
- safer alternatives for C constructs
- asynchronous programming with coroutines
- using C++ features in embedded enviroments
- managing features across toolchains
- upcoming and proposed additions to C++
The training can be focused on specific topics or can cover a broad range of subjects (or anywhere in between) as you need. We can also work with you on modernising existing C++ codebases, whether identifying particular improvements or helping implement those changes. Get in touch with us to develop develop a training plan to suit your needs.
Writing safer software
Writing safe software is hard and the complexity of modern software is growing. There are no silver bullets but there are a number of techniques that can be used to isolate complexity and reduce the chance of errors.
Training can be customised based on your area of business and software safety needs. Examples of topics that we can cover are:
- programming languages and their trade-offs
- threat analysis and designing for safety
- cryptography
- improving the safety of unsafe languages
- processes for writing safer software
Every software project and team is unique but the majority of software safety issues are caused by the same few types of bug. We can help you improve your processes to reduce the frequency and impact of these issues when they happen. Get in touch with us to develop a training plan to suit your needs.
Unicode and internationalisation
- how Unicode works
- complex text processing
- UI design for multi-lingual applications
- retrofitting Unicode support
- tools for Unicode
Open-source citizenship
Open-source software is ubiquitous. It is written and used by everyone from individual hobbiests to the largest multinational corporations. While one of the attractions of open-source software is the price tag, there can also be benefits from contributing back to open-source projects.
Topics that can be covered include:
- rights and obligations of open-source licenses
- open-source social structures
- ways of contributing
- why you might want to contribute
- open-source business models
This subject is less technical in nature and benefits from management participation as many of the topics touch on areas where company policy could be developed. Get in touch with us to develop a training plan to suit your needs.