How to become a great software designer

Speaker: Daniel Jackson , CSAIL MIT

Date: Thursday, March 24, 2022

Time: 7:00 PM to 8:00 PM Note: all times are in the Eastern Time Zone

Public: Yes

Location: Online: please register at:

Event Type: Seminar

Room Description:

Host: Peter Mager, p.mager AT

Contact: Dorothy Curtis,

Relevant URL:

Speaker URL: None

Speaker Photo:

Reminders to:

Reminder Subject: TALK: How to become a great software designer

IEEE Computer Society and GBC/ACM
online 7:00 PM, Thursday, 24 March 2022
How to become a great software designer
Daniel Jackson, MIT
Register in advance for this webinar at

After registering, you will receive a confirmation email containing information about joining the webinar.

Why are some apps so much better than others, and some designers so much more successful? For the last decade or so, I’ve been trying to answer this question. My approach has been to study hundreds of popular apps, identifying good and bad parts, and then looking for a way to codify this knowledge so that anyone can use it to become a better designer.

In this talk, I’ll explain what I came up with: (1) a way to structure the functionality of an app into “concepts” (which are essentially little behavioral protocols); (2) a composition strategy that lets you put concepts together without coupling them; (3) criteria for good and bad concept design; and (4) the beginnings of a catalog of reusable concepts.

Most of the examples and ideas will be drawn from my recently published book, Essence of Software (

Daniel Jackson is Professor of Computer Science at MIT, a MacVicar teaching fellow, and Associate Director of the Computer Science and Artificial Intelligence Laboratory (CSAIL). He was the lead designer of the Alloy modeling language, author of "Software Abstractions: Logic, Language, and Analysis" (MIT Press; second ed. 2012) and most recently of "Essence of Software" ( He was chair of the National Academies’ study Software for Dependable Systems: Sufficient Evidence? (2003-2007), and served on the study Electronic Vehicle Controls and Unintended Acceleration (2010-2012). He received the 2016 ACM SIGSOFT Impact Paper Award for his research method for finding bugs in code and the 2017 ACM SIGSOFT Outstanding Research Award for "foundational contributions to software modeling, the creation of the modeling language Alloy, and the development of a widely used tool supporting model verification" and is an ACM Fellow. He is also a photographer; his book Portraits of Resilience (MIT Press, 2017) addresses the campus epidemic of depression and anxiety with a collection of portraits and stories.

This joint meeting of the Boston Chapter of the IEEE Computer Society and GBC/ACM will be online only due to the COVID-19 lockdown.

Up-to-date information about this and other talks is available online at You can sign up to receive updated status information about this talk and informational emails about future talks at, our self-administered mailing list.

Research Areas:
Programming Languages & Software

Impact Areas:

See other events that are part of the Boston IEEE/ACM Joint Seminar Series 2021 - 2022.

Created by Dorothy Curtis Email at Tuesday, March 01, 2022 at 3:01 PM.