Here we're crafting an overview of why Spryker is a great platform for developers to learn 🧑🎓, to enjoy 🤩 and to make a good career out of 💰. And if you're just like me, you don't want empty claims: you want proof.
So here we go. And feel free to send in your PRs!
- Reason 1: Basic characteristics of Spryker Development
- Reason 2: Programming language: PHP
- Reason 3: No need for a big team to build or run a Spryker project
- No Spaghetti code, but a State Machine
- Import and Export has been taken care of
- Reason 4: Killer SDK
- Reason 5: Long term maintainability
- Reason 6: Job security
- Reason 7: Spryker allows you to service different business models
- Reason 8: Everything is in place to to turn you into a Spryker Superstar
- Spryker developer Quotes
- Next steps
- Where to find Spryker on the web
Let's start off with some development principles that Spryker is based on, an why you might like working with it.
- Spryker`s entire architecture is built upon the best practices and well-known design principles SOLID, DRY, KISS, YAGNI, Facade & Factory method;
- Spryker has multiple levels of code reviews that are integrated into the development process:
- Developer code review
- Technical lead code review
- Application architect code review
- Besides the above human reviews, Spryker uses various tools for monitoring the quality of the codebase and performance of the product in general: PHPStan, PHPMD, Psalm, Codeception;
- We like to say that we are positive perfectionists, and work only with clean and high-quality code. But you don't need to take that from us: Check our incredible code quality rating on Scrutinizer .
- Our code is open and accessible for everyone to see. Our code is not released under an open source license, but all code is available on GitHub, there are no parts hidden or encoded. Also when using our PaaS version, the individual features remain open code and can be used, modified or removed at will.
Here's an overview of the technology used in the Spryker core product:
*(AWS: S3, EC2, CloudFront, SQS)
- Javascript
- Webpack
- NPM
If you want to take a deep dive into the technology, check out the Architecture Guide or enroll in the free Spryker Architecture Overview course.
Here's an overview of the main technology used to work with Spryker:
- Amazon CloudWatch
- AWS Elastic Load
- AWS CodePipeline
- Buddy
- Codeception
- Composer
- New Relic
- Scrutinizer
- PHPMD
- PHPStan
- Psalm
- Vagrant
Also see the Spryker page on StackShare.io and check out the Spryker Development Environment Overview course.
Nearly 80% of websites use PHP (source), PHP has been one of the top 5 programming languages since the year 2000 (source), and it's the foundation of the most popular framework Laravell (source).
PHPs flexibility and low barrier of entry is both a blessing and a curse. The curse being that, for some developers, PHP has gotten a bad reputation because of its perceived inconsistencies, security matters, sloppy syntax and simply because it is everywhere. If something is very popular, it's almost inevitable that there will be a lot of people messing it up.
But this is not inherent to PHP: if you follow proper design principles like we do at Spryker,
Highly proficient PHP developers are sought after, so if you can master it, you have the potential to earn lots of money. That popularity means there are plenty of career opportunities out there. Another good reason to learn PHP: it pairs great with other skills and languages.
Finding good developers is never easy, but because of PHPs popularity, it's easy to find developers with PHP experience that can be trained to use Spryker. We also have good experience onboarding Java developers, because of their experience with Object Oriented Programming which is very similar to what Spryker is doing with PHP.
🚧 [TODO]
🚧 [TODO]
One of the biggest challenges in e-commerce is the mapping and implementation of business processes in the IT infrastructure. What can still be easily implemented with a simple B2C business model becomes a real challenge with more complex business processes in the B2B area.
As an example of this, we can imagine the processing of an order. The order must be processed separately depending on the products ordered, the desired delivery time, the stock level and the type of payment.
Depending on the complexity of the process, this often leads to complex "if-then-else" constructs (spaghetti code) when implementing with some other platforms, which after a short time seems difficult to understand and after a long time almost unmaintainable.
Spryker provides a solution to this problem with the so-called state machine. Processes can be easily modeled and visualized based on states, transitions and events. This solution gives both the developer and the shop operator a transparent and easy-to-maintain opportunity to implement and expand complex processes.
Every e-commerce project needs a way to communicate with the outside world: Products and inventories, orders and customer data, etc. must all be able to be exchanged and compared with other systems. Each software product goes its own way and offers the data in a variety of different formats and forms.
Unfortunately, many older systems only offer limited solutions to data, often illustrated by the overwhelming number of third-party modules dedicated to this problem.
Spryker, on the other hand, already provides a framework to be able to implement imports and exports quickly and cleanly. The developer is left with the task of bringing the data into the correct format. The actual process of importing and exporting is then accomplished with the tools provided by Spryker.
🚧 [TODO]
🚧 [TODO]
Some factors that indicate that Spryker is on the rise:
- G2: 4.4 out of 5 stars: https://www.g2.com/products/spryker-cloud-commerce-os/reviews
- Gartner: 4.5 out of 5 stars: https://www.gartner.com/reviews/market/digital-commerce/vendor/spryker/product/spryker-cloud-commerce-os
Like it or not, large Enterprises look at analyst firms for advice when they're buying new software. A good (and growing) score in analyst reports is therefore a good indication for upcoming Enterprise projects.
Spryker scored highest for overall growth of any vendor in the 2022 Gartner Magic Quadrant, with both customer and revenue growth nearing 100%. Customer growth was paralleled by an increasing number of larger service provider partnerships being cemented.
See spryker.com/analyst-recognition-commerce for more details and recognition by other analyst firms like Forrester, IDC, MCFADYEN and Paradigm B2B.
Spryker is a modular cloud native platform conforming to broader definitions of microservices, but most closely to Gartner’s packaged business capability (PBC) paradigm.
Spryker was recognized in all four Gartner®️ Critical Capabilities Use Cases for Digital Commerce, and a Visionary in the Gartner®️ Magic Quadrant™️ for Digital Commerce for the second consecutive year.
Spryker supports a wide range of industries and business models like retail, manufacturing, wholesale, distribution, services and more B2B, B2C and Unified Commerce. All of these capabilities out of just one platform.
Because we use many modern, popular tools in our Technology stack, it's relatively easy to transition into Spryker and any learned skills can be very useful at any projects that come after.
What experience makes for an easy start into the Sprykerverse?
- Experience with PHP development
- Experience with Java development
- Experience as a Solution Architect
- ... 🚧 [TODO]
These are the things we see often pop-up in job profiles when companies hire Spryker developers.
- Senior-level expertise in coding with PHP
- Knowledge about professional software engineering e.g. SOLID principles, Clean Code, Separation of Concerns
- Working experience with standard frameworks like Zend, Symfony, Laravel, or others
- E-Commerce experience with shop systems like Magento, Hybris, or similar.
- Experience building and consuming REST APIs
- Proficiency in developing, deploying, and debugging cloud-based applications using AWS, especially working with message queues
- Good understanding of automated testing and experience writing tests
- ... 🚧 [TODO]
The Spryker Academy offers several learning plans and courses to get your started and improve your skills
- Getting Started with Spryker;
- 10+ Spryker Overview courses;
- 10+ Developer e-Learing Courses;
- Developer Instructor-led Courses and Certification;
- Spryker Developer Foundations Certification Exam.
The ability to customize a decent amount of the codebases's functionality without overwriting it will probably be my favorite aspect of Spryker once it comes time to upgrade major versions. For the day-to-day side of things, the built-in code style, functionality, and structure tests are helpful in maintaining the current standards when adding new code. The built-in code generators are also a significant help, speeding up the overall pace of development. Spryker's technical support reps are also competent and responsive. The customizability and flexibility of the Spryker system (as well as the wealth of additional add-ons) meant that it was easy to pair Spryker with our current systems.
- 100% customizable processes with the state machine
- Clean architecture
- Nothing is impossible
- With PaaS+, many helpful tools are given, which help reduce project maintenance and keep the code clean.
- Helpful community!
We use Spryker as our e-commerce solution and customer frontend. We have very extensive product data (3 million SKUs, 8 million images, 60 million technical attributes, etc.) and a use lot of APIs. What I like best:
- Code Quality
- Modularity
- APIs
- Customer Success
- Scalability
Did the above peak your interest? Here are your next steps:
- Follow our free developer e-learning courses, sign up for the Developer Instructor-led Courses and get certified;
- Use our Quick Installation Guides to get familiar with the product;
- Join our Slack: sprykercommunity.slack.com;
- Sign-up for the Spryker User Group and join our monthly meetups!
This work is licensed under a Creative Commons Attribution 4.0 International License.