As I write this, it is a season of being thankful. In this spirit, it is worth looking at developer tools for which we should be grateful. The young amongst us may not know how much more productive development has become over the last fifty years. Time to appreciate what we have.
Integrated Development Environments
Depending on your age, you may have heard about or even coded with card decks. These decks are not an old version of Pokemon. It was a process where holes were punched in cards to write code. I don’t want to revisit that. However, now we have systems and tools that write your code. Code completion, easily save and test your code? That never happened until the last twenty years. These new IDE tools make it easier every year to get the code from our heads into a computer.
Visual Debuggers
If you have ever had to develop a system, you have had buggy code. We probably spend more time as developers catching our little mistakes and walking through logic than writing code. When I started programming you had to go through a series of commands to create a breakpoint and step through your sources. Now we have tools that allow us to view everything about our application with a few clicks of the mouse. We even have complete details of our web-based code built into the major browsers.
Easy Source Control
I know people still use command line tools for subversion and git. However, those are not often as easy to use as the plugins most IDEs provide. You can customize your projects within your IDE and quickly check in check out, and merge your source. Branches and tags have become the norm, and team development has gotten less painful as our systems have increased in complexity.
BI Tools and Visual Data Browsers
One can point to tools like Access and Toad that have been around for decades. These applications made searching through data in databases faster than reading through pages of unformatted text. They were also just a first step as we have now made it easy to find a BI tool that helps us analyze data quickly. We also have tools that visually build complex queries of our data. Even better, we have ETL functionality provided or built into most data platforms. These features make moving data among systems a matter of configuring tools instead of coding them ourselves. Being a DBA has never been more accessible.
Search Engines and The Open Source Comunity
This advance goes beyond the open source community to all developer communities. Google and Stack Overflow are a never-ending source of micro-tutorials, how-tos, and access to the vast population of developers across the planet. Any problem we run into often has a solution that is only a proper search phrase away. We also get to quickly see if the problem we are facing is common or something unique to our environment. This aspect alone has saved me hours days of chasing down rabbit holes when I can eliminate broad swaths of potential reasons for a failure.
Virtual Machines and Docker
We now have the ability to ignore the days of configuration and installation it used to take for a development environment. In particular, the cost of time and money to keep up environments across some technologies and versions. Instead, we now can dig around a list of docker or virtual machines images to find exactly what we need pre-built. When you add to this the deployment tools that many cloud providers have, it makes it easier to get right into our coding tasks.
Laptops and Mobile Devices
I think coffee houses and may have more reason to be thankful for this advance than even the typical developer. Gone are the days of being chained to a desk. When you combine virtual environments and mobile devices we can now get our jobs done almost anywhere. In my personal experience, this has included over the years many “exciting” work locations. I have run into a McDonalds to grab fries and do a production deployment, gotten in hours of work while stuck in motionless traffic jams, and more than that while waiting in airports or on flights. The post alone has been written on a couple of machines and several locations with contributions during commercial breaks of The Walking Dead. It indeed makes the options of our environment and work-space endless.
These are just a few of the significant advances in the last few decades. As you go through your daily routine, take a few minutes to consider how many tools are at your fingertips that make your day a lot easier.