FE405

Faculty
Christopher Baker
Full Stack Developer
Course length
Duration
Total hours
Credits
Language
Course type
Fee for single course
Fee for degree students
Skills you’ll learn
This course bridges the gap between coding and architecture, teaching developers how to design scalable, maintainable applications and APIs. Through principles such as the Twelve-Factor App and SOLID, hands-on labs, and real-world case studies, participants will learn to evaluate trade-offs (e.g. monoliths vs microservices, REST vs GraphQL), implement DevOps and observability best practices, and deliver production-ready systems. It is ideal for mid-level developers looking to progress from building features to architecting resilient, enterprise-grade solutions.
15 classes
Course Overview.
Intro Final Project.
"Enterprise-ready"?
Trade-offs.
Diagramming.
What?
Why?
The Factors.
Resources.
Microservices vs Monoliths.
Serverless.
Organisation.
Message queues.
AuthN/AuthZ.
Protocols.
Real-Time Apps.
Documentation.
Unit, Integration, E2E.
Mocking APIs.
Types of Databases.
Database Design.
Choosing.
Deployment.
Performance & Scaling.
Static analysis.
Feature Flags.
Separation of Concerns.
Caching Strategies.
Core Philosophies.
GitHub Actions.
Staged Environments.
Working Session.
CI Platforms.
Orchestration.
Blue-Green.
Rollback.
History.
Containerisation.
Serverless.
PaaS.
Monitoring and Logging.
Tracing.
Logging.
Error Handling.
Working Session.
Final Presentations.
This course targets mid-level developers who can build features but want to design scalable systems that stand the test of time. They are expected to have:
- Basic experience with Frontend, Backend, and APIs.
- Familiarity with a programming language (e.g., JavaScript, Python, Java, PHP).
- No prior architecture expertise required—this course bridges the gap.
Case Study-Driven Learning - Analyse real-world system designs (e.g., "How Twitter scaled its feed") to critique trade-offs, failures, and optimisations.
Architecture Design Workshops - Collaborative sessions where students draft, critique, and refine system designs in small groups.
Applied Learning: Final Project - End-to-end design challenge: From requirements to stakeholder pitch, mimicking real-world workflows.
Applied Learning: Iterative feedback loops - Peer reviews and instructor critiques on documentation, diagrams, and justifications.
Christopher J. Baker began coding in his youth, growing up in a farming community, and his passion for technology has only deepened over 24 years of programming and 12 years of professional experience. Most recently serving as Director of Frontend Technology, Christopher specializes in software architecture, API design, and data processing and analysis. His career spans diverse industries, including fintech, gambling, fast food, and e-commerce, across a wide variety of projects, from open source to startups to fortune 10 companies.
A dedicated mentor and trainer, Christopher has taught and inspired others throughout his career. Recently, he has expanded his efforts through international talks, workshops, and training sessions. Beyond technology, Christopher applies his analytical mindset to his hobbies, such as culinary experimentation and tabletop role-playing games, showcasing his creativity and love of exploration.
See full profileApply for this course
by Christopher Baker
Total hours
45 Hours
Dates
Dec 01 - Dec 19, 2025
Fee for single course
€1500
Fee for degree students
€750
How to secure your spot
Complete the form below to kickstart your application
Schedule your Harbour.Space interview
If successful, get ready to join us on campus
FAQ
Will I receive a certificate after completion?
Yes. Upon completion of the course, you will receive a certificate signed by the director of the program your course belonged to.
Do I need a visa?
This depends on your case. Please check with the Spanish or Thai consulate in your country of residence about visa requirements. We will do our part to provide you with the necessary documents, such as the Certificate of Enrollment.
Can I get a discount?
Yes. The easiest way to enroll in a course at a discounted price is to register for multiple courses. Registering for multiple courses will reduce the cost per individual course. Please ask the Admissions Office for more information about the other kinds of discounts we offer and what you can do to receive one.