One project, two different maps
A product-development roadmap organizes the work needed to deliver a useful, secure, tested, deployed, and maintainable product. A learning journey organizes experiences that build understanding and independence.
Lesson 5 is a professional reference. It does not reorder Lessons 1-4. Our lesson numbers continue to record the real chronology of learning.
Product development
Begins with the problem, users, journey, MVP, and requirements. Dependencies and delivery risk shape the order.
Learning journey
May begin with a motivating task or an immediate project problem. Questions, mistakes, and curiosity shape the order.
Why our lessons are not aligned with this roadmap
Become SWE is a real project, not a simulated waterfall course. We connected a custom domain before studying every programming concept. We integrated a lead form before building a database. We discussed architecture and authentication because the live website needed those decisions.
That sequence would be unusual for a new commercial product, but it is valuable for learning. Every practical obstacle creates a reason to understand the underlying concept.
The 30 steps of product development
- Identify the problem. Describe what needs to change and why it matters.
- Define target users. Identify who experiences the problem and who uses or buys the solution.
- Write the user journey. Map how a user discovers, enters, uses, and completes a goal.
- Define the MVP. Select the smallest version that creates meaningful value.
- Write requirements. Define features, roles, pages, data, constraints, and acceptance criteria.
- Create wireframes. Sketch screens and information structure.
- Design the interface. Define components, navigation, accessibility, and responsive behavior.
- Choose the technology stack. Select frontend, backend, database, authentication, hosting, and services.
- Plan the architecture. Define boundaries, data flows, APIs, security, and deployment.
- Create repositories. Establish source control, documentation, and contribution practices.
- Set up environments. Prepare development, testing, staging, and production.
- Design the database. Define entities, relationships, constraints, migrations, and backups.
- Plan authentication and authorization. Define identity, sessions, roles, and permissions.
- Design APIs. Specify endpoints, contracts, validation, errors, and access control.
- Build the frontend. Implement screens, forms, components, state, and interactions.
- Build the backend. Implement business logic, APIs, processing, and integrations.
- Connect the database. Implement reliable data operations and transactions.
- Add access control. Protect resources and enforce permissions on the server.
- Connect external services. Add email, payments, storage, maps, analytics, or notifications.
- Test the software. Perform unit, integration, end-to-end, usability, security, and performance testing.
- Fix bugs and improve usability. Resolve defects and simplify important journeys.
- Set up security controls. Protect secrets, validate inputs, restrict permissions, and update dependencies.
- Set up CI/CD. Automatically verify, build, and deploy approved changes.
- Deploy staging. Create a production-like environment for realistic review.
- Complete acceptance testing. Confirm the product satisfies user and business needs.
- Deploy production. Release the live system with controlled production configuration.
- Add analytics and monitoring. Measure usage, conversion, errors, performance, availability, and cost.
- Prepare documentation. Document users, architecture, APIs, operations, deployment, and recovery.
- Launch to users. Release gradually and collect structured feedback.
- Maintain and improve. Support, patch, measure, prioritize, and release future versions.
A roadmap is iterative
The list is numbered for clarity, but product work loops. Testing may expose a requirement problem. Security may change the architecture. Analytics may show that the customer journey is wrong. Teams repeatedly discover, define, build, verify, operate, and improve.
How Become SWE will use it
Every future lesson can identify the product-development stage it relates to. The lesson number, however, will continue to represent when we encountered and learned the topic. This preserves both professional structure and an honest learning record.