3-minute read - by Sander Hofman, October 6, 2017
Software development skills are in demand, as any quick scan of online job boards will confirm. But the people doing the hiring have an important piece of advice: knowing how to code isn’t enough for long-term career success. The developer skill set is changing.
“Software engineering is about abstraction and structure,” says Jan Friso Groote, professor in computer science at the Eindhoven University of Technology (TU/e). “The real problem of software is that it is so immensely complex that if it is not well structured, it becomes unmaintainable.”
As a result, the most important skill of a software developer isn’t writing code and testing it until the bugs are quashed. It is understanding the essence of a problem and building a structured, reliable, extendable and maintainable approach for solving it.
For development teams who have taken this approach to its logical conclusion, it means that software engineers write very little traditional code. They spend most of their time working in abstract modelling languages, specifying the behavior of a system. Formal verification tools allow those teams to be confident that their solution is complete and error-free, and the code itself is then automatically generated.
With such a model-driven engineering (MDE) approach, software developers at ASML recently replaced half a million lines of code that had been built the conventional way.

“When we made this change to our software, it was a challenging period and a lot of energy was needed from our software engineers,” says David van Beek, who leads a group of software engineers at ASML. “We really grew as a group and as a department. We continue to grow now, and we need developers with this energy and drive to ensure we continue to produce a clean and extendable design in the years ahead.”






