Skip to main content

How to Build the Right Software (in the Right Stack)

2h 34m 35s
English
Paid

In 25 years of working as a developer, manager, and UX designer, one main thing becomes clear: the most challenging part of software development is not writing code, but understanding what exactly needs to be created. This skill is rarely formalized and hardly ever taught, yet it distinguishes good engineers from truly strong ones.

Course Overview

This course is dedicated to a systematic approach to identifying the real issues underlying requirements and feature requests. You will learn how to consistently ask "why" to reach the true needs of the user or business, rather than implementing solutions "on autopilot" or due to historical constraints. Features are considered not as tasks to be executed but as signals pointing to deeper issues.

Choosing the Right Technological Stack

Special attention is given to the deliberate choice of technological stack. Instead of offering universal recipes, the course demonstrates how to align the real goals of a project with the capabilities of various tools—from JavaScript frameworks and static generators to low-code solutions. The goal is not to know more technologies but to be able to choose the appropriate one.

Practical Focus

The training is focused on practice rather than theory. The course includes scenarios of role-playing dialogues using AI, analysis of user interactions with existing systems, and working with legacy code to understand the original architectural decisions. This format helps junior developers see a broader context and experienced ones ensure that their expertise leads to real benefits.

Learning Outcomes

As a result, you will obtain:

  • A repeatable process for making product and technical decisions
  • Confidence in discussing requirements with stakeholders
  • The ability to turn vague requests into meaningful, effective solutions

This is a skill that cannot be automated or replaced by AI: understanding which problems are truly worth solving and why.

About the Author: Anthony Alicea

Anthony Alicea thumbnail
Anthony Alicea is a highly experienced software developer, architect, and UX designer. He has been programming since the age of 12 and began developing websites and web applications at 16. Anthony holds a Computer Science degree from Case Western Reserve University and is a Microsoft certified software application developer. His expertise spans multiple technologies, including HTML5, CSS3, JavaScript, AngularJS, NodeJS, and more. He is known for his deep understanding of these topics and his ability to teach them effectively. On Udemy, Anthony Alicea has several popular courses, including "JavaScript: Understanding the Weird Parts" and "Learn and Understand NodeJS," which have enrolled hundreds of thousands of students. His teaching philosophy focuses on ensuring students deeply understand the concepts rather than just following along with examples.

Watch Online 36 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 36 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Introduction
All Course Lessons (36)
#Lesson TitleDurationAccess
1
Introduction Demo
02:40
2
Requirements and Solving the Right Problem
03:05
3
Clients and Users are Not Software Designers
09:28
4
The Why Down
11:53
5
The Why Down (Practice)
01:49
6
Control Scope Creep with Alternative Solutions
06:09
7
Constraints Produce Creative Solutions
03:02
8
Silos Are the Enemy
05:57
9
MSP not MVP
06:18
10
Choosing a Stack
02:30
11
The Interactivity Question
02:01
12
JavaScript Frameworks (NextJS, Remix, Vue, Angular, Solid, Qwik, and More)
13:52
13
Static Sites
03:29
14
A Mix Of Things
03:27
15
Vanilla JS, Lightweight Libraries, and Server Frameworks
06:12
16
PHP, Laravel, and Toolboxes
04:51
17
Low-Code and No-Code Solutions
05:35
18
Content Management Systems
04:57
19
Use Design Systems and Templates
03:34
20
SQL vs NoSQL
04:57
21
Fundamentals Beats Tribalism
02:41
22
The Power of User Research
03:04
23
Existing Software and User Observation
02:30
24
Discount Usability Testing
04:01
25
Control Requirements with User Research
03:27
26
Express Results as Problems
03:28
27
Handling Feature Requests (the Right Way)
00:44
28
Feature Requests Are Not Requirements
02:09
29
Why Down Feature Requests
08:21
30
The Why Down (Practice)
00:40
31
Reduce Technical Debt: Make the Smallest Addition Possible
01:56
32
Software Rewrites
00:31
33
Existing Software is a Research Goldmine
06:11
34
1-to-1 Rewrites Are a Wasted Opportunity
05:44
35
Build Less Software
02:15
36
Conclusion - How To Build The Right Software
01:07
Unlock unlimited learning

Get instant access to all 35 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Books

Read Book How to Build the Right Software (in the Right Stack)

#Title
1WhyDown Worksheet