2023-03-23

dev setup

how to select your tools

When onboarding in a development team it is always hard to select the right tool for the job. If you start using a product, how would you know whether you picked the right one. If you found out that you would have chosen the wrong tool, you need to invest time to find the right tool for the job.

my journey

When I started Java development I used netbeans for programming. I needed a tool to get my work done (and I didn't like eclipse). By that time I also didn't want to invest in an IDE, because I was not certain whether software engineer was the right career choice for me.

I landed on a job where my coworker showed how easy he could refactor a code base with Intellij. After a while I understood that my coworker had selected the right tool for the job and after a while working with Intellij I got a similar development speed, so I switched tools.

When I was working with AsciiDoc files I needed a good editor. A coworker suggested me to use visual studio code from Microsoft (by that time still in beta). Reluctantly I started to use it and was immediately sold, especially when I saw that it was open source and it had an open source license. And I still use visual studio code as an advanced editor for single files.

In the same period I also started using git. Using git from commandline is easy to do, until you get git conflicts. A good visual git client can be very helpfull. After trying to use several tools. I used Gitkraken for a while and found out that they were collecting information that I didn't want to share. When I discovered this I decided to invest time to understand how the git client works within Intellij. I still use it every time when I have more complicated things to do with git. So I use the command line git for some things and on other moments I use the IDE.

If you are interested in an opinionated dev setup, please visit my awesome-dev-environment github repository.

conclusion

Don't waste time on waiting for selecting the right tool. Just starting to use tools and create your own experiences. Chat with other developers to broaden your line of thinking. Ask them to demo you how they use those products and what their opinion is. And don't forget to share your own opinions as well. 😉