It’s funny being a PHP developer in 2017. You see all these exciting technologies blowing up (for the JS ecosystem, “blowing up” is the right term!) the landscape; NodeJS guys look down upon you with contempt (who get looked down upon by Golang guys, mind you, who get looked down upon by Erlang developers, who get looked down upon by . . . but I digress!), and as a freelancer, most of the projects you come across are coded horribly in CodeIgniter or are to do with unpleasant CMSs like WordPress or Drupal.
For a long time I tried to get out of the ‘quagmire’ of PHP, wanting to migrate to Python, maybe even JavsScript, but there was too much ground to cover and I couldn’t do it. But much more importantly, I keep finding jobs and projects as a freelance PHP developer, so I couldn’t really complain.
These days I’m making peace with the fact that PHP is ‘good enough’ for most use cases, and where it isn’t, plugging in a load balancer, Redis, and Node (for sockets) does the job really damn well. I’m also learning that large-system architecture and deep knowledge of databases are important than fretting over a language’s warts.
My advice to new/struggling PHP developers? Give up CodeIgniter, avoid working in software service companies, start with Laravel but migrate ASAP to Symfony, learn some solid OOPS, rip open a framework, learn advanced PHP (generators, co-routines, etc.), and finally, start contributing to a non-trivial open source project. It’s not that hard; at most it will take a year or two of dedication. But it’s an effort worth making. 🙂