I believe that mastering tools are a better investment than mastering a particular domain. To become an expert in something takes years of experience. Even if it's a good goal to have, you can automate certain parts of the process using relevant tools.

The best example is using an IDE that automatically detects code improvements and suggests fixes for you. You don't need to do it manually and can focus on your work quality.

I think it's also a good idea to improve your knowledge in the long term but in the shorter one, investing in good tools is more efficient.

Refactoring with Visual Studio Code

Refactoring plays an essential part in our day-to-day programming. I find this process particularly useful when extracting codes for reuse. Using JetBrains' IDEs makes the task effortless, but fear not if you're using Visual Studio Code.

These five extensions will help you: My favorite is SonarLint which even supports Java.


Reading Codes

This is helpful advice.

I sporadically read other developers' codes before. However, I made it a habit to at least have a glance, if not read, and understand some codes in projects that I might not necessarily be working on.

Otherwise, when my mind is fresh and I don't have much work in the backlog, I'll log onto Github and look for the most popular or rated open source projects in a programming language I know.

I'll have a look at the ReadMe document and look at the project structure and mostly how files are connected to one other. This might also mean how business logic is abstracted through different classes.

Debugging Tip