Most of us have a few apps or browser tabs that we keep open throughout the workday (another compelling reason for having a larger monitor, or multiple monitors, or both), like email, messaging/chat, and perhaps a social network or two.
For many developers, testers, and ops (admins), particularly those who are part of project groups, there are additional applications and web sites that they keep open pretty much whenever they're working. For example: Collaboration tools like Slack and Skype; bug/feature tracking like Atlassian JIRA; code versioning like GitHub.
For groups still ramping up their collaborative toolkit – and for new companies and groups similarly powering up their working methods – here's a look at some of the tools for improving communication and productivity, based on a handful of developers, testers, and others that I queried.
For each tool category, I've listed whatever specific ones my sources named; of course, there are going to be many additional possibilities to choose from. Reasons for choosing one over the others can include specific features, pricing, open sourced, already using other tools from a provider, etc.
Conveniently, tooling up doesn't have to require any additional IT infrastructure capacity. "All the tools I use are available as hosted services, rather than being locally run on any of our own servers," says David Day, a former core developer from DEC, Polaroid and AT&T now working as a "test automation dude" in an embedded software environment.
Here's a summary of what the categories and specific tools my sources suggested, followed by some of their opinions and advice:
- Collaboration/chatting: Confluence, FreeConferenceCall, Skype, Slack
- Video Conferencing: Google Hangouts, Zoom
- Designer/dev collaboration: Zeplin.io
- SCCS/Code management, version control, review: Github
- IDE/Testing: Android Studio, DevExpress ASP.Net, Microsoft Visual Studio 2017, SQL Server Management Studio (Microsoft's GUI for SQL Server), Xcode (for iOS),
- Cloud services inc. hosting (for dev, testing, production): AWS, Digital Ocean, Heroku, Linda
- Web debugging/dev: Charles proxy,for inspecting TCP/IP and other network traffic
- Bug & feature-tracking: Atlassian JIRA
- Screen-shotting: Skitch
- Editing in general: Atom.io, Emacs, Sublime Text
- Problem Solving: MDN (Mozilla Developer Network), StackOverflow
- Continuous Integration/Continuous Development (CI/CD): Jenkins.io open source automation server
- Project Management: Asana, Trello
- Presentations: Canva.com
Different Developers Have Different Druthers
Each tool choice has its fans and non-fans, which isn't necessarily the same as pro's and cons.
"We use most of these tools," says Harini Jagadeesan, Senior Software Engineer at a leading content streaming provider. "My favorites are Android Studio – of course, I work in it every day – along with Slack, Confluence, JIRA, and others.
"I particularly like Slack for the way it has changed how we do group discussions and even one-on-one discussions," says Jagadeesan. "Slack makes it very easy to collaborate, share and retrieve documents/images, etc. Previously, we didn't have a good solution for group discussions and tried different tools. Slack fixed that issue pretty neatly. I also like how Slack makes it easy to keep an eye on discussions even in a large group. The ease of use, features in it, great web and app support, et cetera are some of the pros of Slack. I use Slack for both personal and professional use and it’s been great, Slack is one of the very few tabs I keep open all the time."
"I use, but dislike Slack and Skype for Business (SfB)," says David Day. "They both fall short in their abilities to facilitate communication while keeping distraction to a minimum. Slack invites too much fooling around with all of the fun features like on-the-spot gif insertion while not keeping communications not directed at me from interrupting my work. Skype for Business doesn't allow pasting of more than a few lines of text which forces me to save a ten-line snippet into a file, attach it and then remember to delete it once I've sent off the message. It also notifies me too often about the online status of my favorite contacts."
For collaboration, FreeConferenceCall is an amazing free service." says Margaret Mitchell, who is the VP of R&D for a medical tech startup. "For bug tracking: Bugzilla. We can't live without it."
For video-conferencing, "I like Hangouts for less than ten to fifteen people, and Zoom for larger groups," says Rob Raisch, Startup Consultant. For CI/CD, "Jenkins is simple, feature-rich, and free,"says Raisch. For project management, "Trello for small teams/projects, Asana for everything else."
For IDE/Testing, "DevExpress ASP.net provides web controls – that is, controls for web development, e.g. menus, grids, charts, reporting, etc.," says Adam Leffert, a freelance full-stack C#/.Net Web architect and developer.
Leffert also uses and recommends:
- JetBrains dotTrace – “For performance analysis of code during execution.”
- JetBrains dotMemory – “To track down memory leaks and analyze memory usage.”
- Express Profiler – “A free utility. A stripped-down version of SQL Profiler from Microsoft. Shows CPU, reads, writes and duration of queries as they run. Easier to install than the MS tool. Has most of what I need.”
- Advanced Installer – “for building Windows installers.”
- LinqPad – “for testing LINQ queries. LINQ is part of the .Net Framework.”
On the editor front, "Atom is profoundly hackable – customizable," says Rob Raisch. "I've tried them all and there is nothing better! It's basically a self-contained HTML5/ES6/CSS UI and nodejs server. All changes to its code are applied immediately so you can play to your heart's content. It also supports every useful language and a huge collections of plug-ins for things like integration with git, code linting/formatting, etc."
So if you haven't yet been in a collaborative group, or feel your group could up its collaborative game, hopefully this gives you some more tools to try.