Studies
Admissions
The Institute
Resources
Studies
Admissions
The Institute
Resources
Studies
Admissions
The Institute
Resources

FE405

Designing Apps and APIs

Barcelona Campus
Dec 01, 2025 - Dec 19, 2025
This course bridges the gap between coding and architecture, teaching developers how to design scalable, maintainable applications and APIs.
Barcelona Campus
Dec 01, 2025 - Dec 19, 2025
Christopher Baker

Faculty

Christopher Baker

Full Stack Developer

Course length

3 weeks

Duration

3 hours
per day

Total hours

45 hours

Credits

6 ECTS

Language

English

Course type

Offline

Fee for single course

€1500

Fee for degree students

€750

Skills you’ll learn

DevOpsAPI DevelopmentOptimisationDesign Scalable Architectures
OverviewCourse outlinePrerequisitesMethod & grading

Overview

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.

Learning highlights

  • Transition from feature development to system design – Move beyond building isolated components to architecting cohesive, scalable applications.
  • Apply architectural principles in practice – Use 12-Factor App, SOLID, and Clean Architecture to guide design decisions.
  • Evaluate trade-offs systematically – Weigh pros/cons of architectural choices (monoliths vs microservices, SQL vs NoSQL, REST vs GraphQL).
  • Build robust, production-ready APIs and services – Implement industry standards (REST, gRPC, WebSockets) with security, versioning, and testing.
  • Deploy and maintain scalable systems – Leverage DevOps (CI/CD, containers), observability (logging, tracing), and optimisation (caching, A/B testing).

Course outline

15 classes

Dive into the details of the course and get a sense of what each class will cover.
Monday
Tuesday
Wednesday
Thursday
Friday
Monday
1

Course Overview

Course Overview.

Intro Final Project.

Tuesday
2

Introduction to Enterprise-Grade Applications

"Enterprise-ready"?

Trade-offs.

Diagramming.

Wednesday
3

The Twelve Factor App

What?

Why?

The Factors.

Thursday
4

Architecture

Resources.

Microservices vs Monoliths.

Serverless.

Organisation.

Friday
5

Inter-app Communication

Message queues.

AuthN/AuthZ.

Protocols.

Real-Time Apps.

Monday
6

Testing and Documentation

Documentation.

Unit, Integration, E2E.

Mocking APIs.

Tuesday
7

Database Design for Scale

Types of Databases.

Database Design.

Choosing.

Deployment.

Performance & Scaling.

Wednesday
8

Maintainability

Static analysis.

Feature Flags.

Separation of Concerns.

Caching Strategies.

Thursday
9

DevOps and CI/CD

Core Philosophies.

GitHub Actions.

Staged Environments.

Friday
10

Working Session

Working Session.

Monday
11

Deployment Methods

CI Platforms.

Orchestration.

Blue-Green.

Rollback.

Tuesday
12

Deployment Models

History.

Containerisation.

Serverless.

PaaS.

Wednesday
13

Observability and Debugging

Monitoring and Logging.

Tracing.

Logging.

Error Handling.

Thursday
14

Working Session

Working Session.

Friday
15

Final Presentations

Final Presentations.

Prerequisites

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.

Methodology

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.

Grading

The final grade will be composed of the following criteria:
25% - Participation
15% - Exercises
15% - Homework
45% - Projects
Christopher Baker

Faculty

Christopher Baker

Full Stack Developer

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 profile

Apply for this course

Snap up your chance to enroll before all spaces fill up.

Designing Apps and APIs

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.