DEV Community

Discussion on: Mistakes I made while learning Web Development as a beginner

Collapse
rudoslav profile image
Rudoslav • Edited on

My 2 cents on the phenomenon:

---- About me/our team -----

I'm a backend developer (not a coder really, since I take business acceptance criteria -> do my research -> design the feature from logical and technical point of view -> write tests and code it -> create docs -> yada yada) for a few years now.

---- Our environment ----

I come from an environment, where we use:

  • Magento monolith - which uses couple of PHP frameworks under the bonnet + the Magento e-commerce framework on top.
  • A PHP lumen/laravel app as a specific microservice for our Warehouse
  • A few python apps for our Warehouse embedded devices
  • A few Java and Kotlin Android apps for our warehouse
  • Some serverless microservices on AWS (mostly in node) for specific tasks
  • and other, such as DB clusters, elasticsearch, ...

Our company generates revenue in tens of mil. € / year. We have up to 20k orders/day.

And so far we did not hit any limit of the PHP as a technology.

Of course you can't compare this to Facebook and the load on it's servers, but as Rasmus Lerdorf himself said (paraphrase):

"It's just a tool, what really matters is what you create with it"

What matters is what you aim to achieve.
For our team of 7 devs and 2 testers it is "as high as possible quality" + "business value". And with PHP we've been able to do this for a few years now.

---- The ending point ----

It is perfectly possible to either gain bad an good development and coding practices in any language - be it PHP, JavaScript, ...

If you start / are intermediate in / already have done a lot in web development - you can still gain knowledge and push yourself further with PHP as you can in any other.

With PHP you can do almost the same as with any other server-side or scripting (maybe except stuff like serial communication with another device) language (what a junior dev might need/want). You can do object oriented; test driven; scripting; socket communication; microservice; design patterns... What we people sometimes fail to realize there are different tools for different tasks.

(yes, you can even use strict data types on file level)

Do not worry about PHP.

Pick your strength (language or technology), but surely expand to others as well.

Worry about:

W3C or other standards;
KISS, DRY, SOLID, ... (standards)
Open API;
good practices in code;
unit and integration tests;
stress testing;
debugging;
using an IDE;
documentation;
different git workflows;
making your app migratable to different server/env;
docker or equivalent;
microservices;
cicd;
machine learning;
working in scrum or kanban;
...