Introduction

Put in simple words, the engineering profession is concerned with the scientific design and construction of artifacts, hopefully for the benefit of mankind. In the particular realm of software engineering, these artifacts may be either computational systems (e.g. programmed machines) or human systems (e.g. a software development process), or even a mixture of both, i.e. a system involving the interoperation of humans and machines. Common to all them is that the system has to reach a certain goal, or set of goals, in a verifiable way.

An engineer who becomes an educator in a school of software engineering has then the mission to teach how to design and construct software systems, therein applying his or her knowledge and expertise. However, due to their engineering background, engineers may forget that educating a person is not the same as designing a machine, since a machine has a well-defined goal, whilst a person is capable to self-propose his or her own objectives. The ethical implications are clear: educating a free person must leave space for creativity and self-determination in his or her own discovery of the way towards personal and professional fulfillment, which cannot consist only in achieving goals selected by others.

We present here an argument that is applicable to most fields of engineering. However, the dis-analogy between educating students and programming robots may have a particular appeal to software engineers and computer scientists.

Three Different Stages in the Educational Process

We think the consideration of three different stages in the educational process may be useful to engineers when they act as educators (see Fig. 1). We claim that the three stages (instructing, training and mentoring) are essential to engineering education. In particular, education is incomplete if the third stage is not reached. Moreover, mentoring (the third stage aimed at developing creativity and self-determination) is incompatible with an educational assessment framework that considers the goals of the engineer are always given by others. In our view, then, an integral education is not only beyond programming the behavior of students, but also beyond having them reach those given goals.

Fig. 1
figure 1

The three different stages in the educational process: name, goal and work performed in each stage

In the first stage, the student is instructed to follow concrete design rules and standards without questioning them, such as directives to name variables and functions in program code, style guidelines to build software diagrams, design and architectural patterns for systems, and so on. This is a sort of ‘programming’ the behavior of the future engineer, according to rules that are out of question because they are well established in the profession. We know these rules are beneficial, and we even instill them through rewards and penalties to reinforce the learning process. The evaluation of this educational stage is rather simple and verifiable through exams and projects: whether the student has learnt the prescribed procedures and how to apply them in concrete situations. In this first stage the focus is not on promoting critical thinking in the students, but their capacity to learn standard patterns of behavior.

Clearly, this is not enough in the education of engineers, and so we come to the second stage, where the student is trained to assess the adequacy of certain means to reach given goals. The student is given a problem, with the task to find a convenient solution, admitting there is not a single, perfect solution, but a range of solutions that can be better or worse in different regards (simplicity, efficiency, modifiability, extensibility, reuse, cost, and so on). If the first stage can be likened to the application of recipes, the second stage requires to ‘educate the taste’, i.e. the ability to appreciate the quality of different solutions, to be able to choose among them. Moreover, students have to develop the capacity to assess their own work, and the work of others, with critical judgment. This capacity is a sort of internal habit, in contrast to the more external application of rules. Evaluating this second educational stage is more difficult: we can ascertain whether the student has found a solution to the given problem, but judging the quality of the solution depends also on the subjective (not arbitrary) taste of the teacher, who shall have had to educate his or her own taste. Mediocre students (and mediocre teachers!) tend to resist this stage of education, demanding evaluation procedures that are fully ‘objective’ (i.e. closed and measurable). Good students, instead, enjoy a process that better accounts for their own inclinations and promotes critical thinking; they tend to criticize the teacher’s solution and evaluation criteria, and sometimes they are fully right!

One could think that this kind of training is enough to ‘produce’ good engineers… but we think that a third stage is still necessary, and more interesting. This is a stage where the student, future engineer, is not satisfied with reaching a goal that some other has chosen, but is able to self-propose his or her own objectives. The three stages could be described through the cooking metaphor: apply recipes, educate the taste, and create new dishes suitable for every occasion with available resources, which is the hallmark of a good chef. An engineer who is only capable to apply rules and standards is a very mediocre engineer (we can call it a ‘bureaucrat engineer’). An engineer who has the ingenuity to solve difficult problems, often in new and unexpected situations, is a lot more valuable. But engineers are fully grown up only when they have the energy to discover and decide what challenges they want to solve, to recognize problems that have gone unnoticed for the time being, to find genuine and innovative possibilities of relationship with the world. Creativity is manifested in finding effective solutions, but even more in identifying problems and defining criteria to evaluate potential solutions, especially when the relevant variables are not previously given in an explicit, closed collection, so that making a decision cannot be an algorithmic procedure. A good requirements engineer, for example, is not satisfied with an aseptic description of stakeholders needs, such as they are given; creativity and originality, instead, demand discovering also the needs themselves, and finding their adequate formulation, in close interaction with the stakeholders. If we deny this, then we are in practice reducing the role of the engineer to being a mere depersonalized instrument in the hands of others; an ‘intelligent’ instrument, but instrument after all, whose mission has been determined out there.

Think of a video games factory: the lower qualified simply program the solutions others have found; the middle level engineers find these solutions; but the leading engineers (the entrepreneurs) are those who invent the games, that is, the problems that require a solution: they are able to identify and decide what is a problem worthy of investigation, and they are able to devise verification procedures for the potential solutions. Put it differently, creative engineering has twofold: one, clearly define the problem and find a solution that satisfies all aspects of the given goal; and two (and more important), discover and decide the goal that deserves to be pursued. Of course, this bears a strong similitude with the twofold of creativity and self-determination in common life, i.e. in the election of means and in the election of ends, where the latter has priority over the former.

Ernst F. Schumacher, in his influential paper The Greatest ResourceEducation (Schumacher 1973), explains the difference between closed or ‘convergent’ problems (those whose solution can be written down and passed on to others, who can then apply the solution mechanically) and open or ‘divergent’ problems (those that do not have a unique and universal solution, but essentially involve creativity and personal growth). We have experimented for several years with this idea of proposing divergent problems in the syllabus of engineering courses. In a course in Software Engineering, for example, the students are not given a closed problem statement at the start. On the contrary, they are asked to state themselves a problem they would like to solve with a software system. They receive only general indications about the size of the problem (a limited complexity that can be afforded in a semester), which should be related to every-day needs or desires of ordinary people. We then select the best proposals (according to originality, practicality and adequacy to the needs of the course) and offer them to the rest of the class, who must choose among the winners (whose merits are acknowledged in their final marks, too). Some winning proposals were: Easy Park (to help find a parking place in the town), Conquer Your Monuments (to foster tourism through an on-street game), Fearless Walk (detection of obstacles for the visually impaired), Virtual Wardrobe (a social network to share your personal belongings), and so on. We think this way of promoting entrepreneurship among engineering students is most necessary and fruitful for their personal and intellectual development.

A different approach can be adopted, inspired in the methodology of ethnography (Van Maanen 1988), so that our future engineers can make field work to identify needs, promote development and enable ethically and socially desirable aspirations and resources. This kind of exercises and training may be especially valuable for students to acquire the capability to identify those aspects of reality in which they can intervene with their creations, adapted to the concrete circumstances, avoiding the imposition of previously defined problems and goals.

Is it possible to evaluate the progress of students in this third stage? Hardly, since the very evaluation framework is in question: there is not a concrete goal to be achieved, let alone in a measurable, objective and verifiable way. Indeed, we can question even the mere possibility to teach creativity and self-determination. In a sense, those who have reached this stage are not students any more, but rather junior engineers, who can be accompanied in a process of mentoring through their early professional development. Nevertheless, this stage should not be left over to years after graduation. Even if self-determination cannot be properly taught, it can be encouraged, and it should be encouraged (not hampered) right from the beginning of the educational program. In other words, the three stages of education, in our view, even if fundamentally consecutive, must show an increasing emphasis on self-determination as the educational process develops and students reach maturity. Besides, each stage conveys a growing degree of responsibility with regard to oneself, one’s clients, and society as a whole.

Educational Objectives and Assessment Styles

The evaluation style (within a closed or open framework) determines the whole educational process, thus the kind of engineer we obtain in the end. Even if you like the idea of promoting entrepreneurship, having a closed evaluation style (i.e. with given goals and objective evaluation criteria) is insufficient and can play against you, since it considers only instructing and training, yet it leaves out mentoring. Certainly, having standard evaluation criteria presents some benefits in a global world, but this style of assessment also hinders the teacher’s creativity and self-determination, which would be the best example to encourage students to participate in these attitudes.

Is this closed style prevalent in engineering schools? We think so. As a piece of evidence, think that many institutions of higher education in engineering follow the guidelines of the Accreditation Board for Engineering and Technology (ABET). In the case of Computing Programs (comprising Computer Science, Information Systems and Information Technology) there is a list of nine general outcomes that students should have attained by the time of graduation (ABET 2014):

  1. (a)

    An ability to apply knowledge of computing and mathematics appropriate to the program’s student outcomes and to the discipline.

  2. (b)

    An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution.

  3. (c)

    An ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs.

  4. (d)

    An ability to function effectively on teams to accomplish a common goal.

  5. (e)

    An understanding of professional, ethical, legal, security and social issues and responsibilities.

  6. (f)

    An ability to communicate effectively with a range of audiences.

  7. (g)

    An ability to analyze the local and global impact of computing on individuals, organizations, and society.

  8. (h)

    Recognition of the need for and an ability to engage in continuing professional development.

  9. (i)

    An ability to use current techniques, skills, and tools necessary for computing practice.

As we can observe (see our italics), program outcomes (b), (c) and (d) consider that the problems, needs or goals are given to the engineer, who has to attain the capability to find satisfactory solutions. The other educational objectives are more open, but none of them explicitly states that the engineer should grow in self-determination and creativity. Mentoring, as an educational activity aimed at developing creativity, self-determination and entrepreneurship, is neither explicitly nor implicitly considered by ABET. In other words, this program is adequate to ‘produce’ intelligent instruments, but it is insufficient to educate mature engineers.

We think, instead, that this level of maturity—attained in the third stage—is essential for the future engineer to be capable to think and bring something really innovative to the world, something that creates new ways of relationship between mankind and world, and among humans. We think software engineers, by contrast with other branches of engineering, have the power to create a new world that is less subjected to physical restrictions. This power entails a particular responsibility and awareness in their profession, and promoting them in university education is not a luxury.

The promotion of self-determination and creativity could be included within ABET guidelines, something like an additional desired outcome such as this: “The professional maturity to thoughtfully choose and valuate goals in a creative, self-determined and responsible way, for the benefit of society”. In a certain sense, this can be harmonized with the general, open approach of ABET. However, we cannot ignore that certain interpretations of ABET—those that seek a closed evaluation style where the attainments are strictly measurable and verifiable—are incompatible with the promotion of something that is, by its very nature, non-standard: maturity, self-determination, creativity. Indeed, mentoring can consider indicators of progress, but the mentor should never forget that maturity has many facets, and the target is not the same for everybody. There is not a single way to do things well; there is not a single way to be a good engineer.

It should be possible to design a quality evaluation system of engineering educational programs including the third stage, so that students are explicitly encouraged to discover their own objectives and to pursue them. We think this would be a very interesting challenge for ABET evaluation programs and the like. We certainly think the three stages are essential to education, which means that limiting education to those stages whose outcomes are measurable is impoverishing, so we defend a kind of education that includes non-measurable elements. This does not mean, in our thoughts, that every measuring of educational progress should be banished. What it does mean is: if we do not even open the door in education to the development of non-measurable creativity and self-determination, then universities will not educate engineers, but produce ‘programmed machines’. We think this reflection on the limits of measuring educational outcomes is necessary for those that have a responsibility of, or at least a strong influence on, educational programs. It is the interest of the whole society that students are not programmed like robots, killing their potential creativity.

Related Work

Bloom’s taxonomy (Bloom et al. 1956) also organizes educational learning objectives into three hierarchical levels (the cognitive, affective and psychomotor domains). There are some similarities with our own exposition of the educational process, particularly in the lower levels, but we think the differences are stronger in the upper, more characteristic levels of the hierarchy, with our emphasis on promoting leadership and entrepreneurship. We think both approaches are different and complementary.

Many studies have recalled the importance of entrepreneurship and innovation for organizations (Menzel et al. 2007; Williamson et al. 2013). However, our emphasis is not on the pragmatic importance of creativity and self-determination for business, but for the integral education of the person. Our proposal is more akin to the request of self-education, with concrete guidelines to integrate self-directed learning into the curricula of higher education institutions, in order to ensure that students are prepared for the lifelong learning that the future will require of them (Guglielmino 2013).

Van Gelderen (2010) has many points in common with us, in presenting a vision of entrepreneurship education that has the student’s capacity for autonomous action as its ultimate aim; however, his motivation is not explicitly ethical, and his research has a more psychological character. A fully ethical approach to mentoring and personalized education in the context of engineering studies can be found in Vesilind (2001), who describes the mentor as a special kind of friend (not a psychiatrist, not a lover, not a pal), who shares the joy of the mentee’s professional success; the encouragement of self-determination is implicit in this work, yet not very much elaborated.

Ethical Implications

“Perfection of means and confusion of goals seem to characterize our age”, said Albert Einstein in a 1941 conference (Einstein 1941). Our students need reflection on desirable goals, and not only on the adequate means to achieve them. Reflection on the ends of engineering naturally leads to ethical issues that arise in engineering but cannot be answered from within it, thus manifesting its bond with ethics and values; without this reflection on the ends, the danger is to fall into a relentless pursuit of efficiency and efficacy without knowing what for (Génova and González 2016).

Of course, promoting leadership and critical thinking has the risk that students think by themselves, which is too an ethical defense against doing whatever the client wants, whose desires might possibly be in contrast with the benefit of mankind. Yet, willing to avoid students to become blind instruments, we do not mean that engineers should always do what they decide to do, without consideration to their clients and employers. We claim that mentoring to achieve self-determination and entrepreneurship is an essential element of education, not the only element. Training to be able to solve problems identified by others is the goal of the second stage, which we naturally acknowledge and estimate. Our point is, however: the second stage is not enough.

Educating a free person must leave space for creativity and self-determination, because a free person, in contrast with a machine, is not one that has been designed with a well-defined goal it has to accomplish in a verifiable way. A free person has to discover his or her own way towards fulfillment, also in the development of professional life, which cannot consist only in achieving goals selected by others. Therefore, promoting entrepreneurship plays a crucial role in the ethical personalization of education, where the application of standards (so common in engineering practice) does not reach the individual circumstances. This requires a closer relationship between the student and the teacher, who becomes then a mentor, well conscious that you can only teach when you are willing to learn. In our complex university systems, there will be surely many teachers who do not want to become mentors; and many students who do not want to be mentorized, and prefer to keep a ‘safe’ distance from the staff. But many others, teachers and students, will be willing to get involved in a personal encounter that is so enriching for both parties, but that risks to be blocked by a too closed evaluation style, whose main value seems to be uniformity. We need to avoid the risk that the evaluation of indicators and outcomes turns to be an obstacle for a more personal relationship; the risk that, instead of being an aid to the student’s full development, measurements become a hindrance, because they hide rather than manifest what they should measure.

Another important ethical implication of mentoring in education is the growth in responsibility parallel with the growth in self-determination. The student can learn that fulfilling the bureaucratic minimum of a set of behavior rules is not enough to become a responsible agent, much in the same way as following the standards is not enough to become a creative engineer, one that is capable to offer a product that is really good and innovative.

Finally, reflection on desirable goals and promotion of entrepreneurship is not only a way to generate self-employment and improve business, but also a way to take ethical and social commitments to building a more just, equitable and inclusive reality. The maturity of our democratic societies and the growth in civic responsibility demand from universities and teachers their involvement in fostering social entrepreneurship, which must be a part of the competences acquired by our professionals during higher education.

Conclusions

Summing up, the three stages we propose to illustrate the educational process are:

  • Instructing to follow concrete design rules and standards without questioning them (‘program the behavior’).

  • Training to assess the adequacy of certain means to reach given goals (‘educate the taste’).

  • Mentoring to develop self-determination and creativity (‘promote entrepreneurship’).

We have previously described these three stages through the cooking metaphor: apply recipes, educate the taste, and create new dishes. We have also alluded to the dis-analogy between educating students and programming robots, because the robot metaphor is closer to software engineering and computer science. Let’s make the dis-analogy fully explicit now, because it can serve as a warning for engineers that become educators of future engineers:

  • The first stage resembles the task of programming a robot with rules of behavior.

  • The second stage is like leaving alone the robot to learn how to reach the goals it has been given.

  • As to the third stage… we think the third and culminating stage, with the capacity to propose one’s own goals, breaks the very notion of ‘robot’, at least the notion of ‘obedient robot’ (as sci-fi stories portray, once and again).

Beware your working habits: educating a person is not the same as designing a machine, you must not educate people as you program robots. Engineers design machines; engineers-educators teach how to design machines; but engineers-educators do not design machines. Students are not to be programmed, but educated, so that they develop creativity and self-determination in his or her own discovery of the way towards personal and professional fulfillment.