David Socha, Ph.D.

Current Research Projects and/or Areas of Interest 

My research and teaching interests are focused on how professional software developers collaborate and design complex software systems. This involves many aspects from technical to social, business to science, quantitative to qualitative.

My main research project is a study of how professional software developers do their authentic work in their places of work. Almost all of the prior work in this area has been undertaken in contrived settings on contrived problems, not in the actual workplace on the actual work. Going to the site of authentic work is critical for this type of work because, as Suchman and Trigg state, “work activities in every case take place at particular times, in particular places, and in relation to specific social and technological circumstances” (Suchman, 1997, p. 65). Our project is a study of this authentic, situated work in order to uncover new patterns and insights.

This research is informed by the theoretical foundations such as distributed and situated cognition, and activity theory. These theories assume that cognition is distributed across people and artifacts, and that thinking is mediated by technical tools and symbolic representations. We use methods such as “deep hanging out” to understand the social and organizational context. We also use interaction analysis of videos of software developers collaborating on their actual work in order to analyze the fine-grained nature of the social and material circumstances and artifacts that support individual and social cognition. How do the spoken word, gestures, and marks on whiteboards or paper interact as people collaborate? What can we see which was not seen before?

Suchman, L. (1997). Centers of Coordination: A case and some themes. In L. Resnick, R. Saljo, & C. Pontecorvo (Eds.), Discourse, Tools and Reasoning: Essays on Situated Cognition. Springer-Verlag.

Subject or Domain Expertise

  • Agile software development practices
  • Biomimicry
  • Engineering education
  • GIS
  • Leadership
  • Lean Principles and Practices
  • Project management
  • Simulation systems
  • Software design
  • Software testing

Programming Languages, Tools, Applications, or Hardware/Software of Interest

I am a generalist, not tied to particular technologies, but have experience in a variety of programming languages and application domains. The three most recent languages I programmed in were in C#, Python, and Java. The three most recent application domains I worked in were internal tools for customer support in a large telecom, micro-finance, and GIS simulation systems.

Past/Present Courses Taught at UWB

  • CSS 490: Software Testing
  • CSS 350: Management Principles for Computing Professionals
  • CSS 360: Software Engineering
  • CSS 370: Analysis and Design
  • CSS 572: Evidence Based Design
  • CSS 590: Human-Centered Design
  • CSS 595: Capstone Project I
  • CSS 596: Capstone Project II

Selected Publications

Public Products Shipped

  • Depiction GIS/simulation system, UrbanSim urban planning simulation system, Cisco Unity voice mail system, Destruction Derby 64 for Nintendo 64, The Muppets CD-ROM.

Back to top

Industry Affiliations, Experiences, and Interests

  • Agile Practices
  • GIS
  • Simulation
  • Games
  • Voice-Mail Systems
  • Adaptive Chips

Back to top

Random Point of Interest

Here are some of the transformative moments in my career. In 1999 I was introduced to Extreme Programming and re-discovered the joy of programming. In 2000, I took Jerry Weinberg’s Problem Solving Leadership weeklong workshop, which shattered my view of what software development is about, and led me into the world of experiential teaching. Most recently, I spent 10 years studying aikido, from which I learned the power of practice, the value of moving toward center, and about leadership.

Back to top