
Develop systems for programmers that consistently meet client requirements by extracting patterns and applying design principles to produce usable, delightful software that users adopt.
Begin with the end in mind by identifying jobs to be done and constraints, designing a system that consistently delivers usable, adopted solutions.
Dieter Rams' ten principles of good design and human-centered design thinking emphasize unobtrusive, long-lasting, useful, understandable, and honest design tailored for extremes.
Define customer success metrics for each job to be done using heuristics and considering constraints, separating happiness from true success. Measure and evaluate these metrics to drive iterative design.
Define and optimize onboarding using jobs to be done principles to guide users toward the aha moment, with welcoming design, ongoing engagement, reminders, and trial expiration.
Make products usable by emphasizing clear signals and cohesive microcopy that communicate how to use them. Tackle onboarding, jargon, and potential misunderstandings to reduce user anxiety and design as communication.
In this class I will teach you how to...
Consistently develop software that gets the job done effectively
Show you how to create products that actually gets used
Make whatever you do highly usable, even delightful
Get the satisfaction of creating things that actually has usage
Who is this course for?
If you are a programmer and ever wanted to learn how to design good products, this is for you. Filled with practical advice direct from my experience in the trenches creating products that people love and that scaled to millions of users. I teach stuff that you can apply immediately to any project you are on and make it more effective, usable and engaging.