Free Handbook · Every example compiled & verified

Job Ready

What a PHP resume must show for Laravel, Symfony, WordPress and e-commerce roles, three portfolio projects that get callbacks, where the jobs are, and the exam.

0 / 148 lessons🔥 0 day streak
ShareXLinkedIn

Module 16 · what you'll be able to do

  • Write the PHP section of a resume for the track you want (Laravel or Symfony backend, WordPress, e-commerce) with evidence a reviewer can check
  • Build three portfolio projects (a tested Laravel or Symfony API, a queue-backed SaaS feature, and a plugin or package) that survive a real review
  • Read a PHP job posting and map each requirement to the module in this handbook that covers it
  • Sit the certification exam and put the certificate where recruiters actually look
01

What a PHP resume must show

PHP is hired into a few fairly separate tracks, and a reviewer reads your resume through the lens of the one they are hiring for. "PHP, MySQL, HTML, CSS" says nothing they can check; every applicant writes it. What reads as evidence is the working ecosystem around the language for that track, a project that uses it, and a number that shows it held up.

Pick one track as the headline. A resume that tries to be all four reads as none of them.
TrackWhat the reviewer looks forName these on the resume
Laravel backend / full-stackA tested API or app on a real database, with queues and a clean structurePHP 8.3, Laravel, Eloquent, MySQL or PostgreSQL, Redis, queues, Pest or PHPUnit, Livewire or Inertia, Docker
Symfony / enterpriseWell-structured, typed code with strong tests and static analysisSymfony, Doctrine, API Platform, Messenger, PHPUnit, PHPStan at a high level, PostgreSQL, Docker, CI
WordPress / agencyCustom themes and plugins written properly, not only page-builder configurationWordPress, custom plugins and blocks, hooks and filters, REST API, WP-CLI, ACF, performance and security hardening
E-commerceCheckout, catalog and integration work that handles money correctlyMagento (Adobe Commerce), Shopware, WooCommerce or Sylius, payment gateways, ERP and shipping integrations, caching (Varnish, Redis)

What gets filtered out

  • "Skills: PHP, MySQL, jQuery, Bootstrap" with nothing behind the keywords
  • "Knowledge of Laravel" with no project that uses it
  • A procedural "student management system" with SQL built by string concatenation
  • No PHP version, no tests, no framework version named anywhere

What gets a call

  • "PHP 8.3 · Laravel 11 · PostgreSQL · Redis · Horizon · Pest · PHPStan level 8 · Docker" — specific and checkable
  • "Fixed N+1 queries on the orders dashboard with eager loading and two indexes; page time 2.4 s → 180 ms"
  • "Moved invoice PDFs and emails to queued jobs with retries; checkout response time 1.9 s → 150 ms"
  • The certificate, with its verification ID, under Certifications
  • Name the versions. "PHP 8.3, Laravel 11" tells a reviewer you write modern PHP; no version, or "PHP 5", reads as legacy work, which is a different job.
  • Every bullet: action verb, what was built, the tools in parentheses, and a number where one exists: response time before and after, queries removed, jobs per minute, test coverage added, revenue handled.
  • Mirror the posting. If it says "Laravel" and "Eloquent ORM", use those words, not "PHP MVC framework". An ATS matches strings, not synonyms.
  • Projects above education with under three years of experience. Link the repository, and the live URL for anything deployed.

Then check it against a real posting instead of guessing: paste both into the ATS resume checker. It scores keyword coverage against that specific job, flags formatting that breaks parsers, and shows which lines a reviewer's eye actually lands on.

02

The two-minute resume checklist

Run the resume through this list before every application. Each item is something an ATS or a reviewer checks in the first pass, before a single repository is opened.

  • Plain, single-column formatting: no tables, text boxes or icons. Parsers frequently drop content inside them.
  • A skills line grouped by category (Languages · Frameworks · Data · Testing · DevOps), with the PHP and framework versions stated.
  • At least one bullet that shows depth, not syntax: an N+1 fixed, a slow query indexed, a job moved to a queue, a PHP version upgrade done with Rector, a security issue closed.
  • Testing named explicitly: PHPUnit or Pest, feature tests, factories, PHPStan or Psalm. PHP teams increasingly treat untested, untyped code as unfinished.
  • Three linked projects, each with a README and a one-command start. A project that cannot be run is a project a reviewer skips.
  • The certificate with its verification ID, once, under Certifications. The official Laravel or Symfony certifications go on the same line if you have them.
  • One page under five years of experience. No photo, no fonts or graphics an ATS parser was not built to read.
Run it per job, not once
A resume that matches a Laravel SaaS posting can miss a Magento agency posting entirely. The ATS checker is built to be run per application, with that posting pasted in.
03

Portfolio: three projects that get PHP callbacks

PHP reviewers look for the same thing in a portfolio that they look for in a pull request: does this person build software the way a team does? One production-shaped project beats five tutorial apps. The three projects below cover the largest share of PHP postings, and each maps to specific modules of this handbook. (Aiming at WordPress agencies instead? Replace the third project with a custom plugin that adds a Gutenberg block and a REST endpoint, with tests.)

  1. 1
    A Laravel or Symfony API with a real database, tests and Docker

    Pick a domain with real rules: bookings with no double-booking, an inventory with stock reservations, expense claims with approval states. PHP 8.3+, strict types, form requests or DTOs for validation, enums for statuses, readonly value objects, eager loading on every list endpoint, consistent JSON errors (422 with field errors, 404, 409). A database transaction and a unique constraint guard the rule that matters. Pest or PHPUnit feature tests against a real database, PHPStan at a high level, and a docker-compose.yml that starts PHP-FPM, Nginx and the database with one command. Then load-test it and write down one thing you fixed. Shows: Modules 06, 08, 10 and 12.

  2. 2
    A SaaS feature with queues, scheduled jobs and email

    Something that does slow work in the background: an invoicing tool that generates PDFs and emails them, a newsletter sender, a CSV import that validates and loads 100,000 rows. Show what makes it hard: queued jobs that are idempotent (running twice is harmless), retries with back-off and a failed-jobs view, a scheduled command (schedule:run or Symfony Scheduler), Redis for the queue and cache, rate limiting on the public endpoints, and a generator or lazy() to stream large data with bounded memory. Put a number in the README, such as rows imported per second. Shows: Modules 09, 13 and the mid-level questions in 15.

  3. 3
    A Composer package other people can install

    A small, focused library published on Packagist: a money and currency value object, a validation rule set for your country's tax IDs, a client for a public API, or a Laravel package with a service provider. PSR-4 autoloading, semantic versioning with tags, a test matrix across two or three PHP versions in GitHub Actions, PHPStan passing, and a README with install and usage. It shows you can design an API for other developers, which is exactly what a senior reviewer looks for. Shows: Modules 07 and 12.

Every project needs the same five things
A README with a one-command start (docker compose up or composer install && php artisan serve) and a short "design decisions" section · composer.lock committed and the PHP version pinned · tests and static analysis that run in CI (a GitHub Actions workflow) · no secrets in the repository (.env.example only) · and one measured result: a latency, a throughput, a bug the tests caught. Reviewers open the README, check composer.json, then read one test. That is the whole audit.
Skip these
Procedural CRUD apps with mysqli and SQL built by concatenation, "library management systems", and copied tutorial blogs read as coursework. If you build one for learning, keep it off the resume and put the three projects above first.
04

Where the PHP jobs are, and how to read a posting

PHP runs a large share of the web, and the hiring follows. Product companies and SaaS startups build on Laravel for its speed of development, often with Vue or React on the front end. Enterprise and public-sector teams, especially in Europe, favour Symfony, Drupal and long-lived, strongly typed codebases. E-commerce is a big employer: Magento (Adobe Commerce), Shopware, WooCommerce and Sylius shops, plus the integrations around them (payments, ERP, shipping). Digital agencies hire for WordPress, Drupal and Laravel across many client projects. And many established companies run large PHP platforms (marketplaces, media, booking, fintech back offices) that need maintenance, upgrades and new features. Remote and contract work is unusually common for PHP.

Read a posting's tool list as the interview syllabus and map it back to the module that covers it:

The posting says…They will testModule
"PHP 8", "OOP", "SOLID"Types, strict_types, classes, interfaces, traits, enums, readonly01, 06, 07, 15 junior
"Arrays", "algorithms"Array functions and their cost, sorting, recursion04, 13, 14
"Laravel" or "Symfony"Service container, routing, ORM, validation, queues, testing12, 15 mid
"MySQL", "PostgreSQL", "SQL"PDO, prepared statements, transactions, N+1 queries, indexes10, 12, 15 mid
"REST API", "JSON"HTTP basics, status codes, validation, JSON encoding and errors09, 10
"Security", "OWASP"SQL injection, XSS, CSRF, password hashing, sessions, uploads10, 15 junior and mid
"Debugging", "Xdebug"Reading errors and stack traces, fixing the common ones08, 11
"PHPUnit", "Pest", "TDD", "PHPStan"Writing tests and passing static analysis12
"Docker", "CI/CD", "AWS"Running PHP-FPM with Nginx in containers, GitHub Actions12
"Legacy", "migration", "PHP 7"Upgrading safely with Rector and tests15 senior
"Problem solving", "DSA"A live coding round in PHP13, 14, 15 coding round
  • Read the verbs. "Maintain", "support", "enhance" usually means an existing codebase, often older, so reading unfamiliar code and error logs (Module 11) is the real job. "Design", "own", "lead" means the senior questions in Module 15.
  • Check the versions. "PHP 5.6, CodeIgniter" and "PHP 8.3, Laravel 11" are different jobs with different interviews. Many postings are the first one with an upgrade planned, which is a strong opening for someone who knows both.
  • Years of experience are softer than they look. A posting asking for "2 to 4 years" regularly interviews a strong junior with a production-shaped portfolio. The API project above is what gets you past the filter.
  • Watch for the second skill. "PHP and Vue", "PHP and React", "PHP and AWS", "Laravel and Livewire" are the common pairs. The pair tells you what to learn next.

Match every posting against this table, then paste it with your resume into the ATS checker to see which of its tools are not on the page yet.

05

Certification exam → certificate

The PHP certification exam draws 25 questions from a bank covering Modules 01–14: 35 minutes, 70% to pass. The questions are phrased the way interviewers phrase them, and the wrong answers are the misconceptions this handbook warned about: trusting ==, expecting empty("0") to be false, forgetting that array_filter keeps keys, or believing $a + $b appends two lists. Pass it and a SolutionGigs PHP Programming certificate is issued with your name, score, date and a verifiable ID.

  1. 1
    Check the ticks

    The handbook landing page shows every lesson completed so far. Anything unticked in Modules 01–14 is a question you might miss; read it first.

  2. 2
    Sit the exam

    Sign in with Google so the certificate carries the right name. It can be retaken; the paper is drawn fresh from the bank each time.

  3. 3
    Put the certificate where it counts

    LinkedIn → Licenses & certifications, with the ID. Resume → Certifications, one line. GitHub profile README → one line with the link. The ID is what lets a recruiter verify it.

  4. 4
    Then the funnel

    ATS checker against a real posting → fix the gaps it finds → apply with the portfolio repository in the first line of the application.

What you can now say in an interview, truthfully
"I write modern, strictly typed PHP 8: enums, readonly value objects, match, named arguments. I know how PHP arrays work and what their functions cost, how copy-on-write and object handles behave, and why === is the default. I prevent SQL injection, XSS and CSRF by design, hash passwords with password_hash, and read a stack trace to fix the common errors myself. And I have built and tested a framework application against a real database, with queues, in containers." That is a working PHP developer's toolkit.
06

What to learn next

Your next step depends on the job you want, not on what is fashionable. PHP developers almost always work next to a database and a JavaScript front end, so those are the usual first additions.

If you are aiming for…Learn nextWhy
Backend servicesSQL Mastery, then Design PatternsEvery PHP application lives on its database, and an ORM only helps if you can read the SQL it generates. Laravel and Symfony are built from GoF patterns: facade, strategy, observer, decorator, chain of responsibility (middleware).
Full-stack webJavaScript, then TypeScriptMost PHP teams pair the backend with Vue, React, Inertia or Livewire, and the front-end half of the job is JavaScript.
Services beyond the web requestGoA common second language on PHP teams for high-concurrency workers, CLIs and infrastructure tools, with a simple type system that is easy to pick up.
Scripting, data and AI workPythonThe second language most teams expect for automation, data processing and anything involving machine learning.
Enterprise and large platformsJava or C#Symfony and modern typed PHP already feel close to them, and they open the large enterprise job markets.

Keep the problem-solving muscle warm with graded problems in SQL practice, since database questions appear in almost every PHP interview loop, and revisit Module 15 the week before each interview.

Frequently asked questions

What projects should a PHP developer have on a resume?
A Laravel or Symfony API with a real database, validation, feature tests, static analysis and Docker covers the largest share of PHP postings. Add a feature that uses queues and scheduled jobs to show depth beyond CRUD, and a small Composer package published on Packagist to show you can design code for other developers. For WordPress roles, replace one with a custom plugin.
Is PHP still a good language to get a job in?
Yes. PHP runs a large share of the web, and there is steady demand for Laravel and Symfony developers at product companies and SaaS startups, for e-commerce platforms such as Magento, Shopware and WooCommerce, at digital agencies, and for maintaining and upgrading large established platforms. Remote and contract work is common.
How do I get the PHP certificate?
Complete the handbook, then sit the certification exam at /learn/programming/php/certification: 25 questions drawn from Modules 01–14, 35 minutes, 70% to pass. A passing score issues a certificate with a verifiable ID you can add to LinkedIn and your resume.

Finish the PHP handbook, then get hired

Sit the exam for your certificate, run your resume through the ATS checker, and see the jobs that ask for exactly this.

Check my resume
Found this course useful? Share it.
ShareXLinkedIn

Comments

0

Join the conversation. Sign in to leave a comment — we'd love to hear your thoughts.