Workshop: Professional Development of Software Engineers Hazzan Orit Department of Education in Technology and Scinece Technion – Israel Institute of Technology Homepage: http://edu.technion.ac.il/Faculty/OritH/HomePage The profession of software engineering from a gender perspective Women and minorities are underrepresented in the community of the IT developers. We focus on women in the software industry: Women comprise about 50% of the world population, half of the workforce, but only 20%-30% of the IT sector. The absence of women in the hi-tech industry is almost a (western) worldwide phenomenon. Each country has its own minorities, local factors influence their involvement in the IT economy. The profession of software engineering from a gender perspective During the workshop we will conduct many activities. Activity 1: (10 minutes) Describe a typical day in the life of a software engineer. In what follows Facts Why should we care? What is the source of the phenomenon? What can be done? Facts The shrinking pipeline Keynotes The workforce Your personal experience Women in the software industry Background 37 28 1983-1994: USA, the shrinking pipeline Tracy Camp (1997). The Incredible Shrinking Pipeline, Communications of the ACM 40(10), pp. 103-110. The phenomenon is identified also in 1993-2002: 18 Vanessa Davies and Tracy Camp (2000). 16 Where Have Women Gone and Will They Be Returning, The Computer Professionals for Social Responsibility Newsletter. Conferences & keynotes Typical examples: XP Universe 2002 OOPSLA 2003 Sometimes, women are invited to talk about women in SE ICSE 2003 Exceptions ICSE 2002 Women in the software industry Resource: Joanne McGrath Cohoon, Keynote 2: Must There Be So Few? Including Women in CS, ICSE 2003. Personal Reactions Based on your personal experience: Write down statements, said by others, which are related to your studying of software engineering. Reactions Female CS major, 2000: When people ask me, “Oh, what's your major?” ... They would never think I'm a CS major … because I'm a female. Why should we care? Supply Diverse viewpoints Expand accessibility and fitness of IT products Gender equity: Participation in creative and financially rewarding careers SE and CS are new fields What is the source of the phenomenon? Factors that encourage/discourage male/female from choosing CS and SE. Female Encourage Discourage Male Both genders Why women do not study CS and SE? The image of these professions a typical workday is made of long hours of coding, coding and coding, without any human interaction. only “nerds” work in these professions. women tend to prefer jobs that are based on human interaction. Why women do not study CS and SE? Early education of girls girls are educated to accept the traditional, not to take risks and not to compete. to succeed in the hi-tech market one has to be an inventor, to be a risk-taker and to compete. family and teachers support. Why women do not study CS and SE? Young girls' exposure to technology girls are not encouraged to play with computers. compare the variety of the computer games that are offered to girls and to boys! Why women do not study CS and SE? Discussion Outline main features of a computer game that in your opinion fit and may appeal to young girls. Conduct the same task for a game that fits and may appeal to young boys. Are there differences between the two games? If yes – what are the differences? If not – what is common to these two games? Why women do not study CS and SE? Activity Design a compute game that may be attractive for young girls? What are its main characteristics? What are the main guidelines that you followed? What are the main design principles that you have employed? May the designed game be attractive for young boys as well? Why women do not study CS and SE? Lack of role models – women with whom the young women can identify role models may increase the young girls’ attention to women’s success in the hi-tech industry. programs of pairing up female high-school students with mentors in the industry let the young girls experience what a career in the tech fields means. What can be done? Workshop plan Personal stories Tell your story (past and future) Role models Tell the story of a role model Case studies Construct a case study that illustrates one aspect of the topic Development environments Analyze a team meeting Describe your preferred development environment Personal development plans What can be done? CMU initiative Associations What can be done? CMU initiative, 1995: An interdisciplinary program of research and action has been initiated. The research aspect aimed to understand students' attitudes towards computer science. The action component aimed to devise and effect changes in curriculum, pedagogy and culture that will encourage the participation of women in the computing world. What can be done? Results: The entering enrollment of women in the undergraduate computer science program at CMU has been raised from 8% in 1995 to 42% in 2000. The full story is described in: Margolis, J. and Fisher, A. (2002). Unlocking the Clubhouse: Women in Computing, MIT Press. What can be done? Associations: ACM/Women women@scs WICS: Stanford CS Department WICSE: Women in Computer Science and Electrical Engineering, University of California, Berkeley What can be done? CMU initiative Associations This workshop takes a different approach: Personal responsibility Awareness to: Software development processes Development environments Mapping the profession of software engineering This workshop examines: Characteristics of software engineering Possible professional careers and opportunities within the field The appeal of a software engineering careers for women Identification of ways of influence in the field of software engineering Software Engineering What is software engineering? What do software engineers do? What skills are required from software engineers? Software Engineering The term software engineering has first been used in the 1968 North Atlantic Treaty Organization (NATO) software conference in Garmisch, West Germany. Following the recognition of the software crisis: Recognition that software development is a long and complex process. What is Software Engineering? SEI software engineering definition from 1990 SEI Report on Undergraduate Software Engineering Education (CMU/SEI-90-TR-003) Engineering is the systematic application of scientific knowledge in creating and building cost-effective solutions to practical problems in the service of humankind. Software engineering is that form of engineering that applies the principles of computer science and mathematics to achieving cost-effective solutions to software problems. What is Software Engineering? What do software engineers do? What skills are required from software engineers? What is Software Engineering? Software engineers work with people: Customers and teammates. Software engineers are chiefly accountable to the public. Software engineers need broad understanding of all the factors that affect the product they are building. What is Software Engineering? Software engineers should know how to apply scientific knowledge for the construction of reliable and useful software systems. In addition: Software engineers should be aware and sensitive of their teammates, their communication style, and customers' requirements. What may attracts women to SE? Recognition of ways of influence in the field of software engineering. Software development is also about communication (person to person) Process-Product Extreme Duality (in what follows) Programming (in a later stage of the workshop) Product oriented vs. Process oriented perspectives at Software Engineering Floyd, C. (1987). Outline of a Paradigm Change in Software Engineering. In: G. Bjerknes, P. Ehn, M. Kyng (Eds.), Computers and democracy - a Scandinavian challenge. Aldershot, UK: Avebury, 191-212. Product oriented vs. Process oriented perspectives at Software Engineering Product-Oriented view: Computer programs are formal mathematical object. The correctness of computer programs is based on mathematical proofs. Product oriented vs. Process oriented perspectives at Software Engineering Process-Oriented view: Computer programs are tolls or working environments created for people. Computer programs are designed through learning process and based on communication in order to fit then to users’ needs. Product oriented vs. Process oriented perspectives: Quality Product-Oriented view: Quality is associated with the product’s features. Criteria that determine the software quality address its efficiency, reliability, etc. Product oriented vs. Process oriented perspectives: Quality Process-Oriented view: Quality is associated with the processes by which the software is used. Criteria that determine the software quality address the way it is used. Product oriented vs. Process oriented perspectives: Methods Product-Oriented view: Correct and consistent application of methods leads to unique results. Methods are constant, well defined and are independent of the contents, the developers and the users. Development methods help software developers to be independent. Product oriented vs. Process oriented perspectives: Methods Process-Oriented view: Methods support communication among people. Methods are useless unless they are used by people. Methods are developed based on accumulative experience, and they should be adjust to specific needs and situations. Identification ways of influence in the field of software engineering First stage – Personal stories Preparation for the next meeting: Tell your personal story in software engineering (past and future). Past: How did you end up in software engineering? What did you find attractive in software engineering? What problems did you face? How did you solve them? Future: How do you envision your future in software engineering? (cont’d) Identification ways of influence in the field of software engineering First stage – Personal stories (cont’d) Preparation for the next meeting: Reflect on significant events in your story: What did you do well? What could you have done better? What directions would you have considered had you had known then what you know today? Identify ways in which you can contribute to your country? society? community? Suggest specific actions you can take to achieve your goals.