I’m developping web interface for 20 years now and, as a developer, I’m using a lot of tools to work on my projects. Here is a quick overview of these tools and how I am using them.
When you start coding, the first thing you will need is an IDE or text editor that allow you to type code and eventually will help you write it. For a long time I was using Vim at its maximum speed. Vim is pretty raw at first but when you release its power Vim is incredible. Its main weakness is when you have lots of files in one project. Vim become unfriendly.
For this reason, I’m using VSCode for more than a year. VSCode is great to work on small, medium and big web projects. With the help of appropriate addons VSCode will help you to avoid big mistakes or write a better code.
I’m still using Vim on bash scripts but for all the other language I’m using VSCode.
I wrote lot of php code and, during my career, I have tested some php frameworks among which cakePHP or Symfony but I’ve chosen Laravel. The main reason was quite trivial, Laravel is used all over the world as the main PHP Framework. Everywhere but in some countries like France, Poland and Tunisia.
Ok, I’m french, but I already have made this kind of mistake when I chose dotclear rather than wordpress as a blog platform. Dotclear was the main blog platform in France, WordPress was the biggest everywhere else. At last Dotclear has almost disappeared.
How can you pretend to be a serious developper if you are not using Git, or, at least, one versionning tool. I started using CVS (the dinosaur), then SVN to finally use GIT as is doing the main part of the developpers community.
The learning curve is quick (you don’t need to know all the git commands) and the benefits are huge, even if you are alone on a side project like Podmytube.com, where I’m alone.
I heard about it a few years ago but I really came to Docker last year on my day job at Gamestop. I admit that, at first, I did not understand the real interest. Now ? Every open source I’m working with is build with Docker and Docker-compose.
For sure, at first, it adds one layer of complexity but here again, benefits are real. The main one : once my code is working on my local env, I’m sure it will work on the prod env.
Bash is a longtime friend of mine. I started administrate some web server since 2000, when I started to rent my first dedicated server. Bash helped me to script configuration and automate some stuff and, with vim, I’m still using it.
Composer is the apt tool for a world of php libraries. You need to install, one library ? Get it, with composer and it will install all dependencies, the way that apt, yum or npm are doing. Clear and simple. With modern frameworks, composer is one major actor of the PHP renewal.
Once upon a time, I was writing code then I was making a quick check to see it everything was fine, then I was delivering.
FOOL, I was !!! I’ve discover TDD 2 years ago. And I’m working following this principles for one year now. Writing tests first is not quite natural to begin with but benefits are huge at last.
Thinking about how I’m going to test this new feature, writing the test, look at it failing, writing code to get the green value make me want to sing “libéré délivré“. PhpUnit help me a a lot to write these tests.
Remember the milk/Trello
I’m using 2 todo lists actually. I was using Remember the milk as premium and, at work, we start using Trello. By the way I like features of both but I imagine a merge of these 2 tools would be perfect. Unfortunately it is not the case…
Paint.net and Krita
Paint.net is a great tool to edit image, so great I bought it twice to support the author. Unfortunately, Paint.net exists only on windows platforms. The only proper alternative, I found, in the linux world is Krita but I still feel uncomfortable to use it.
LAMP (Linux, Apache, MySQL, PHP)
I cannot finish this long list without talking about the LAMP tools I’m still using for 2 decades. Linux has become my main OS. I’m working with it on my day job and at home. I only use windows for games or paint.net picture editing.
Apache is still the web server I think about on a new web project. In its docker version now, but still.
And, you can imagine, I’m still working with MySQL and PHP event if I have added some more tools around. A huge kiss to the LAMP tools and community :).
Rejection and what’s after
Recently, I subscribed to the podcast Worlife (a great one from TED frounder Adam Grant) and the last episode I listened to was bouncing back from rejection. One of the people interviewed was a writer who was always rejected. As an answer, she decided to make it a challenge and to get 100 rejections. Finally, what she collect was that her texts was rejected more the 70 times but, better, she got 40 successes.
I faced rejection more than once with Podmytube and I, everytime, took it personally. So I decided to let customers coming rather than trying to convince them. During next weeks I will try to convince customers, or, at least collect refusals and take it as a game 🙂
See you next week.
PS : I’m writing this in english directly. Writing it in french then use google translate would be too easy and not challenging. The faults are totally mine 🙂