Two Solitudes
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Two Solitudes

on

  • 40,922 views

 

Statistics

Views

Total Views
40,922
Views on SlideShare
35,951
Embed Views
4,971

Actions

Likes
41
Downloads
225
Comments
5

27 Embeds 4,971

http://www.redditmedia.com 4386
http://www.scoop.it 241
https://twitter.com 166
https://si0.twimg.com 57
https://twimg0-a.akamaihd.net 25
http://techishdotjeremy.blogspot.com 24
http://techishdotjeremy.blogspot.com.br 14
http://eventifier.co 8
http://pinterest.com 7
http://iblunk.com 5
http://matragkas.wordpress.com 5
http://techishdotjeremy.blogspot.ru 5
http://www.pinterest.com 4
http://twitter.com 4
http://www.techgig.com 3
http://tweetedtimes.com 3
http://eventifier.com 2
http://leapf.org 2
http://techishdotjeremy.blogspot.fr 2
http://bradensimpson.wordpress.com 1
http://localhost 1
http://techishdotjeremy.blogspot.de 1
https://fr.twitter.com 1
http://www.linkedin.com 1
http://techishdotjeremy.blogspot.com.au 1
http://techishdotjeremy.blogspot.ae 1
http://techishdotjeremy.blogspot.mx 1
More...

Accessibility

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • To clarify: slides 84-85 are not my words, they are quoted from a response to my idea of 'speed dating' to connect researchers to startups at ICSE 2013.
    Are you sure you want to
    Your message goes here
    Processing…
  • Very Nice. I don't agree with your UML example, this is in direct contradiction with my industrial experience. But nevertheless I agree with the general points. I wrote a short paper in IEEE Software recently somewhat along the same lines: 'Embracing the Engineering Side of Software Engineering', IEEE Software July/August 2012
    Are you sure you want to
    Your message goes here
    Processing…
  • @jackyfong908 I left U of T two and a half years ago, but they have lots of other great instructors for 301/302.
    Are you sure you want to
    Your message goes here
    Processing…
  • I was at your CUSEC '10 keynote. Hopefully you're still teaching 301/302 by the time I take it.
    Are you sure you want to
    Your message goes here
    Processing…
  • Unfortunately not.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Two Solitudes Presentation Transcript

  • 1. Two Solitudes Greg Wilson
  • 2. Two Solitudes Greg WilsonNot as long ago as you might think 2
  • 3. You are free to: Copy, share, adapt, or re-mix; Photograph, film, or broadcast; Blog, live-blog, or post video of;This presentation. Provided that: You attribute the work to its author and respect the rights and licenses associated with its components. 3
  • 4. Once Upon a Time... 4
  • 5. Once Upon a Time...1992: Get a PhD 5
  • 6. Once Upon a Time...1992: Get a PhD1994: “How can I teach software engineering when Ive never shipped product?” 6
  • 7. Once Upon a Time...1992: Get a PhD1994: “How can I teach software engineering when Ive never shipped product?” So get a job at IBM and learn 7
  • 8. Once Upon a Time...1995: Realize that IBM ships software despite its process 8
  • 9. Once Upon a Time...1995: Realize that IBM ships software despite its process “We do things this way because thats the way we do things” 9
  • 10. Once Upon a Time...1995: Realize that IBM ships software despite its process “We do things this way because thats the way we do things”Kind of embarrassing, since Id been telling scientistshow much they could learn from real programmers... 10
  • 11. Once Upon a Time...1995: So join a startup 11
  • 12. Once Upon a Time...1995: So join a startup A lean team of rockstars 12
  • 13. Once Upon a Time...1995: So join a startup A lean team of rockstars Individually, we were pretty smart 13
  • 14. Once Upon a Time...1995: So join a startup A lean team of rockstars Individually, we were pretty smart Together, our IQs cancelled out 14
  • 15. Once Upon a Time...1995: So join a startup A lean team of rockstars Individually, we were pretty smart Together, our IQs cancelled out Didnt learn anything about software engineering 15
  • 16. Meanwhile... 16
  • 17. Meanwhile...1986: Start programming for physicists on first-generation parallel computers 17
  • 18. Meanwhile...1986: Start programming for physicists on first-generation parallel computers1996: “What Should Computer Scientists Teach to Physical Scientists and Engineers?” (IEEE CS&E) 18
  • 19. Meanwhile...1986: Start programming for physicists on first-generation parallel computers1996: “What Should Computer Scientists Teach to Physical Scientists and Engineers?” (IEEE CS&E)1997: “OK, show us” 19
  • 20. Meanwhile...1986: Start programming for physicists on first-generation parallel computers1996: “What Should Computer Scientists Teach to Physical Scientists and Engineers?” (IEEE CS&E)1997: “OK, show us”1998: First Software Carpentry course at Los Alamos National Laboratory 20
  • 21. What I LearnedThe problem with teaching scientists is they know what evidence looks like 21
  • 22. What I LearnedThe problem with teaching scientists is they know what evidence looks likeThe problem with Computer Science is I didnt know of any 22
  • 23. Blind Alleys 23
  • 24. Blind Alleys 24
  • 25. But Then 25
  • 26. But ThenHey, we actually know stuff about things! 26
  • 27. And Also 27
  • 28. And AlsoHey, some people actually know how to do this! 28
  • 29. So, In 2002... 29
  • 30. So, In 2002...● What I knew about building software, Id learned on the job 30
  • 31. So, In 2002...● What I knew about building software, Id learned on the job● Most of my colleagues didnt know that there had ever been more than half a dozen empirical studies of real software development 31
  • 32. So, In 2002...● What I knew about building software, Id learned on the job● Most of my colleagues didnt know that there had ever been more than half a dozen empirical studies of real software development Hands up if you think this has changed in the last ten years... 32
  • 33. Computer Science Isnt 33
  • 34. Computer Science Isnt● How many experiments did you do as an undergraduate? 34
  • 35. Computer Science Isnt● How many experiments did you do as an undergraduate?● How much experimental data did you analyze? 35
  • 36. Computer Science Isnt● How many experiments did you do as an undergraduate?● How much experimental data did you analyze?● How many experimental papers did you read? 36
  • 37. Computer Science Isnt● How many experiments did you do as an undergraduate?● How much experimental data did you analyze?● How many experimental papers did you read? Hands up if you think this has changed in the last ten years... 37
  • 38. OK, Now Im Mad 38
  • 39. OK, Now Im Mad2006: About to start teaching software architecture 39
  • 40. OK, Now Im Mad2006: About to start teaching software architecture Looked at over a dozen books with those two words in their titles 40
  • 41. OK, Now Im Mad2006: About to start teaching software architecture Looked at over a dozen books with those two words in their titlesHow to describe architectures 41
  • 42. OK, Now Im Mad2006: About to start teaching software architecture Looked at over a dozen books with those two words in their titlesHow to describe architectures How to develop architectures 42
  • 43. OK, Now Im Mad2006: About to start teaching software architecture Looked at over a dozen books with those two words in their titlesHow to describe architectures How to develop architectures But no actual architectures! 43
  • 44. The Question Is 44
  • 45. The Question IsWhere are all of our examples? 45
  • 46. The Question Is Where are all of our examples?Thats how everybody else teaches... 46
  • 47. The Answer Is Few and far between 47
  • 48. The Answer Is Few and far between 48
  • 49. From: Greg WilsonSubject: Beautiful CodeDate: May 17, 2006I hope you dont mind mail out of the blue, but Im working on anew book project with OReilly called "Beautiful Code" and wouldlike to ask you to contribute an article-length section. Profitsfrom the book will be donated to Amnesty International.The book will be a collection of master classes in software design.In each chapter, a well-known software developer will present oneof his or her favorite pieces of code, then explain what makes itparticularly appealing. The aim is to "think aloud" while walkingthrough its design and implementation, so that junior developerscan learn to see through more experienced developers’ eyes.Thanks,Greg 49
  • 50. I expectedFrom: [name withheld]Subject: re: Beautiful CodeSorry, Im too busy. Good luck. 50
  • 51. I expectedFrom: [name withheld]Subject: re: Beautiful CodeSorry, Im too busy. Good luck. Most people said From: [name withheld] Subject: re: Beautiful Code I dont think Ive ever written any beautiful code, but Id really like to read the book when its done. 51
  • 52. I expectedFrom: [name withheld]Subject: re: Beautiful CodeSorry, Im too busy. Good luck. Most people said From: [name withheld] Subject: re: Beautiful Code I dont think Ive ever written any beautiful code, but Id really like to read the book when its done. But quite a few said From: [name withheld] Subject: re: Beautiful Code Sure, count me in! 52
  • 53. Beauty Comes in All Sizes 53
  • 54. Beauty Comes in All Sizes 54
  • 55. Beauty Comes in All Sizes 55
  • 56. Beauty Comes in All Sizes 56
  • 57. A Beautiful Failure● No uptake as a textbook 57
  • 58. A Beautiful Failure● No uptake as a textbook 58
  • 59. A Beautiful Failure● No uptake as a textbook● Too eclectic to fit anyones curriculum? 59
  • 60. If At First You Dont Succeed... 60
  • 61. If At First You Dont Succeed...2007: Join faculty at the University of Toronto 61
  • 62. If At First You Dont Succeed...2007: Join faculty at the University of Toronto To: ResearcherFrom: Practitioner 62
  • 63. If At First You Dont Succeed...2007: Join faculty at the University of Toronto To: ResearcherFrom: Practitioner To: Practitioner From: Researcher 63
  • 64. 64
  • 65. The Result 65
  • 66. The Result 66
  • 67. The ResultYup, thats it,right there 67
  • 68. The Resulthttp://neverworkintheory.org 68
  • 69. The Resulthttp://neverworkintheory.org Ric Holts grad course 69
  • 70. If At First You Dont Succeed... 70
  • 71. If At First You Dont Succeed... try, try again. 71
  • 72. If At First You Dont Succeed... try, try again. If it still doesnt work, give up. 72
  • 73. If At First You Dont Succeed... try, try again. If it still doesnt work, give up. Theres no point being a damn fool about it. 73
  • 74. Two Solitudes 74
  • 75. Two Solitudes● The academic system does not respect practitioners knowledge (or timescales). 75
  • 76. Two Solitudes● The academic system does not respect practitioners knowledge (or timescales). – I know whereof I speak. 76
  • 77. Two Solitudes● The academic system does not respect practitioners knowledge (or timescales). – I know whereof I speak.● Practitioners dont understand that computer scientists dont care about building software. 77
  • 78. Two Solitudes● The academic system does not respect practitioners knowledge (or timescales). – I know whereof I speak.● Practitioners dont understand that computer scientists dont care about building software. – They are about the science of computing. 78
  • 79. In Our Particular Case Most practitioners (and computer scientists) simply dont know what empirical results exist (or how to interpret them). 79
  • 80. How Not to Fix This 80
  • 81. How Not to Fix ThisLets organize a speed-dating session withsmall companies and startups at ICSE 2013 81
  • 82. How Not to Fix ThisLets organize a speed-dating session withsmall companies and startups at ICSE 2013100 researchers + 100 practitioners5 minutes of one-to-one conversationThen shift left one chair 82
  • 83. How Not to Fix ThisLets organize a speed-dating session withsmall companies and startups at ICSE 2013100 researchers + 100 practitioners5 minutes of one-to-one conversationThen shift left one chair 83
  • 84. How Not to Fix ThisI suspect that there are very few start-ups with << 50 staffthat would pump millions into university research programssuch as Microsoft, Cisco, Intel, Google, SAP, Yahoo, IBM, etc.So returning your point... “start-ups” aren’t the audience. If weare going to connect research with industry – let’s try to fosterrelationships that might prosper both ways:1) Researchers who can calibrate their research with the scale + scope of industry challenges... and leverage research investments.2) Companies with time and interest to engage researchers – and money to invest... plus opportunities to hire or offer internships. 84
  • 85. How Not to Fix ThisI suspect that there are very few start-ups with << 50 staffthat would pump millions into university research programssuch as Microsoft, Cisco, Intel, Google, SAP, Yahoo, IBM, etc.So returning your point... “start-ups” aren’t the audience. If weare going to connect research with industry – let’s try to fosterrelationships that might prosper both ways:1) Researchers who can calibrate their research with the scale + scope of industry challenges... and leverage research investments.2) Companies with time and interest to engage researchers – and money to invest... plus opportunities to hire or offer internships. 85
  • 86. How Not to Fix This“Give me your money, please.” 86
  • 87. How Not to Fix This “Give me your money, please.”Why would people fund research if theyve never seen it? 87
  • 88. How Not to Fix This “Give me your money, please.”Why would people fund research if theyve never seen it? Or if what theyve seen isnt useful? 88
  • 89. How Not to Fix This “Give me your money, please.”Why would people fund research if theyve never seen it? Or if what theyve seen isnt useful? 89
  • 90. It Took Medicine 250 Years 90
  • 91. It Took Medicine 250 Years 1747: James Lind does the first controlled medical experiment in history 91
  • 92. It Took Medicine 250 Years 1747: James Lind does the first controlled medical experiment in history 1950: Hill & Dolls case control study of smokers and non-smokers 92
  • 93. It Took Medicine 250 Years 1747: James Lind does the first controlled medical experiment in history 1950: Hill & Dolls case control study of smokers and non-smokers using doctors as subjects 93
  • 94. It Took Medicine 250 Years 1992: Sackett coins the term “evidence-based medicine” 94
  • 95. It Took Medicine 250 Years 1992: Sackett coins the term “evidence-based medicine” 1993: Cochrane Collaboration http://cochrane.org 95
  • 96. It Took Medicine 250 Years 1992: Sackett coins the term “evidence-based medicine” 1993: Cochrane Collaboration http://cochrane.org Doctors know what science looks likeand understand what it has to do with them 96
  • 97. It Took Medicine 250 Years 1992: Sackett coins the term “evidence-based medicine” 1993: Cochrane Collaboration http://cochrane.org Doctors know what science looks likeand understand what it has to do with them so they support it and teach it. 97
  • 98. I Have a Cunning Plan 98
  • 99. I Have a Cunning Plan Stop trying to teach process. 99
  • 100. I Have a Cunning Plan Stop trying to teach process.D.L. Parnas and P.C. Clements: “A RationalDesign Process: How and Why to Fake It.”IEEE Trans. Softw. Eng., 12(2), Feb. 1986. 100
  • 101. I Have a Cunning Plan Stop trying to teach process. Start teaching analysis. 101
  • 102. I Have a Cunning Plan A new scientific truth does not triumph by convincing its opponents and making them see the light, but rather because its opponents eventually die, and a new generation grows up that is familiar with it. - Max Planck 102
  • 103. I Have a Cunning Plan A new scientific truth does not triumph by convincing its opponents and making them see the light, but rather because its opponents eventually die, and a new generation grows up that is familiar with it. - Max Planck 103
  • 104. I Have a Cunning Plan A new scientific truth does not triumph by convincing its opponents and making them see the light, but rather because its opponents eventually die, and a new generation grows up that is familiar with it. - Max PlanckThe next generation should do empirical studies 104
  • 105. I Have a Cunning Plan A new scientific truth does not triumph by convincing its opponents and making them see the light, but rather because its opponents eventually die, and a new generation grows up that is familiar with it. - Max PlanckThe next generation should do empirical studies(or at least read and analyze others studies) 105
  • 106. I Have a Cunning Plan A new scientific truth does not triumph by convincing its opponents and making them see the light, but rather because its opponents eventually die, and a new generation grows up that is familiar with it. - Max PlanckThe next generation should do empirical studies(or at least read and analyze others studies)so that they will understand and believe inempirical software engineering. 106
  • 107. TakeawayThe best way to improve communicationbetween research and industry isto create an undergraduate textbookthat is engaging and actionable. 107
  • 108. TakeawayThe best way to improve communicationbetween research and industry isto create an undergraduate textbookthat is engaging and actionable.Then wait ten years. 108
  • 109. Takeaway onlyThe best way to improve communicationbetween research and industry isto create an undergraduate textbookthat is engaging and actionable.Then wait ten years. 109
  • 110. Takeaway onlyThe best way to improve communicationbetween research and industry isto create an undergraduate textbookthat is engaging and actionable.Then wait ten years.“Bend the twig, Luke...” 110
  • 111. Takeaway onlyThe best way to improve communicationbetween research and industry isto create an undergraduate textbookthat is engaging and actionable.You can do this. 111
  • 112. Takeaway onlyThe best way to improve communicationbetween research and industry isto create an undergraduate textbookthat is engaging and actionable.You can do this.It will be fun. 112
  • 113. A Model to Imitate Roger R. Hock: Forty Studies That Changed Psychology. Prentice Hall, 2008. 113
  • 114. An Exam(ple)We analyzed 17 pieces of software ranging in size from 18KTo 110K lines, and calculated the density of design patterns: D = (# uses of patterns) / (# classes)We compared this value to the error density: E = (# errors found by customers) / (# classes)The correlation was -0.87, from which we conclude thatusing design patterns results in better code. Q: describe the flaws in this analysis. 114
  • 115. An Invitationhttps://thestrangeloop.com/ 115
  • 116. And A Plea 116
  • 117. And A Plea 50 detailed descriptions of the designs of real systems 117
  • 118. And A Plea 50 detailed descriptions of the designs of real systems By great designers 118
  • 119. And A Plea 50 detailed descriptions of the designs of real systems By great designers All freely available 119
  • 120. And A Plea 50 detailed descriptions of the designs of real systems By great designers All freely available And grammatical! 120
  • 121. And A Plea 50 detailed descriptions of the designs of real systems By great designers All freely available And grammatical!What insights can you add? 121
  • 122. Why I Care 122
  • 123. Why I Care 123
  • 124. Why I Care 124
  • 125. Why I Care 125
  • 126. For More InformationPersonal site http://third-bit.comSoftware Carpentry http://software-carpentry.orgNever Work in Theory http://neverworkintheory.org lu mes! Now in two voArchitecture of Open http://aosabook.orgSource Applications 126
  • 127. For More InformationPersonal site http://third-bit.comSoftware Carpentry http://software-carpentry.orgNever Work in Theory http://neverworkintheory.org lumes! Now in two voArchitecture of Open http://aosabook.orgSource Applications Thank You 127