Welcome to the Real World of Software Development
Future Software Engineers,
What you're about to learn isn't just another academic exercise—it's the exact methodology used by professional developers at companies like IBM, SpaceX, NASA, Blue Origin, and every major tech company on Earth (and soon, beyond).
When you walk into your first day at work, whether it's at a startup or a Fortune 500 company, you won't be asked to "just code something."
You'll be asked to think systematically, to plan architecturally, and to document narratively. This is what separates junior developers who struggle from those who thrive and get promoted.
💡 The Secret Nobody Tells You in School
The code is only 20% of the job. The thinking is 80%.
At university, we often jump straight to coding because assignments are small. But in the real world, applications are massive ecosystems.
The difference between a $60,000 developer and a $150,000 architect isn't coding speed—it's thinking clarity.
The Power of the Application Narrative
Before Netflix writes a single line of code for a new feature, they write a 6-page narrative document. Before Amazon launches a service, they write a press release from the future. Before SpaceX designs a new system, they create a mission architecture document.
Why? Because stories organize complexity.
Your UESEC assignment isn't just about MongoDB and Express—it's about learning to think like a systems architect. And every great system starts with a story.
🏗️ Information Architecture: Your Secret Weapon
While your classmates are diving straight into code and hitting walls, you'll be building on solid foundations.
Here's the professional workflow that will put you leagues ahead:
The Reverse-Engineering Method
Start at the END and work BACKWARDS:
User Experience (What they see)
↑
HTML Forms
↑
EJS Templates
↑
Express Routes/Endpoints
↑
Controller Logic
↑
Mongoose Models
↑
MongoDB Schemas
↑
JSON Data Structure (THE FOUNDATION)
This is called Information Architecture, and it's worth its weight in gold in the job market.
Companies desperately need developers who can think this way.
Coding can be replaced by AI. Architectural insights into the Business Domain that clients want cannot be.
📋 Your UESEC Battle Plan
Step 1: The Big Picture Exercise (30 minutes that saves hours)
Grab several sheets of paper and tape them together. You're about to create your application's blueprint:
Sheet 1: JSON Schema Design
Start with the atomic truth—your data structure:
javascript
// Personnel Schema
{
*** fill in the details from the Assignment Sheet.
}
}
// Ships Schema
{
*** fill in the details from the Assignment Sheet.
}
// Missions Schema
{
*** fill in the details from the Assignment Sheet.
}
Sheet 2: Mongoose Models
Now reverse-engineer your schemas into Mongoose models:
javascript
// Draw boxes showing:
- Required fields
- Validation rules
- Virtual properties
- Methods you'll need
- Population paths
Sheet 3: API Endpoints
Map out your RESTful routes:
Personnel:
*** fill in the details from the Assignment Sheet.
Ships:
*** fill in the details from the Assignment Sheet.
Missions:
*** fill in the details from the Assignment Sheet.
Sheet 4: HTML Forms & EJS Templates
Sketch your actual forms:
┌─────────────────────────────┐
│ Add Personnel Form │
├─────────────────────────────┤
│ Name: [_______________] │
│ Service ID: [_________] │
│ Rank: [▼ Dropdown ] │
│ Skills: □ Navigation │
│ □ Engineering │
│ □ Diplomacy │
│ [Submit] [Cancel] │
└─────────────────────────────┘
Step 2: Write Your Application Narrative
Before coding, write YOUR story:
"Captain Maria Rodriguez sits at her command terminal aboard the UESEC Horizon. She needs to assign a new crew member—Dr. James Park, a xenobiologist—to her ship for the upcoming Europa mission. She opens the Personnel Management System, searches for Dr. Park by his service ID, reviews his qualifications, and assigns him to her ship with just three clicks..."
This narrative drives EVERYTHING:
What data must be displayed? What workflows must be smooth? 🎯 Why This Matters for Your Career
Junior Developer Job Interview:
Interviewer: "Build a CRUD app for employee management."
You: starts coding immediately
Result: Messy code, missed requirements, didn't get the job.
YOUR Job Interview (After Learning This):
Interviewer: "Build a CRUD app for employee management."
You: "Let me sketch out the information architecture first. What are the key user stories? What's the data model? Here's my API design..."
Result: Interviewer's eyes light up "When can you start?"
The voice of experience: A user story is created with this template:
A USER {fill in the type} — wants to achieve outcome {***} — to achieve the goal of delivering Use Case YYY
🛸 Your Mission:
Create Your Application Narrative (1 page) What's the typical workflow? Design Your Information Architecture (Those taped-together papers) JSON → Models → Routes → Views Every arrow should have a PURPOSE You're not guessing anymore You're implementing a PLAN Your future self (and teammates) will thank you This is what senior developers do 💪 The Challenge
Your classmates will start coding immediately. They'll refactor 5 times. They'll hit dead ends. They'll wonder why their app is a mess.
You? You'll spend 2 hours planning and 10 hours executing cleanly. Your code will be organized. Your features will work. Your documentation will shine.
Who do you think gets hired?
BONUS: Starting with a high level business domain understanding allows you to “shift left” and look for ways to build re-usable functionalities (called aspects) earlier on (lower down) in the Application Stack.
{This will be even more impactful when we start coding in KOTLIN next week}.
🌟 Remember
Every great space mission started with a flight plan. Every skyscraper started with blueprints. Every successful app started with an architecture.
You're not just learning to code. You're learning to think like an architect. And in the vast frontier of space exploration—where a single bug could mean mission failure—we need architects, not just coders.
Now grab those papers, tape them together, and design your system.
The stars aren't waiting, and neither should you.
Ad Astra per Architectura
To the stars, through architecture
P.S. - When you're earning six figures at SpaceX because you can think systematically while others just hack code together, remember this moment. This is where it started.
When I wrote the solution to this requirements, this is how I did it:
Step 1: Create the JSON collections and Schema Classes (which create the JSON Documents).
Step 2: Do the UI Prototyping: Create the HTML pages focusing on the Forms, Fields, and the end points that the form connects to
Step 3: Write the index.js starting with the /api_endpoints that are at the center of the action, then writing the other functions to support the operation of the api end points and the data plumbing with the MONGO DB.