Essential tools for a web development team
A Mugo developer's toolbox is packed full of tools. Big tools, small tools, new tools, old tools. We don't care if they're shiny or use all the latest buzzwords to describe their functionality. Much like the solutions we build, we care that they work, and work well.
Here's a brief look at our favourite tools to work with.
Bob the builder
IDEs & editors
There's no clear winner in this category, with most Mugo developers using both of these tools for different parts of their work.
On the IDE front we're evenly split between Netbeans and PhpStorm, both fully featured IDEs that make working with complex frameworks a whole lot easier.
Code hinting, class inspection, and auto-completion are the top three most loved features. No surprise there.
When it comes to editors there's a strong preference for Sublime Text. Its speed, flexibility, and extensibility has most of us excited. Opening massive files without breaking a sweat? Column and multi-line editing? Fast fuzzy search for project files or code parts? Sublime's got your back.
In the shell
We're comfortable in the shell, working with many of the classic Unix/Linux tools beloved by developers worldwide. Tools and languages like awk, sed, grep, and bash make our life easier and help us get things done quickly.
git helps us take control of features, fixes, and updates for our projects almost exclusively now.
The ability to quickly react to project changes using its branching, merging, and commit features make it a great tool to work with. Once you get over the initial "I don't know what I'm doing ..." feeling that is.
Lastly, vagrant-powered virtual machines (VMs) give us the ability to keep development environments isolated and as close as possible to staging or production servers, which avoids a lot of headaches during development. Running these VMs for development is not without its challenges (configuration, performance, bugs), but for the most part we're pretty happy.
Oh, oh ...
When things do go wrong it is important to be able to track down and fix the issue quickly. Log files play a vital role as they allow us to review and record data for debugging without affecting site operation.
There's no single tool we use for logging -- system, Apache, MySQL, PHP, and Varnish logs all play their part.
It's fairly uncommon these days to run into a problem that no other developer has run into before. In those cases, when you stare at the screen telling you "PC LOAD LETTER" or the old "MySQL has gone away", there's a very good chance someone has been there and posted about it online.
Sites like Stack Overflow, Server Fault, and Super User have improved a lot over the last few years. Even if they don't hold the answers to all your problems, there's a good chance they'll at least point you in the right direction.
We also document and share solutions within our team via our in-house wiki, as well as with the community through our blog posts. One of Peter's favourite tips, for example, is SSH tunnels to access eZ Find Solr instances that have been locked down for production environments.
Mise en place
Mugo team members live and work all across the globe -- from Canada, to Brazil, Germany, and all the way down to Australia.
Since we're rarely in a room together, collaboration tools are important to us.
We enjoy working with Assembla and its many features to help us make sense of what's happening on each project and to document important information for the rest of our team members and clients.
To stay connected throughout the day we use Skype chats for team chatter or project-specific topics.
We also rely heavily on Google's G Suite: Mail, Sheets, Docs, and Meet are used daily and allow us to collaborate on spec documents, meeting notes, or training documents with ease.
"A picture is worth a thousand words" as the saying goes. Our meetings regularly feature screen shares where team members demo a new feature they've just finished or a cool thing they've found.
Music streaming services like Spotify keep some of us going. Multi-monitor setups stop a few more from wearing out our keyboards switching between applications. Then there's covfefe or whatever else keeps the mind active throughout the day.