Week 32: Portfolio & Career Prep

Thirty-one weeks of building lead here. This final week is about presenting that work — a portfolio that explains your decisions, not just links to code; answers to the interview questions this exact material prepares you for; and a resume that actually reflects what you can now do.

Module 28 of 28 Week 32 of 32 ~3–4 Hours Hands-on Exercise Included

By the end of this week, you'll be able to

  • Package the capstone project as a portfolio piece that explains real decisions
  • Answer common PHP/Laravel/WordPress interview questions with genuine understanding
  • Position a resume & LinkedIn profile around specific, demonstrable skills

1. Packaging the Capstone

A deployed project with no explanation asks a reviewer to reverse-engineer your decisions from code alone — most won't. A portfolio entry needs three things a GitHub link by itself doesn't provide:

  • A live URL — the deployed Laravel API and WordPress integration from Week 31, actually reachable, not just described
  • A README explaining the architecture decisions from Week 30's design doc — not just "how to run it," but why it's built this way
  • A short list of the specific, harder problems you solved — the N+1 fix, the ownership Policy, the graceful API-failure handling
README.md — the shape worth aiming for
# Job Board API + WordPress Integration

Live demo: https://careers.example.com
API repo: https://github.com/you/job-board-api

## Architecture
A Laravel API (Sanctum auth, versioned REST, Policy-enforced ownership)
consumed by a WordPress plugin via wp_remote_get(), with transient caching
and graceful degradation if the API is unreachable.

## Notable decisions
- Public read endpoints, authenticated write endpoints -- WordPress needs
  anonymous access to job listings, but posting a job requires a company account.
- API responses cached for 1 hour via WordPress transients, to avoid hitting
  the API on every page load.
- Feature tests cover ownership authorization specifically, not just happy paths.

## Stack
PHP 8.3, Laravel 11, Sanctum, MySQL, WordPress, Pest, GitHub Actions CI

Every bullet in that "Notable decisions" section maps directly to a specific week of this course — that's not a coincidence to hide; naming it explicitly (even informally, to yourself) is exactly what turns a project into something you can discuss confidently rather than something you hope nobody asks hard questions about.

2. Writing a Case Study

A portfolio site listing project names and tech stacks reads like a resume. A short case study per project — even three or four sentences — reads like evidence of judgment:

a weak project description
Job Board API
Built with Laravel, Sanctum, MySQL. Deployed on a VPS with Nginx and Docker.
a case study that shows judgment
Job Board API + WordPress Integration

The challenge: companies needed to manage job postings through a real admin
system, while the public careers page needed to stay on the client's existing
WordPress site rather than migrating to a new platform.

The approach: a Laravel API as the single source of truth for job and
application data, with a lightweight WordPress plugin fetching and caching
listings rather than duplicating the data model in WordPress itself.

A specific problem: the plugin needed to degrade gracefully if the API was
briefly unreachable -- I added a 5-second timeout and cached fallback so a
slow API response never blocks the WordPress page from rendering.

The second version answers "why did you build it this way," which is precisely the question a technical interviewer actually wants answered — the first version only answers "what did you use," which any list of technologies already implies.

3. Interview Questions You Can Now Genuinely Answer

Not new material — questions this course has already equipped you to answer, with real understanding rather than a memorized definition. Try answering each from memory before checking your own recollection against the weeks referenced:

a representative set
"Explain how prepared statements actually prevent SQL injection."
  → Week 7: structural separation of SQL structure from bound data,
    not escaping or sanitization.

"What's the difference between authentication and authorization?"
  → Week 8, 13: proving who someone is, vs. what that specific person
    is allowed to do to a specific resource.

"How does Eloquent's eager loading solve the N+1 problem?"
  → Week 12: one additional query for the whole result set, instead
    of one query per row.

"Walk me through what happens between a browser request and PHP's output."
  → Week 1: the full request lifecycle, in your own words.

"How would you structure a WordPress plugin so it doesn't conflict
 with other plugins on the same site?"
  → Week 20: function prefixing/namespacing, the ABSPATH guard,
    checking dependencies exist before using them.

"When would you choose Inertia.js over a separate REST API?"
  → Week 29: one team, one Laravel app driving its own frontend,
    vs. multiple independent clients needing a stable API contract.

Notice the pattern in strong answers: each one references a specific mechanism (bound parameters, a Policy check, a query count) rather than a vague generality ("it's more secure," "it's faster"). That specificity is what distinguishes an answer built on genuine understanding from one built on memorized talking points — and it's exactly what thirty-one weeks of "why this works, not just that it works" was building toward.

4. Resume & LinkedIn Positioning

Specific, verifiable claims read as far more credible than broad ones — and this course's capstone gives you real material for exactly this kind of specificity:

weak vs. specific resume bullets
Weak:      "Experienced in PHP and WordPress development."

Specific:  "Built a Laravel REST API (Sanctum auth, Policy-based authorization,
            Pest test suite, GitHub Actions CI) integrated with a custom
            WordPress plugin serving live data to production traffic."

Weak:      "Familiar with security best practices."

Specific:  "Implemented CSRF protection, XSS prevention and SQL injection
            defenses across a full-stack PHP application, verified with
            an automated Pest test suite covering ownership authorization."

List the actual technologies from your stack chips throughout this course — PHP 8.3, Laravel 11, Eloquent, Sanctum, WordPress, WooCommerce, Docker, GitHub Actions — since these are the exact terms recruiters and applicant-tracking systems search for. A LinkedIn "Featured" section linking directly to your deployed capstone and its case study README does more for credibility than either alone.

5. What to Learn Next

This course covered PHP, Laravel and WordPress in real depth — a few directions worth considering from here, depending on where your interest lands:

  • Deeper Laravel — Livewire (server-driven reactivity without a separate JS framework), Laravel Octane (persistent-process performance), or Laravel Nova (admin panels)
  • Deeper WordPress — Gutenberg block development (React-based, if you've also taken this site's React course), or WordPress VIP-scale engineering practices
  • Broader backend skills — this site's Node.js & Express or Python & FastAPI courses cover the same backend fundamentals through a different language's lens — genuinely useful for comparing how different ecosystems solve the same problems
  • Infrastructure depth — this site's DevOps & Cloud Cybersecurity Basics course goes past Week 28's deployment basics into Kubernetes, Terraform and multi-cloud infrastructure

None of these are required — a genuinely solid PHP/Laravel/WordPress foundation, backed by one real, deployed, well-explained capstone, is a complete and legitimate professional starting point on its own.

6. Final Exercise

Final exercise

Package your capstone & prepare to talk about it

The last piece of work in this course — turning what you built into something you can present confidently.

Requirements:

  1. Write a README for both halves of your capstone (Laravel API and WordPress integration) following this week's template: architecture, notable decisions, stack.
  2. Write one full case study (150-300 words) covering the challenge, your approach, and one specific hard problem you solved.
  3. Write out your own answers to all six representative interview questions from Section 3, in your own words, from memory.
  4. Update your resume with at least two specific (not vague) bullet points describing this capstone, using real technology names.
  5. Publish your case study somewhere reachable — a personal site, a LinkedIn post, or a pinned GitHub README — and link your live capstone deployment from it.
Hint

If you find yourself unable to answer one of the six interview questions confidently in your own words, that's useful signal, not a failure — go back to the specific week it references and re-read that section once more before moving on. That's a far better use of this final week than skipping past a genuine gap.

7. Knowledge Check

Four quick questions. Expand each to check your answer.

Q1

Why does a case study explaining "why" a project was built a certain way tend to land better in an interview than a project description listing only the technologies used?

A list of technologies only proves exposure to those tools; it says nothing about whether you understand the trade-offs behind using them. Explaining a specific decision — why public reads and authenticated writes were split the way they were, why a timeout and cache were added for the API call — demonstrates the actual judgment an employer is trying to assess, which is exactly what a technical interview is trying to surface.

Q2

What makes an answer like "prepared statements bind data separately from SQL structure" stronger than "prepared statements are more secure"?

The specific version names the actual mechanism, which is something only genuine understanding can produce — a memorized talking point like "more secure" can be repeated without knowing why it's true, and a follow-up question ("secure against what, exactly, and how?") exposes that gap immediately. Naming the mechanism directly is the difference this course has aimed for throughout: understanding why something works, not just that it does.

Q3

Why does this lesson recommend specific resume bullets ("Sanctum auth, Policy-based authorization, Pest test suite") over broad ones ("experienced in PHP and Laravel")?

Specific claims are verifiable and match the exact keywords both human reviewers and applicant-tracking systems search for, while broad claims are unfalsifiable and easy to skim past. Naming the real technologies and patterns from your actual capstone (which you can back up in detail if asked) is more credible than a generic claim of "experience" that could describe almost anyone.

Q4

What does this lesson suggest doing if you can't confidently answer one of the six representative interview questions from Section 3?

Treat it as genuinely useful signal rather than a failure, and go back to re-read the specific week that question maps to, before moving on. Each question was chosen because it's answered by a specific, earlier lesson in this course — a gap here points precisely at which material is worth revisiting, which is a far more productive use of this final week than skipping past it.