Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Mutual Assessment in the Social Programmer Ecosystem

Leif Singer
February 25, 2013

Mutual Assessment in the Social Programmer Ecosystem

The slides for my CSCW 2013 talk on our study of how developers use social media. http://to.leif.me/devprofiles

Leif Singer

February 25, 2013
Tweet

More Decks by Leif Singer

Other Decks in Research

Transcript

  1. Mutual Assessment in the Social Programmer Ecosystem An Empirical Investigation

    of Developer Profile Aggregators Leif Singer, Fernando Figueira Filho, Brendan Cleary, Christoph Treude, Margaret-Anne Storey, Kurt Schneider @lsinger | leif.me
  2. High-profile Developers on Twitter Tweets All / No replies 12,345

    12,345 TWEETS TWEETS 166 166 FOLLOWING FOLLOWING 75,774 75,774 FOLLOWERS FOLLOWERS DHH @dhh Creator of Ruby on Rails, Partner at 37signals, Co-author of NYT Best-Seller Rework, and racing driver in World Endurance Championship. Chicago, USA · http://david.heinemeierhansson.com Follow DHH @dhh​ REWORK has been climbing back up the Amazon ladder lately. It's now #318 overall, #6 in Entrepreneurship: h t t p : / / w w w . amazon.com/Rework- Jason-Fr i e d / d p / 0 3 0 7 4 6 3 7 4 5 … View summary Feb 18 DHH @dhh​ Beautiful new site for iA Writer: h t t p : / / w w w . iawriter.com . I've used it exclusively to write the new REMOTE book on both Mac and iPad. Expand Feb 18 Tweets 60,192 60,192 TWEETS TWEETS 256 256 FOLLOWING FOLLOWING 9,427 9,427 FOLLOWERS FOLLOWERS Kelly Sommers @kellabyte DataStax MVP for Apache Cassandra and Windows Azure MVP, Mobile dev maven, backend brat, big data and distributed diva, Relentless learner. I void warranties. Canada · http://kellabyte.com Follow Kelly Sommers @kellabyte​ Vacationing is hard work. Holy cow I’m wiped. Expand 7 hrs Glenn Block @gblock​ Wow, Azure beats out AWS in perf test: networkworld.com/news/2013/02191 3 - a z u r e - a w s - 2 6 6 8 3 1 . h t m l ? h p g 1 = b n … Retweeted by Kelly Sommers 12 hrs Tweets All / No replies 3,689 3,689 TWEETS TWEETS 335 335 FOLLOWING FOLLOWING 68,050 68,050 FOLLOWERS FOLLOWERS Martin Fowler @martinfowler Loud Mouth, ThoughtWorks Boston · http://www.martinfowler.com/ Fo Avdi Grimm @avdi​ The only thing better than Lisp on the JVM is Smalltalk on the JV Help Redline make it happen: h t t p : / / ow.ly/hW6rY Retweeted by Martin Fowler Expand
  3. Stack Overflow 4 8 ▾ lsinger 116 3 chat meta

    about faq Questions Tags Users Badges Unanswered 9,834 results relevance newest votes active Search 158 votes 14 answers scala lift playframework asked sep 8 '10 by Shannon -jj Behrens Q: Should I use Play or Lift for doing web development in Scala? I'm stuck on whether I should focus on Play or Lift for doing web development in Scala. Play looks very polished. The Scala-specific tutorial looks amazing. Furthermore, since I've been coding in M … 110 votes answered sep 30 '10 by Chris Hagan A: Should I use Play or Lift for doing web development in Scala? I've now used both on moderate sized projects (each fairly traditional Web 1 apps). Lift was the first, and definitely had the impressive flash-to-bang of having the rest of my team come back from lu … 88 votes 6 answers java playframework asked apr 15 '10 by Rob Q: Play Framework: Real-world production experiences? [closed] Has anyone used the Play framework for a reasonably complex or large, deployed production app yet? If so, I would like to hear what the pros and cons of that experience were and what you might do diff … playframework search
  4. Stack Overflow 4 8 ▾ lsinger 116 3 chat meta

    about faq Questions Tags Users Badges Unanswered 9,834 results relevance newest votes active Search 158 votes 14 answers scala lift playframework asked sep 8 '10 by Shannon -jj Behrens Q: Should I use Play or Lift for doing web development in Scala? I'm stuck on whether I should focus on Play or Lift for doing web development in Scala. Play looks very polished. The Scala-specific tutorial looks amazing. Furthermore, since I've been coding in M … 110 votes answered sep 30 '10 by Chris Hagan A: Should I use Play or Lift for doing web development in Scala? I've now used both on moderate sized projects (each fairly traditional Web 1 apps). Lift was the first, and definitely had the impressive flash-to-bang of having the rest of my team come back from lu … 88 votes 6 answers java playframework asked apr 15 '10 by Rob Q: Play Framework: Real-world production experiences? [closed] Has anyone used the Play framework for a reasonably complex or large, deployed production app yet? If so, I would like to hear what the pros and cons of that experience were and what you might do diff … playframework search lsinger edit prefs flair summary answers questions tags badges 8 favorites bounties 25 repu less info 116 reputation 3 bio website leif.me location Hanover, Germany email [email protected] real name Leif Singer age visits member for 1 year, 11 months visited 144 days, 3 consecutive seen 3 mins ago stats profile views 3 (your about me is currently blank) click here to edit Questions Tags Users Badges Unanswered 3 Answers votes activity newest 5 Calling methods from main 5 How to return information with PHP from an AJAX request? 116 Reputation +50 Calling methods from main
  5. GitHub 5 Files Commits Branches rails / rails  Code

    Code Network Network Pull Requests Pull Requests Issues Issues Graphs Graphs 178 178 446 446 Read-Only access Ruby on Rails — Read more http://rubyonrails.org   Clone in Mac Clone in Mac   ZIP ZIP SSH SSH Git Read-Only Git Read-Only https://github.com/rails/rails.git Tags 174   master master branch: 22 1000+ commits latest commit b0fa9b59c8 Merge pull request #9348 from schuetzm/doc_no_indices_with_create_joi… fxn authored 2 hours ago  actionmailer 24 days ago Send paths argument as an array rather than converting it internally [carlosantoniodasilva]  actionpack 21 hours ago Revert "Merge pull request #4803 from lucascaton/master" [spastorino]  activemodel 2 days ago added more accurate test for add_on_empty [acapilleri]  activerecord 2 hours ago Merge pull request #9348 from schuetzm/doc_no_indices_with_create_joi… [fxn] rails /   … HTTP HTTP   Watch Watch   Star Star 17,508   Fork Fork 5,031
  6. GitHub 5 Files Commits Branches rails / rails  Code

    Code Network Network Pull Requests Pull Requests Issues Issues Graphs Graphs 178 178 446 446 Read-Only access Ruby on Rails — Read more http://rubyonrails.org   Clone in Mac Clone in Mac   ZIP ZIP SSH SSH Git Read-Only Git Read-Only https://github.com/rails/rails.git Tags 174   master master branch: 22 1000+ commits latest commit b0fa9b59c8 Merge pull request #9348 from schuetzm/doc_no_indices_with_create_joi… fxn authored 2 hours ago  actionmailer 24 days ago Send paths argument as an array rather than converting it internally [carlosantoniodasilva]  actionpack 21 hours ago Revert "Merge pull request #4803 from lucascaton/master" [spastorino]  activemodel 2 days ago added more accurate test for add_on_empty [acapilleri]  activerecord 2 hours ago Merge pull request #9348 from schuetzm/doc_no_indices_with_create_joi… [fxn] rails /   … HTTP HTTP   Watch Watch   Star Star 17,508   Fork Fork 5,031
  7. GitHub 5 Files Commits Branches rails / rails  Code

    Code Network Network Pull Requests Pull Requests Issues Issues Graphs Graphs 178 178 446 446 Read-Only access Ruby on Rails — Read more http://rubyonrails.org   Clone in Mac Clone in Mac   ZIP ZIP SSH SSH Git Read-Only Git Read-Only https://github.com/rails/rails.git Tags 174   master master branch: 22 1000+ commits latest commit b0fa9b59c8 Merge pull request #9348 from schuetzm/doc_no_indices_with_create_joi… fxn authored 2 hours ago  actionmailer 24 days ago Send paths argument as an array rather than converting it internally [carlosantoniodasilva]  actionpack 21 hours ago Revert "Merge pull request #4803 from lucascaton/master" [spastorino]  activemodel 2 days ago added more accurate test for add_on_empty [acapilleri]  activerecord 2 hours ago Merge pull request #9348 from schuetzm/doc_no_indices_with_create_joi… [fxn] rails /   … HTTP HTTP   Watch Watch   Star Star 17,508   Fork Fork 5,031
  8. Masterbranch 7 330 DevScore Leif Singer Hanover, Germany Software Engineering

    Social Software Communities of Practice PhD Student, Husband, Father, Cappuccino Lover, Mac User, Drummer, Ukulelist. Give free beer 5 connections Programming skills open source private Code Objective-J 1 project Since 2008 Python 1 project Since 2011 JavaScript 1 project Since 2009 make 1 project Since 2009 May 2011 to Apr 2012 play-dotcloud A module for the Play! framework that ma… more 95% 19 commits PYTHON YAML XML Dec 2009 to Jan 2010 Play-Push A demo app that shows how to use Cappucc… more 100% 13 commits OBJECTIVE-J JAVA HTML JAVASCRIPT Languages & technologies OBJECTIVE-J JAVA HTML YAML PYTHON JAVASCRIPT CSS MAKE XML APPLESCRIPT Projects Arnaud Héritier 37.2k DevScore Julien Viet 34.4k DevScore James Ward 20.2k DevScore clement escoffier 18.2k DevScore Are you an Open Source developer? Build your profile based on your Open Source experience in under a minute. Create a profile now! Create a profile now! Stats and reputation 35 views 169 search hits 1 beer received 96 reputation x1 project Related profiles
  9. Masterbranch 7 330 DevScore Leif Singer Hanover, Germany Software Engineering

    Social Software Communities of Practice PhD Student, Husband, Father, Cappuccino Lover, Mac User, Drummer, Ukulelist. Give free beer 5 connections Programming skills open source private Code Objective-J 1 project Since 2008 Python 1 project Since 2011 JavaScript 1 project Since 2009 make 1 project Since 2009 May 2011 to Apr 2012 play-dotcloud A module for the Play! framework that ma… more 95% 19 commits PYTHON YAML XML Dec 2009 to Jan 2010 Play-Push A demo app that shows how to use Cappucc… more 100% 13 commits OBJECTIVE-J JAVA HTML JAVASCRIPT Languages & technologies OBJECTIVE-J JAVA HTML YAML PYTHON JAVASCRIPT CSS MAKE XML APPLESCRIPT Projects Arnaud Héritier 37.2k DevScore Julien Viet 34.4k DevScore James Ward 20.2k DevScore clement escoffier 18.2k DevScore Are you an Open Source developer? Build your profile based on your Open Source experience in under a minute. Create a profile now! Create a profile now! Stats and reputation 35 views 169 search hits 1 beer received 96 reputation x1 project Related profiles 1 project Since 2009 YAML 2 projects Since 2009 Python 1 project Since 2011 JavaScript 1 project Since 2009 CSS 1 project Since 2009
  10. Masterbranch 7 330 DevScore Leif Singer Hanover, Germany Software Engineering

    Social Software Communities of Practice PhD Student, Husband, Father, Cappuccino Lover, Mac User, Drummer, Ukulelist. Give free beer 5 connections Programming skills open source private Code Objective-J 1 project Since 2008 Python 1 project Since 2011 JavaScript 1 project Since 2009 make 1 project Since 2009 May 2011 to Apr 2012 play-dotcloud A module for the Play! framework that ma… more 95% 19 commits PYTHON YAML XML Dec 2009 to Jan 2010 Play-Push A demo app that shows how to use Cappucc… more 100% 13 commits OBJECTIVE-J JAVA HTML JAVASCRIPT Languages & technologies OBJECTIVE-J JAVA HTML YAML PYTHON JAVASCRIPT CSS MAKE XML APPLESCRIPT Projects Arnaud Héritier 37.2k DevScore Julien Viet 34.4k DevScore James Ward 20.2k DevScore clement escoffier 18.2k DevScore Are you an Open Source developer? Build your profile based on your Open Source experience in under a minute. Create a profile now! Create a profile now! Stats and reputation 35 views 169 search hits 1 beer received 96 reputation x1 project Related profiles 1 project Since 2009 YAML 2 projects Since 2009 Python 1 project Since 2011 JavaScript 1 project Since 2009 CSS 1 project Since 2009 play-dotcloud A module for the Play! framework that ma… more 95% 19 commits PYTHON YAML XML
  11. Coderwall 8 Leibniz Universität Hannover Software Engineering, Social Software, Communities

    of Practice. PhD Student, Husband, Father, Cappuccino Lover, Mac User, Drummer, Ukulelist. Leif Singer Hannover, Germany Objective-J Java Python JavaScript Play! Framework HTML CSS Groovy 1 1 Skills Endorse Leif Endorse Leif Achievements Unlocked the Walrus achievement for using at least 4 different languages throughout your open source repos. Java, objective-j, javascript, and python. Play-Push play-dotcloud Unlocked the Forked achievement for having a project valued enough to be forked by someone else.
  12. Coderwall 8 Leibniz Universität Hannover Software Engineering, Social Software, Communities

    of Practice. PhD Student, Husband, Father, Cappuccino Lover, Mac User, Drummer, Ukulelist. Leif Singer Hannover, Germany Objective-J Java Python JavaScript Play! Framework HTML CSS Groovy 1 1 Skills Endorse Leif Endorse Leif Achievements Unlocked the Walrus achievement for using at least 4 different languages throughout your open source repos. Java, objective-j, javascript, and python. Play-Push play-dotcloud Unlocked the Forked achievement for having a project valued enough to be forked by someone else. Objective-J Java Python JavaScript Play! Framework HTML CSS Groovy 1 1 Skills Endorse Leif Endorse Leif
  13. Coderwall 8 Leibniz Universität Hannover Software Engineering, Social Software, Communities

    of Practice. PhD Student, Husband, Father, Cappuccino Lover, Mac User, Drummer, Ukulelist. Leif Singer Hannover, Germany Objective-J Java Python JavaScript Play! Framework HTML CSS Groovy 1 1 Skills Endorse Leif Endorse Leif Achievements Unlocked the Walrus achievement for using at least 4 different languages throughout your open source repos. Java, objective-j, javascript, and python. Play-Push play-dotcloud Unlocked the Forked achievement for having a project valued enough to be forked by someone else. Objective-J Java Python JavaScript Play! Framework HTML CSS Groovy 1 1 Skills Endorse Leif Endorse Leif Achievements
  14. Research Questions Reasons • why participate in this ecosystem? Modes

    of Interaction • how do participants interact? Impact • what is the influence of participation? Issues • what are challenges and risks? 10
  15. Procedure & Participants exploration through questionnaire • 83 users of

    Masterbranch, Coderwall 14 interviews with developers 12 interviews with recruiters • analysis based on Grounded Theory 11
  16. Procedure & Participants Developers • small Web dev shop, Norway

    • image recognition, Spain • Linux security company, USA • outsourcing company, Poland • ... 12 Diverse Populations
  17. Procedure & Participants Developers • small Web dev shop, Norway

    • image recognition, Spain • Linux security company, USA • outsourcing company, Poland • ... 12 Recruiters • research subsidiary of carmaker, Germany • IT services for local SMEs, Germany • Big Data company, Germany & USA • mobile + Web recruiter, UK • ... Diverse Populations
  18. Mutual Assessment developer at center • developers: find driven people

    – potential collaborators • recruiters: identify fast learners aware of assessment • developers manage their “personal brands” everyone looking for passion 14
  19. Passion technology & learning • constantly searching for interesting new

    frameworks, languages enjoying others • motivated by appreciation, recognition, competition 15
  20. Passion technology & learning • constantly searching for interesting new

    frameworks, languages enjoying others • motivated by appreciation, recognition, competition 15 “This incredible group of fascinating people that get interested in all sorts of things, makes it interesting to talk with them, and work with them.”
  21. Passion inspiration • new technologies • best practices • development

    culture 16 “On Twitter, I follow a few prominent software developers. For example, Kelly Sommers from Canada, she’s constantly trying new things. I don’t think she ever sleeps. She’s a great source of inspiration.”
  22. Coder Footprint technical niche • relevant? standing in community •

    important? interesting? 17 “When I look at repos around this topic, I may be interested in seeing the coder footprint of people that work in this area: their favorite languages, the topics they write code about, what they work on”
  23. Diversity … technologies • everything with single framework or tries

    new things? … paradigms • e.g. current hipness of functional programming … creations 18
  24. Diversity … technologies • everything with single framework or tries

    new things? … paradigms • e.g. current hipness of functional programming … creations 18 “He’s relatively broad. We’re looking for people who can get into new concepts quickly. That’s what makes a good coder.”
  25. Developer Profile Aggregators first step at aggregated coder footprint •

    superficial non-technical recruiters struggled • unsure: what do achievements mean? • misintepretations 19
  26. Developer Profile Aggregators developers / technical recruiters • first overview

    – need to look deeper code • do they use good practices? do they write tests? communication • how do they work with users? and with developers? • would I want to work with them? 20
  27. Summary mutual assessment with focus on developer/developer • passionate about

    community, technology, novelty • look for that in others – diversity as a sign • spectrum to explore: superficial aggregates vs. public protocols 22
  28. Summary influences on adoption of technologies & practices • achievements

    can motivate to try something new • appreciation from peers motivates • inspiration from opinion leaders actively sought 23
  29. Outlook influence of social transparency on testing practices • http://to.leif.me/ghtesting

    24 dissertation on systematic usage of such effects • http://to.leif.me/practiceadoption