PHP developers

PHP software engineers who change a live legacy application

We add senior PHP software engineers who change the application in pieces small enough for your own team to review. The application keeps serving customers the whole time.

Talk to a PHP software engineer

Tell us what the application does. A reply within one business day, with a technical person on the call.

How we handle what you send is set out in our privacy notice.

A version number cannot tell you whether you are exposed

A branch is the numbered version line your application runs on. There is a check you can run tonight to find yours. It takes a minute, costs nothing, and will not settle the question.

Show data table
W3Techs measured the version shares of PHP sites on 1 September 2026. php.net publishes which branches still receive security fixes and which have reached end of life. The three shares here are those version shares grouped by that published status.
Segment Value (percent) Share
No security fixes 51.3 51.3%
Security fixes only 39.6 39.6%
Actively supported 9.1 9.1%

Some Linux distributions backport security fixes into a branch php.net has retired. The version string on its own cannot tell you which case you are in.

Of PHP sites whose version W3Techs could detect, which branch they run W3Techs measured the version shares of PHP sites on 1 September 2026. php.net publishes which branches still receive security fixes and which have reached end of life. The three shares here are those version shares grouped by that published status. W3Techs version shares, 1 September 2026, grouped by php.net published support status

Your application was built years ago, most likely by people who have since left, and revenue runs through it every day. The senior PHP software engineers we add begin by learning what the code actually does.

Find out which branch your application reports. Then read the published end-of-life dates for that branch on php.net. Both halves are public, and neither of them involves us. More often than not, you will land in the first block above.

Then comes the part nobody says out loud. The Debian project answers it directly in its own security notes. Rather than raising version numbers, Debian backports security fixes into the version shipped in the stable release. The stated reason is that a release should change as little as possible. Several distributions work that way. Many hosts do not.

So a site reporting an old branch may be quietly patched, or may be sitting wide open. The number it prints is identical in both cases. Not knowing which one you are is not a gap in your diligence. It is the position. It is answerable. You answer it by looking at what the host actually ships, not at what the application reports about itself.

Whether you should still be on PHP at all

This is the question underneath the other one, and it usually arrives with a different person in the room.

A great deal of PHP was written badly, much of it before the language had the tools to write it well. Some of that code is exactly what people picture when they hear the word. That is a fair observation and there is no point arguing with it.

W3Techs measured this on 1 September 2026: of all websites whose server-side programming language it could identify, 70.2 percent run PHP. That figure buys one thing only, which is that an ecosystem this size is not going anywhere. It says nothing about the quality of any single application, including yours.

Nobody is buying a language. The alternative to a working application is not a better one written in something else. It is rebuilding whatever behaviour exists only in the running code, a good deal of which lives only in the heads of people who have already left. That is the branch hardest to cost before it starts.

One question settles it. How much of what this application does lives only in the running code? Where the answer is very little, a rebuild is a real and reasonable choice. Where the answer is years of it, a rebuild is a rediscovery project wearing a rewrite's clothes.

Why this sits where it does

  • If revenue runs through an application you did not build

    Nobody can give you a straight answer about what moving it would cost, or what it would break. Every quote carries a range wide enough to be useless. Meanwhile it works. Not brilliantly, but it works, and something in front of it is always on fire. And if it fails on a Friday evening, you carry that personally.

  • If you own this codebase and cannot get headcount for it

    You know what needs doing and roughly in what order, but you do not have the people. On a spreadsheet this work reads as maintenance, so a permanent hire is hard to argue for. Everything else depends on it anyway. So it goes on the list, and every month the change gets one month larger.

The risk is in the size of the change, not in the version number

Two counts from the same application, the same upgrade and the same practitioner, done two different ways.

Show data table
Lawrence Cooke, Updating legacy code to php 8.x, published on dev.to in April 2024. One practitioner, one application, the same destination reached two ways.
Item Files changed
Changed in a single leap to PHP 8 1,000 files
Changed in the PHP 8 step, done in stages 25 files

Cooke wrote that the single leap ended up at over 1000 files changed. In his words, it was too many to cope with.

Files changed upgrading one legacy application to PHP 8: in one leap versus in stages Lawrence Cooke, Updating legacy code to php 8.x, published on dev.to in April 2024. One practitioner, one application, the same destination reached two ways. Lawrence Cooke, dev.to, April 2024

Both counts come from Lawrence Cooke, writing on dev.to in April 2024. Same application, same end state. The difference is entirely in how the work was cut. That is the difference between a change your team can actually read and one they simply give up on. A review nobody can perform has stopped being a control. That is where the expensive mistakes go through.

Which gives you a question worth putting to every firm bidding for this. Put it to us as well. How many files will my team be asked to review at one time? A firm that has thought about the risk will answer with a number. An answer about process instead of a number is the one to worry about. It means the size of the diff was never something anybody planned.

How a change actually gets made

  1. 01

    Find out where you stand

    Which branch the application runs. Whether the host backports security fixes into it. Which extensions and third-party packages are load-bearing, and what a move would touch.

    What lands on your side

    A written statement of where the application actually stands

  2. 02

    Agree the scope

    Scope is agreed in writing before work starts. It names the milestones, and what each one has to satisfy to be finished. You sign it off before anybody opens an editor.

    What lands on your side

    A signed scope with milestone exit criteria

  3. 03

    Change it in pieces

    Work lands in your repositories and deploys to your cloud accounts. A senior software engineer reviews every change. Each one carries tests and passes a gate before it merges.

    What lands on your side

    Reviewed pull requests in your own repositories

  4. 04

    Anything that changes the scope

    Work that turns out bigger than the scope is written down and put to you first. Nothing in the build moves on a re-scope you have not explicitly accepted. The estimate you signed off does not quietly drift.

    What lands on your side

    A written change note you approve before anything moves

When the skill is not on the market

We have worked with more than 50 companies across 7 countries. We have been operating since 2015. Our longest active partnership has run more than a decade.

Start with the need. A global industrial-automation client could not source Magento expertise at the speed its work required. Magento is PHP, so this is the same labour market your application draws on. The shortage was not of software engineers. It was of software engineers who had carried this kind of application before.

Then the shortlist. We define the need first: skills, overlap hours, and the outcomes the work has to produce. Then a shortlist, already vetted by our own technical team. You interview them if you want to, and none of them if you would rather not. If a shortlist does not produce the right fit, we send another.

The team came next. Seven specialists, formed for that engagement, working to the roadmap the client set. Formed on demand is the point. Nobody was on a bench waiting, and nobody was pulled off other work and rebadged. We would run the same sequence for a PHP gap you cannot hire into.

What you are buying, and what makes it bigger

Three different arrangements, not three tiers of one, read against the same four axes.

What moves the size of each is knowable before you speak to anybody.
AgainstFind out where you actually standA scoped piece of work with a written outputOngoing maintenanceAn annual maintenance arrangement, or lean mode for lighter ongoing supportA team formed for a gap you cannot hire intoPHP software engineers working alongside yours
What it producesA written statement of which branch you run, whether the host backports patches into it, which extensions and packages are load-bearing, and what a move would touch.Changes made and reviewed as they come up, each through the same written change note as a build.Named software engineers on your roadmap, in your repositories, reviewed like everything else.
Who holds the roadmapYou do. The output is information, and what you do with it is yours to decide.You do. We work the queue you set.You do. They work to your priorities, not to a plan of ours.
What moves the sizeHow many ways into the application there are, whether automated tests exist, how many third-party extensions are load-bearing, whether we can touch the hosting, and whether an outside date fixes the calendar.How much is still changing. How many integrations sit around it. How much of the application has tests.How scarce the skill is, and how much has to be learned before anybody is useful.
How long it runsUntil the written statement is delivered.The annual maintenance arrangement is annual. Lean mode is for lighter ongoing support.For as long as the gap exists. Our longest active partnership has run more than a decade.

Who answers when it breaks, and exactly where that stops

This is the commitment the rest of the arrangement rests on. Here it is with its limits attached, rather than discovered later. It is a term of the ongoing support arrangement, whether that is the annual maintenance arrangement or lean mode. It is not a blanket property of every engagement we run.

  • An outage, or anything that stops your team working: a named person acknowledges it within four working hours.
  • Something broken that can be worked around: twenty-four working hours.
  • Everything else: seventy-two working hours.
  • Working hours means our working day, Monday to Friday, 10:00 to 19:00 India Standard Time. That is 04:30 to 13:30 UTC.
  • European teams get substantial afternoon overlap with that day.
  • The target is acknowledgement by a named person who engages with the issue. It is not resolution.
  • How long a fix takes depends on what the issue turns out to be. That is not something we commit to.

Two of those lines make the commitment smaller. They are there on purpose. A target that promises a fix rather than an answer is a target nobody can hold. The size of a fix is not knowable before somebody has looked at the problem. What is knowable is that a person who understands the application has picked it up. And that they told you so, inside a window you were given in writing. That is worth asking for in writing from anyone else you are talking to.

Start the conversation

Tell us what the application does. You will get a reply within one business day, with a technical person on the call.

How we handle what you send is set out in our privacy notice.

Who should not hire us

  • Revenue runs through a PHP application somebody else built, and nobody can tell you where it stands.

  • You want the branch moved, the extensions untangled or the hosting sorted, in pieces your team can review.

  • You need PHP software engineers alongside yours for a gap you cannot hire into fast enough.

The wrong call when

  • Very little of what your application does lives only in the running code. Where that is true, the case for rebuilding is genuinely strong, and this is not the work for it.

    Backend software engineers

  • You need round-the-clock cover. Our default is India Standard Time working hours. Where a live sync is needed, a project coordinator can host it. An overlap shift can also be arranged on request, agreed at scoping. What we do not offer is continuous cover.

    Ongoing support arrangements

  • Your engagement requires a certified vendor. We do not hold SOC 2, GDPR or HIPAA certifications ourselves. We engineer systems that pass your audits. Where the certification itself is the requirement, we say so upfront and point you on.

    Security engineering

For the conversation you have without us

Every line below stands on its own. Each one can be pasted into a message with nothing else attached to explain it.

Forwardable

PHP work with Atyantik, in five lines

  • Ownership Intellectual property belongs to the client from day one.
  • Where the code lives If the client has repositories and cloud accounts, Atyantik works inside them. If not, Atyantik provisions them and hands over the keys.
  • Review A senior software engineer reviews every change. Each one carries tests and passes a gate before it merges.
  • Response On an ongoing support arrangement, a named person acknowledges an outage within four working hours. The working day is 10:00 to 19:00 India Standard Time, or 04:30 to 13:30 UTC.
  • If it ends On offboarding, the client keeps everything, including the operational runbook.

Before the first call

The questions that come up about a live PHP application, answered before anyone picks up the phone.

How do we find out whether the PHP version we run is actually exposed?
Find out which branch your application reports, then read the end of life dates php.net publishes for that branch. That still will not settle it, because some Linux distributions backport security fixes into a branch php.net has retired. An old branch may be quietly patched or sitting wide open. What decides it is what your host actually ships.
Should we rebuild in something else instead of staying on PHP?
Sometimes, and one question decides it. How much of what your application does lives only in the running code? Where the answer is very little, rebuilding is a real and reasonable choice. Where the answer is years of it, a rebuild becomes a rediscovery project first, and that is the hardest thing to cost before it starts.
How is each change reviewed before it reaches our live application?
Every change goes through code review by a senior software engineer, with unit tests, integration tests, and CI/CD gating every merge. We run GitFlow, a branching convention for how work joins the main line. Architecture decisions go into the TRS, the technical requirements specification. We also cut the work small enough for your own team to read the diff.
Who owns the code, and where does it live?
You do, from Day 1. Every line of code is your IP, it lives in your repositories, and deployments live in your cloud accounts. If you have your own Git hosting, cloud accounts and storage, we work inside them. If you do not, we provision them and hand the keys over. On offboarding you keep everything, including the operational runbook.
What happens when the work turns out bigger than the scope we agreed?
Every change goes through a documented change note, with time, effort and cost laid out before approval. Nothing in the build moves on a re-scope you have not explicitly accepted. That holds during the build and afterwards on an annual maintenance or lean mode arrangement.
Can we interview the PHP software engineers you propose?
Yes, if you want to. Many clients run technical interviews or their full hiring loop; others trust our vetting and skip interviews entirely. Everyone we propose is vetted by our own technical team first. If a shortlist does not produce the right fit, we send another. If our bench does not match the requirement, we say so and recruit for the role.
What if the PHP software engineer we work with leaves?
We do not publish a guarantee that one named individual stays for the life of an engagement. What does not leave is the work itself. The code sits in your repositories from Day 1, deployments run from your cloud accounts, and architecture decisions are written into the TRS, the technical requirements specification, so the reasoning outlives whoever made it. If continuity of one person decides this for you, raise it before scoping.

Tell us what the application does

One conversation to start, and a reply within one business day with a technical person on the call.

Describe what the application does, what worries you about it, and what you already know about where it runs.

You will get a reply within one business day, with a technical person on the call.

There are two good outcomes here and we mean both. Either this is work we take, or we tell you it is not ours and where we would look instead.

Tirth Bodawala, CTO
Tirth BodawalaChief Technology Officer
  • A reply within one business day.
  • A technical person on the call.
  • Nothing you share goes anywhere else.

How we handle what you send is set out in our privacy notice.