“Don’t look down on end-users”
In the future, everyone will be a programmer for 15 minutes. How is that possible? We talked to Felienne Hermans, assistant professor at Delft University of Technology and Software Architecture Summit speaker, about the difference between a professional developer and what she calls „end-user programmer.“
Every professional is, or will be a programmer soon. How can we make sure that non-developers learn to build rigorous tools, test and improve their source code? We talked to Felienne Hermans, assistant professor at Delft University of Technology and Software Architecture Summit speaker, about her research on the topic of end user testing, error finding and refactoring.
JAXenter: In your keynote, you mention that every professional will be a programmer soon. Why is that?
Felienne Hermans: There is more and more data. For example, a school teacher used to teach and they are now tracking the progress of their pupils in a student tracking system. They might wonder about who has made the least progress this month, and they get that info with a query or script now.
JAXenter: What would you say is the difference between a professional developer and what you call „end-user programmer“?
Felienne Hermans: End-user programmers are people that do not program as a job, but as a means to an end. That does not mean, by the way, that they aren’t trained. A programmer who creates a small script to deploy something is an end-user because the script is not meant to be shared or maintained. But many end users aren’t trained.
The programs end-user programmers create are, by definition, not meant for others to use.
JAXenter: Your talk is based on your research at Delft University. What was the scope of your research?
Felienne Hermans: Because end-user programmers create programs to support their own domain of expertise, the programs they create are, by definition, not meant for others to use.
However, a core problematic aspect of end-user programming is that sometimes the created artifacts evolve from personal solutions to programs used by many colleagues. When that happens, the end users who often didn’t expect this situation and are unprepared for it must suddenly take on the challenges of professional developers, such as testing and maintaining their creations. This problem offers several interesting research directions for software engineering, some of which I studied in my dissertation, including code smells, refactoring and testing for end-users in spreadsheets.
How awesome is it that people that are untrained can get things done?!
JAXenter: What were the most interesting findings?
Felienne Hermans: End-users are just like normal devs :)
JAXenter: What is the key message of your keynote?
Felienne Hermans: Don’t look down on end-users. How awesome is it that people that are untrained can get things done?! Let’s come together and help them with our knowledge as developers.
Thank you very much!
Felienne Hermans will be delivering a keynote at Software Architecture Summit in which she will summarize her research on the topic of end-user testing, error finding and refactoring, as well as presenting a sneak peek into the future of her research at Delft University.