A day in the life of a programmer starts with a cup of coffee, then dives into intricately weaving and deploying websites. But how does one really go about performing these tasks? What tools do programmers keep handy under their belts?
Glad you asked! We’ll dig through some of the everyday tools developers can reach for to optimize their workflow.*
The first tool to roll out of the box is an Integrated Development Environment (IDE).
Essentially, it’s your everyday tape measure - the tool you’ll probably need first and will keep relying on as you work. To put it plainly, an IDE is a glorified text editor. (There, I said it!) IDE’s range from very simple text editors such as Notepad++, to feature-rich programs such as JetBrains/PHPStorm. Aside from savvy names, some of the most common features of an IDE include:
- Syntax highlighting
- Project tree navigator
- Code linting tools
- Auto code completion
- Version control management
Don’t worry if all these features sound foreign to you, we’ll elaborate soon!
IDE of Choice
As for my IDE of choice, I prefer to use Visual Studio Code (VSCode) - a free, lightweight, and open-source code editor optimized for building and debugging modern web applications. I’ve put many other IDEs like Atom, Vim, and Sublime Text to the test. They all are pretty powerful, and eventually provide the same functionalities (more or less). However, VSCode has become a true favorite IDE to work with due to the number of available plugins and customization configurations that speed up development and offer a better overall experience.
Best Version/Source Control Software
The next tool to pluck from the box is Git, a version/source control software. Rather than working with files saved in folders on your computer, Git allows you to access your project’s repository at different points of development, allowing for more granular control over your edits. Git is an open-source project started by Linus Torvalds (the founder of Linux) to manage the revisions of the Linux source code. What’s helpful is that Git allows us to develop software in a collaborative team setting. Other promising version control software includes Subversion and Mercurial.
Why Code Linters?
Another great tool to reach for every day would be code linters. Code linters are tools that programmatically read your code and spot possible bugs while also checking for code style consistency. This not only helps to prevent pushing erroneous code to our repositories but it also helps ensure writing good, clean, human-readable code. Personal favorites include PHP Coding Standards Fixer (PHP CS Fixer) and Ecma Script Lint (ESLint). Fun fact: Both tools integrate with VSCode for automatic code fixes!
Why Transpilers & Bundlers?
Finally, once the code is written for any project, it all needs to go through transpilers and bundlers to be able to run efficiently on the web. Different pieces of code have different reasons to be transpiled/compiled. As the transpiled/compiled code runs through bundlers, our code (and all its dependencies) will then be wrapped together in a single bundled file to be deployed (sort of like putting a rubber band on a stack of mail). For this step, Webpack works great for transpilation, bundling, and minification. Having tested out Grunt and Gulp, and other bundling tools that have recently emerged, Webpack still proves to be the handiest tool out there.
It would definitely take a much longer post, if not a novel, to go more in-depth about the inner workings of each tool and how our personal customizations of each optimize developer experience and results. But these are a few of the trusted tools I rely on that help me write good clean code that’s production-ready day in and day out!
*Disclaimer: The programs mentioned are a matter of personal preference from experience and are not endorsements for any specific brand and/or organization.
Zubair Ab AzizFull-Stack DeveloperZubair is a full-stack developer, obsessed with learning and applying all of the tips & tricks of this rapidly evolving field. When he’s not busy coding, Zubair can be found listening to his favorite podcasts with a cup of coffee in hand, or out on nature trails with his camera.