As a software craftsman that is proud of his profession I find it both disturbing and insulting to see so-called 'futurologists' misleading the general public with 'visions' that are both unfounded and unrealistic. Unfortunately the general public is unable to discern the boys from the men. Our profession is still too young for its roles to have been formalised and communicated to a wider audience. But now that our profession has permeated every nook and cranny of our daily lives it is time to do so. The stakes are by now too high to have the blind leading the blind. The sorry state of our privacy, digital security, information sanity and the vulnerability of the fundamental institutions making up our hard-won open and inclusive societies, have made that more than clear over the past couple of years. Even to the general public. It's time for the experts to lead the way, but that requires the general audience to know what an expert is and what isn't. In older professions that are relevant to large parts of the general audience this is solved by formalising roles and communicating that to a larger audience. Take doctors for instance. Nobody in their right mind would consider asking their nephew for advice when they have pain in their chest. Even if that nephew is an enthusiastic healthcare hobbyist that has read all the latest newspaper articles about cardiology. They would go to a cardiologist because they know that there is a difference between someone that is merely interested in a topic and a craftsmen that went through a long and thorough training to become a cardiologist. Imagine a cardiology conference where all the speakers were non-cardiologist and had no formal training in cardiology whatsoever. Although this sounds absurd, it is exactly what is happening in the area of our software profession. Since the general public can't tell the difference the blind that lead the blind were able to get away with it. Even though I'm not too big on formalising roles, since it often leads to a misplaced installation of a formal hierarchy, I do think that it is the only way to teach the general audience how to distinguish between an expert and a hobbyist. And as with doctors I propose to attach an ethical oath to the profession obliging software engineers to stick to an ethical code and taking responsibility for their work. As Yoah Noval Harari said in a recent interview: "I think it's extremely irresponsible, that … you can have a degree in computer science … and you can design all these algorithms that now shape people's lives, and you just don't have any background in thinking ethically and philosophically about what you are doing".
I'm not aware of any effort in this direction but I do think the time is right. We need to get the educational institutes on board and formalise both the titles and they way they are handed out. This would require making the titles legally protected to prevent their value from watering due to abuse. And it would take the communication of these titles to the general public. A route that will likely take many years but will be worth the effort. In the meantime we can start explaining to the general audience that there is a difference between a craftsman and a hobbyist, and that they are both entitled to their opinion, but that the one of the craftsman has a lot more weight. Just as with doctors.