Scientific software engineering is different
Scientific software engineering is different from normal software engineering. The algoritms are usually extremely complex, computations can last for days and errors are often subtle and hard to detect. Codes that are not properly structured or with a poor programming style quickly become unmanageable. Or even worse: applications that are used for crucial tasks may harbor serious bugs without anyone noticing it. Developing scientific of computational software should therefore ideally be done by people with the right, specialised skills.
But many scientific software engineers are actually not trained as software engineers. They are experts in some application field and taught themselves programming. Some manage to attain a respectable level, but some lack the feedback and control needed to grow.
Our course addresses both people with experience and people who are new to the field. And it addresses both developers that have been trained as such and people who are self-taught.
Given by experienced developers
The scientific software engineering course originated from the fact that all of our employees are experienced scientific software engineers. Over time, they have seen all the things that can go wrong in this type of software. From poorly structured code, through lack of tests to sensitivity issues. As our customers noted that we have developed a way of working to avoid these common pitfalls and to make the entire development process efficient, they asked us to provide trainings for their inhouse developers. Which we gladly do as it also makes our work easier.
A broad overview
The scientific software engineering course aims at giving the participants a broad overview of the skills needed to build computional software. All aspects of developing computational software are covered: the development process, numerical aspects like sensitivity of models, version management, programming styles, debugging techniques and various other topics. The main thing we teach is that discipline determines the success of a project. If you try to do things faster, it will usually take longer. See also our 10 rules for scientfic software engineering, which is sort of our credo.
Are you interested?
If you are interested in our scientific software engineering course, please contact us. We’d be happy to discuss the options with you.