What's it actually like to work with Shopify as a developer?

Philipp Scambor
Director E-Commerce & Co-Founder @ Digit-One
Of course the technology follows a project's vision and its general requirements. But what it's like to work with that technology also has an effect on the output and on long-term success.
Let's shed a little light on it
We're trying to answer a few questions we'd asked ourselves before we got going with Shopify.
Can you work as a team and fall back on familiar processes like local development, pull requests and pipelines?
If you use the full Shopify suite (without a headless setup), your development process depends heavily on what the platform allows. Shopify themes live in Shopify and the framework is tightly bound to the platform. But thanks to a CLI that's second to none, and practical features like the GitHub integration, it's possible to build a development process that allows for quality assurance and effective teamwork. Developers can build themes locally on their own machines and preview them in any Shopify store via a CLI command. The GitHub integration opens up everything you need to set up pipelines that make sure production or staging themes can be deployed automatically and under control, as is standard in software development. Which means you can keep developing custom (production) Shopify themes without giving up the processes that matter so much.

What's the developer experience like in general? Will my staff quit if they have to do this all day?
In a fiercely contested market for the best talent, that talent naturally gathers wherever the best conditions are on offer. Which makes sense, if you have the choice. For developers, the technology they're confronted with day to day plays an important role. Of course where Shopify sits on that scale is subjective. But it's obvious that Shopify places a noticeable, above-average value on developer experience. Shopify knows that the developers working with it every day make a substantial contribution to the success of Shopify and its customers. The fact that Shopify's CEO, Tobias Lütke, is a developer himself surely plays a part in that too.
What's the documentation like?
The Shopify development documentation is without doubt among the most extensive and most user-friendly resources on the market. It's very comprehensive and can be overwhelming at first. After a bit of getting used to it, though, its strength quickly becomes clear. The way the documentation is structured, combined with a powerful search, means you stop even considering googling a problem. If you haven't come across it, you can see for yourself here. The UI alone is testament to the sizeable operation Shopify has behind that documentation.

How easy or hard is onboarding new team members?
Long ramp-up times and high complexity cost motivation, productivity and money. How efficient onboarding turns out depends on many factors, of course, and the technology plays a part too. The documentation mentioned above and the mature CLI make getting started technically enormously easier. That said, the Shopify platform is by now so extensive that it takes time before someone can see the bigger picture. A well-functioning team can integrate newcomers very efficiently, though.
How fast or slow is the path to a new feature?
The Shopify platform offers a great many options. If you can meet requirements with what's already there, or with apps from the Shopify App Store, then average development time is often surprisingly fast. Which conversely means that developing a Shopify store further — or building one in the first place — can be attractive from a cost perspective too. Probably the most important factor is bringing a healthy pragmatism to development. If you manage to shape the store in line with Shopify best practices and leave avoidable complexity out of it, then development efficiency is unbeatable compared with other shop systems.
How easy or hard is it to build custom apps and extensions?
Just about every store beyond a certain size runs into functional limits with Shopify and the Shopify App Store. Which means certain requirements can't be solved with built-in features or third-party apps. That's the point at which custom apps can be built to fill the gap. Fundamentally, an app is a standalone, self-hosted piece of software that can read — or influence — the data of a Shopify store via the Shopify API. So building an app is essentially building standalone software, which leaves maximum room to manoeuvre but also requires the corresponding competence — though here again the Shopify CLI and the detailed documentation make things significantly easier.
For completeness, it's worth mentioning that Checkout Extensions and Shopify Functions also make serverless extensions possible, hosted within Shopify. The technical conditions here are comparable to common cloud services (AWS Lambda functions, for instance).
Conclusion
Shopify is fun. We've rarely seen a system this well documented and this development-friendly, even though the full focus is really on the merchant. Even when working with the entire Shopify suite (no headless setup), you don't have to give up version control, pipelines and the rest. For a SaaS solution, that's not a given. The API and the documentation are seriously good. You can feel the staggering 1.5 billion Shopify invests in R&D each year in every corner.