Don't Learn to Code

Do you know what each letter in S.O.L.I.D. means? Do you know commonly used design patterns? Do you know the most popular PHP frameworks? Do know what cyclomatic complexity is?

Don't learn to code. Learn how to think.

Ask more different people on the same topic. It's very easy to have confirmation bias if you're in a team. In time, everyone tends to think the same and it's very difficult to get creative or critical thinking. Go to meetup and ask what advantages has Docker in your situation. Go to reddit and ask for other projects that sell tickets online. Go to Slack, Pehapkari or Symfony one and ask for tips to migrate to Symfony 4.2 and PHP 7.3. There is a huge chance you're not the first who has this idea.


Beware of a cult thinking. When you're in a team where your team-leader has strong opinions, it's very probably there is polarized thinking. E.g. Nette, Doctrine and PostgreSQL is the best combination for big PHP applications.

"Do this." vs. "I prefer this, because..."

But do you know why? If you do, take one more step: do you know why do you think that? Have you read it somewhere, did you best friends told or did you actually experience it? Cult thinking is also common for people who followed trend-setters in PHP community - those who speak, write, tweet or comments on Reddit and StackOverflow the internet. I meet many people who read my blog and think monorepo is the best approach to work with repositories. But why, when do you use monorepo and when rather not? They don't know. Don't be afraid to question me or other people like me, be critical so we can both learn something. I've noticed it's common for lecturers and speakers like this to repeat what they've learned in last 10 years of the coding. Today is the slowest changing day for the rest of the humankind. Everything changes so help us see it so we can share back valid ideas.

Ask in comments, learn how to disagree - there is a beautiful 6-point overview on how to disagree by Paul Graham.


Start with why. Do you know Simon Sinek? If so, just skip this. If not, check his Ted talk. This changed my view on IT meetings in companies and meetups with PHP folks. Before I asked "why", I only memorized other people's opinions. Now I feel I learn something.


If nobody is doing it yet, you're just the first one who talks about it. Don't be afraid to share your work and be open to other innovative ideas. Not everything under 1000 downloads is useless. Even Symfony had once had just a couple of downloads and had to go to market that was already dominated by established PHP frameworks. When I realized that AST can be used to refactor all PHP code on Github in a matter of hours from PHP 5.3 to 7.1 I pushed the idea back for many months because I thought somebody had to do that already. It's basically PHP CS Fixer, just with AST instead of tokens. I believe you, my dear reader, have a couple of ideas like this - "it must exist somewhere". If you're not sure, go to packagist and do little research. If it's not there, you have a go for new Github repository.


So go out, doubt, learn and play, because you already have the best sources to find out your answer.




Do you learn from my contents or use open-souce packages like Rector every day?
Consider supporting it on GitHub Sponsors. I'd really appreciate it!