Jose Romero, Senior Software Engineer
Jose is a Senior Full Stack Software Engineer with interest in functional programming and devtools. Currently lives in Medellín Colombia.
When coding as an individual contributor for a company, an open source organization or a personal project, not only do you want to deliver code that has tried and tested best practices incorporated, follows correct design patterns, is useful and has no bugs (that’s the dream, right?), but also you want to deliver software efficiently, ahead of deadlines, and without sacrificing quality.
There are many things you have to do to achieve this level of success in any software project;study continuously in order to keep in touch with the modern industry standards, write tests to make sure no bugs get into production, try out different programming languages to see which one is better for a specific use case, and go to conferences to make sure you’re up to date with whatever technologies you use.
But, besides this, you also need time to spend with your family, to exercise, to play video games or watch your favorite movie. Time management is important for any profession, and you need the right set of tools that will help you save time without any extra work, and for free. Choosing the right set of tools can be life changing for a software engineer that knows one thing: time is gold. In this article we’re going to recommend some tools that will help you save time and optimize your work.
Specifically, we’ll show you tools to improve your productivity in 3 core aspects: automated code reviews, day planning, and coding assistance.
Automated code reviews
They say you spend more time reading code than writing it, well, guess what, they are right, but also, it’s not easy. When you have to do code reviews you have to understand what the other developer wrote, find issues by either running the code or analyzing what’s written in the pull request, and even, when you’re the one who wrote the code, you have to make sure you’re delivering something that has no bugs and follows best practices. Well, both things take quite a bit of time, and we want to be efficient and productive, so here are some tools that will make you code better and also help you reviewing others code, optimizing the time you spend both reading it and writing it:
Codiga is an easy-to-use code analysis tool and platform that is free for users. From every Commit and Pull Request it surfaces the most pernicious defects on your projects. Its analysis engine is available anywhere developers read or write code by installing a plugin in their VSCode, JetBrains and even Chrome. And you have a very clean and customizable dashboard where you can configure projects, members, languages and analysis rules for each language. It’s enterprise ready but you can use it for your personal projects, and it will generate a quality score for each of your projects that you can share in any of your social networks to show the code quality of your projects. It will help you save time and optimize your workflow.
SonarQube is the one of the leading tools for continuously inspecting the quality and security of your code. Helping both individuals and teams in code reviews. It has support for 27 languages so developers can understand and fix issues, and so teams can deliver better and safer software faster than usual. But it also allows you to review your code while coding, using real time code analysis. No matter if you’re an individual, a company or an organization, if we’re talking time management and code quality, this is one of the best tools to use.
Lift is a continuous assurance platform that analyzes each pull request and speedly generates a complete report about security, performance and reliability bugs within the developer workflow. It integrates seamlessly with GitHub and will save time for developers to find out problems in their codebase. Lift is pre-tuned to find in time the issues you care most about, and skip the ones you do not. It’s not only a linter, as it uses machine learning to learn what are your priorities when it comes to code analysis, and helping you exactly with the parts you care about. It’s a recent project that will help you optimize your time when doing code reviews exactly how you need it.
Each day has only 24 hours, and in that time you have to figure out exactly what to do in your work, maybe you have a side project, an open source repository you maintain, or you have other duties not related to your career, like taking care of your children and feeding your pets.
For this you can try to figure out what to do during the day, but more often than not, you end up not doing everything you wanted because you didn’t organize your day, week or month correctly. Here’s where organizational tools are one of the best ways to improve your productivity at work and for the rest of your activities, effectively.
Perhaps you already know Notion, and although you might have heard it is a documentation tool for teams, we have found it is also a very effective tool for organizing your days and ideas in an optimal and customized way. There are many templates created by other users that you can adapt to your needs, and the best part, it’s free for personal use, which means it makes a very versatile and complete organization tool that will improve your productivity.
Similar to Notion, you might have heard Trello is a planning tool for companies or teams, but actually, for individuals, it can be a very effective tool to plan your activities on a day to day basis. Trello cards are your portal to more organized activity planning—where every single part of your activities can be managed and tracked. So at the beginning of the day you can set some goals in your own preferred way, and you can even create different boards where you can organize specific tasks such that you can look into them and directly understand, modify and update your plans. It’s a huge productivity boost for your life and it’s free for personal use.
Any.do helps you organize your life and your tasks, taking away the overwhelming feeling and improving productivity, so you can code in your work, code your gig, watch a little bit of Netflix, maintain your open source projects and buy Bitcoin. It is a very intuitive, detailed, and beautiful tool for you to make sure you are using your time the best you can.
Coding Assistant Tools
Coding is fun, but it’s also hard. What’s hard about coding? Well, in order to keep a clean codebase, and develop features in an standard way, you need to keep a lot of information in your mind, how a library works, how a specific programming language is used, and more often than not you see yourself looking for how something works on Stack Overflow or trying to remember what are the best practices to implement something you have done many times in the past. There’s where these tools come in handy to save time of your day by making it much easier to code.
Codiga has a different approach to the other tools for coding assistance, as it’s based in a community driven set of smart, context aware code snippets that make it very easy to import complete pieces of code into your editor, either by using user defined shortcuts or by doing a semantic search in the whole database of code. It’s a free tool for developers, and can save users countless time in their days. If you have your own code snippets you can create them, organize them in groups, known as Cookbooks, share them with other developers around the globe and import them into any of your IDEs right away. It’s a privacy friendly, flexible and scalable multi-language platform that you can use to save a lot of time and automates the implementation of code that you use often, removing the need to Google for the solutions you need. It’s an excellent tool for the productive software engineer. Plus, it offers a hub where you can explore existing code snippets, review them, favor them and start conversations about them, which means the snippet that gets to your editor is curated by a great community of developers. It has integration with VSCode, JetBrains and even Chrome.
Tabnine one of the most used AI code completion tool, trusted by over 1 million developers in all programming languages. You will save a lot of time by using it, because you’ll prevent mistakes, find out code faster and discover best practices with the autocompletions it provides. It works directly in the IDE. It doesn’t send any of your code anywhere, so your privacy is not at risk. You will reduce the amount of things to remember like syntax and you would not need to code a lot of the tedious pieces that you use often.
This AI driven tool, similarly to Tabnine, improves your performance by recommending pieces of code live and fast. Kite supports over 16 languages and 16 code editors. It will create code completions that are context aware and will give you a huge productivity boost.
With GitHub Copilot, you will get suggestions for whole lines or entire functions right inside your editor. Trained on billions of lines of public code, GitHub Copilot puts the knowledge you need at your fingertips, saving you time and helping you stay focused. GitHub Copilot is available today as a Visual Studio Code extension. GitHub Copilot works with a broad set of frameworks and languages. It adapts to your coding styles and provides you, besides the completion tool, with a comment driven system where you just describe in a comment the functionality you need to implement and it will give you code suggestions which sometimes are the whole functionality you require. This is one of the most recent and advanced tools that will save you time.
You don’t have to use all the tools we described above for you to start being more productive as a software developer, we recommend you explore all the options available and decide which one fits your needs better, and you will see that you will have a better experience while developing software in any of your projects.