I work as a PHP developer. And since PHP is a pretty boring language and, in my opinion, somewhat lacking in the future… well, maybe that's a bit harsh. ;)
I'm not saying there won't be any jobs for PHP developers. Quite the opposite. PHP has one major advantage over the competition: it's cheap, popular, and there are already tons of existing projects written in it that need to be maintained, developed, and supported. And I'm sure there will be plenty of work doing exactly that for many years to come.
The problem with PHP is that there isn't really much you can do with it that you couldn't also do with something else. At the same time, I feel that PHP is increasingly missing some of the support and ecosystem you can find in other languages – especially when it comes to cloud platforms, AI, libraries, and newer tools.
Of course, it all depends on the project, but if you're starting something from scratch and you can choose between Python, Java, JavaScript, C#, and PHP, I don't think PHP is as obvious a choice as it was ten or fifteen years ago.
And honestly, I don't really want to spend the next few years mainly maintaining and developing projects that are ten years old. ;)
Time to Learn Something New
I learn best when I'm working on an actual project, so instead of taking another course or going through another tutorial, I decided to just start building something.
I chose a game.
Obviously, it couldn't be some huge 3D production. Otherwise I'd probably spend six months modeling a single tree and still wouldn't have a game. ;)
So I came up with the idea of making a card game – a simple 2D game. That way, graphics shouldn't consume most of my time, and I can focus mainly on programming.
I'm learning with the help of DeepSeek, and I have to say, it's pretty damn good.
About a year ago I also tried using it for some programming, and the progress since then is huge.
Just to be clear: most of the code I have at this point was generated by DeepSeek.
But I'm increasingly changing, fixing, and adding things to that code myself. And I think that's where the real learning starts – when you're no longer just copying code, but actually starting to understand what is going on inside it.
I started this project about five days ago.
Before that, I tried starting with Godot Engine. Godot has its own scripting language, GDScript, which is very convenient for making games, but from the perspective of learning something that could be useful professionally, it didn't seem particularly interesting to me.
There is also C# support, but when I was starting out, I wasn't sure how complete it was. And I still have some doubts about whether C# wouldn't actually be a more interesting choice than Python.
For now, though, I've stuck with Python.
And now I can show off a little and show what I've managed to build in just a few days. :)
As you can see from the screenshots, the plan is to make a war-themed card game.
I don't want the cards to simply be individual units that you play and then leave on the table. One of the main mechanics of the game is going to be combining cards.
For example, you should be able to attach a tank to a soldier. You should also be able to add workers to terrain cards, and similarly develop factories and other infrastructure.
The game is going to have several different resources: food, iron ore, steel, oil, fuel, logistics, and initiative.
Each of them will have its own purpose, and the production of some resources will depend on others.
So having a tank isn't enough.
You also need the resources to build it, fuel to keep it running, logistics to get it where it needs to go, and supplies to keep it fighting.
Basically, you have to build the whole economy before you can start blowing things up. ;)
I'm also planning different zones.
There will be a State area containing things such as terrain, factories, and logistics infrastructure.
Then there will be the actual war zones: Front, Second Line, and Rear, where different types of units will be deployed.
At this point, of course, this is more a collection of ideas than a finished game design. The mechanics will probably change ten times before I decide that everything actually makes sense.
AI Doesn't Just Write the Code
I should also mention that all the graphics I'm currently using in the project are generated by AI as well – mainly Perchance.org and ChatGPT.
I'm relying pretty heavily on AI throughout this entire project.
And honestly, without it, I don't think I would have been able to just jump straight into a project using a programming language I barely know.
Is this the best way to learn programming?
I don't know yet.
Maybe in a few months I'll discover that all I've really learned is how to write good prompts and copy code. ;)
But so far I can see one huge advantage to this approach: instead of spending several months learning Python first and only then trying to build something, I'm creating something concrete from day one.
And I think that's exactly why learning programming has become much more interesting for me.
The project is only a few days old, so it's way too early to say what it will eventually become.
Maybe I'll end up with a working game. Maybe I'll switch languages, switch engines, or throw away half of the ideas along the way.
But at least I'm building something.
And if I manage to learn a new programming language along the way, then even if the game never sees the light of day, I don't think a few months spent on it will have been wasted. ;)