Tools of the Trade Icon

Welcome to Tools of the Trade

This podcast of an ongoing IEEE Software column explores the interplay between you, the software practitioner, and the tools you apply to the development problems you face. Skilled craftsmen set themselves apart from amateurs by the tools they use and the way they employ them. As a professional, I feel I'm getting a tremendous boost in my productivity by appropriately applying tools to the software construction problems I face every day. I also often find myself developing new tools, both for my personal use and for wider distribution. Column installments will discuss specific software construction activities from the standpoint of the tools we can employ — the tools of our trade. Future topics include editing, compiling, documentation, debugging, testing, configuration management, issue tracking, the development environment, tool building, and domain-specific tools. Of course, your suggestions are always welcome; email me at Diomidis Spinellis

This podcast is brought to you by IEEE Software.

Subscribe iTunes | Google | RSS

First, Do No Harm

Author Diomidis Spinellis provides an audio recording of his On Computing column, in which he discusses how we must be very careful to avoid breaking or degrading the system while working to maintain existing code.


Service Orchestration with Rundeck

Author Diomidis Spinellis provides an audio recording of his On Computing column, in which he discusses how managing and controlling a service’s provision is tricky, but tools for service orchestration, like Rundeck, can make our lives easier.


Continuous Integration and Its Tools

This audio recording of the Tools of the Trade column discusses how continuous integration is more than a set of practices, it’s a mindset that has one thing in mind: increasing customer value.


Developing in the Cloud

Many affordable cloud-based offerings that cover software development needs, like version control, issue tracking, remote application monitoring, localization, deployment, payment processing, and continuous integration, do away with the setup, maintenance, and user support costs and complexity associated with running such systems in-house. The most important risks of cloud-based tools concern control of the data stored and the services an organization uses. On the other hand, cloud-based tools dramatically lower the capital requirements and setup costs of a software development organization. They also help organizations adopt best practices in each domain simply by registering with the corresponding service. Using a cloud-based service also means fewer worries regarding scalability, while from the customers’ perspective delivering a service through the cloud allows an organization to have a much closer relationship with them. Through cloud-based services the development infrastructure is becoming increasingly homogeneous allowing developers to use the same tools across diverse projects and employers, transferring knowledge and skills from one job to the next, and offering a deeper talent pool of experienced developers.


Showing 1 - 4 of 25 results.
Items per Page 4
of 7

About the Speaker

Diomidis SpinellisDiomidis Spinellis is a professor in the Department of Management Science and Technology at the Athens University of Economics and Business and the author of Code Quality: The Open Source Perspective (Addison-Wesley, 2006). Contact him at