Learn and use the tools, it's worth it.

A few months ago - I realised I have not been effectively using the tools available as a software developer. This was not a self-actualisation event; I met some people using the tools properly. And I learned from then - still learning from them.


In the past, I opened my code editor and started writing code. If I need to test anything, I do a dump and see what happens. I still do dump now, but only when it's absolutely necessary. For example, If I am working on a particular endpoint and have no idea what controller to work with, I do random dumps, which help me determine which controller.


There is probably a better way to do that; for example, if the project had proper documentation or proper controller-route naming, that would have made things easier, but as you might already guess, many people have worked on the project - and as far as I know, at some point, there was no quality assurance or code review, it was "does it work?" type of work - that happens when you work with non-coders or if they just don't care due to market or investor pressure.


In any case, let's talk about the tools that I now use:


  1. I switch to IntelliJ tools - PHPStorm. This decision was easy. The project came with a yearly subscription - and from all indications, PHPStorm was quite effective - there are things you can do without needing to install any extensions. One example of such a thing would be Services (Basically allows me to run and manage my docker containers right from phpstorm, with no lags or drags and the ability to open the database right from the editor)
  2. PHPUnit: I started writing more tests. In fact, it has become difficult for me to work on anything without adding some unit/feature testing as at the time of writing this. PHPUnit also works quite well with PHPStorm. You'll be good to go with just a few configurations and changes. Though I don't always write tests before the actual work (I guess that's what is called TDD), I sometimes write the test before and sometimes after.
  3. Documentation: This was a bad habit. Before debugging, I go straight to Google and StackOverflow. I have now realised that there's hardly anything you're trying to do that's not already in the documentation (proper documentation, anyway), so now I take my time to review the documentation before anything else.
  4. This brings me to the next point: I now also document anything I work on - regarding this specific project anyway, I still practice some bad habits on personal projects.
  5. xDebug: I have xDebug integrated with PHPStorm, which makes things quite easier. Now I don't have to do dd("got here") :)
  6. And the last thing would be Docker. Until a few months ago, docker for development was overkill because what would you want to do that the normal MAMP or XAMPP won't do? However, the advantages of Docker quickly became more obvious after I started working on this project. When you are collaborating with a large team, you want everyone to work with the same configuration and environment so that you don't end up with issues like "It works on my computer". Therefore, if you used to be like me, I recommend starting to use Docker even for your practice project - again, I still don't sometimes.

And that is all I want to share at this time. :) Learn about the tools available to you and use them.


I genuinely believe that's one way to grow as a coder.


Happy coding!