To begin with, we covered keyboard navigation and shortcuts, and how implementing them will improve your overall workflow across the spectrum of different programs and processes you use on a daily basis. We wanted to start there as a lead in to automation, since that is really at the core of what that approach is: every shortcut you implement is really a condensed form of it’s expanded counterpart, automated to achieve the same quality output in less time. Which leads to two more questions. What other technological tasks can we automate in our everyday work? And can we automate parts of our daily work besides the technological aspects? Yes, and yes. But let’s start with the technology.
Automating Code
Like we discussed regarding keyboard shortcuts in the first article, if you find yourself doing a task frequently, in a manual fashion, there is an opportunity to determine if you can automate it. Throughout the course of a project, there’s numerous tasks that need to be done: condensing/minifying code, compressing and optimizing images, prefixing CSS, concatenating files, uploading projects to the server, and much more. There was a time, not too long ago, where the developer would need to process these tasks individually and have a checklist ready to go through and mark each one off (I’m making myself feel old being able to remember doing those checklists). It was only a matter of time before the community found a way to automate all of these processes. The most popular “task runners” out there (at the time of writing this article) are Grunt and the more recent iteration Gulp, and Webpack. We’re not going to deep dive into assessing these tools, as there are plenty of existing articles and resources out there, but if you’re looking for one of the most significant ways to level up your development workflow and build process of website/web app development, these tools shouldn’t be overlooked. In addition to automating many processes and best practices for you, they also bring features that enhance your development experience, such as BrowserSync for live changes. They do require delving into some intermediate level javascript to configure, and luckily there are some great starting point suggestions out there, but once you have them set up and running they are as simple as a couple keystrokes to initialize (and even quicker if you use something like Gulp for Sublime Text). If you haven’t taken the dive into these phenomenal tools, it’s time to level up, as every current developer should be creating projects using some form of a build tool.
Automating Communications
Note: it should be noted that cloud based platforms are truly the best fit for any development workflow. The array of tools that come with G-Suite or Outlook 365 are tremendously valuable and accommodate the full range of needs, from email communications to calendars to note keeping. Attempting to use independent programs such as Outlook or Apple Mail along with a 3rd party host with standard POP Email is the old paradigm and does not offer the leading edge features that a cloud based platform will provide. If you’re wanting to automate this part of your workflow, then you need to make the jump to one of these platforms.
Despite our best efforts, email communication is a large beast to reign in. Client communications, notifications from various platforms, leads/inquiries, ongoing support…it builds up fast. There’s no replacement or shortcut that we’ve found to responding to each message (eventually), but there are some automated tools that exist to mitigate the amount of time that email correspondence takes, with features that a cloud based email provider can offer.
- Snooze lets you look at something later without having to remember to do so, which can be helpful when you really need to be reminded to follow up on an item at a later time or date, but don’t want it taking up space in your inbox or on a To Do list.
- Send later will allow you to respond to messages in the moment but keep the flow of communication in the right pacing, since sometimes you’ll want a bit of a gap between communications to ensure you are given enough time between actionable items.
- Email tracking through a service like Streak can enable you to know who’s opened an email you’ve sent (as long as they have image downloading turned on) that can take the guess work out of finding out whether a communication you send was actually received. No more following up and wondering whether it just landed in someone’s spam box or just got missed. Less back/forth and follow up equals less time spent in your inbox.
- Canned Responses are also a fantastic feature of Gmail and Outlook, where you can create common replies that you might often write (in some cases, many times in a single day), which are also highly customized and allow for personalization. Think of them like “code snippets for communication”. The danger of them is you don’t want your replies to sound automated or robotic, but used properly they can save you a significant chunk of time that you’d normally spend on repeating similar messages to different clients.
Automating Scheduling
It was once said that “websites are 80% meetings.” I have found this to be true and would add that running a business is about the same ratio. Doing the work is important, but if you’re like me and you run a business that is a service provider to your clients, support will inevitably be a big part of your daily workflow that you must account for. Meetings, of all varieties, are essential to running a successful business. And if we don’t get a handle on scheduling and make it a balanced process, then we lose out on the remaining time that we need to complete the work that we’re being hired to do in the first place! Scheduling is a huge part of why meetings in general can be such a hassle because it requires you to stop what you’re doing in any given moment to find a time that works for both parties. And if you’re trying to coordinate 3 or more parties, that’s a lot of back and forth before you can arrive at an agreed upon time.
Scheduling tools such as MeetingBird and Calendly allow you to pre-populate your availability and provide clients a view of your working schedule, which you can set to suit your desired amount of meeting time you decide to allocate daily/weekly/monthly. It will also sync to your (hopefully Cloud-based) calendar that will automatically remove those time slots from your schedule. It can remove the guesswork out of scheduling for everyone who is seeking a block of time from your calendar and provides a transparent view of your availability, freeing you up to work on projects while everyone hashes out the best time that works for the next meeting. Just be careful to only open yourself up to meeting times that you really are willing to relinquish for meetings, as focused development time should be something you consider as a part of your schedule, and should be blocked out accordingly.
Automating Maintenance
If you’re building websites, you know that launch is just the beginning of the relationship. Just like a house or car needs maintenance once it’s purchased, a website does too. If you’re a developer that deals with WordPress sites often, then having an automated tool for handling maintenance and support is essential, and there’s so many great ones to choose from. ManageWP, InfiniteWP, BlogVault…the list goes on. These tools will allow you to administer all the needs of a site install, from backups to security to updates, all from one central dashboard. Scheduling all these various website maintenance needs frees you up to focus on other work within your business without sacrificing the needs of all the websites you have promised to support.
Final Thoughts on Automation
It makes sense, working in an industry that revolves entirely around computers and technology, that automation is a fantastic way to become more efficient in our field. Automation is a bit of a paradox: it’s not a “set it and forget it” procedure because you’ll find there’s a never-ending path of finding more ways to do it better…even though it is composed of individual components that you “set and forget.” You can always be looking for ways to automate and create effective quality shortcuts in everything you do, whether it’s opening a program, writing a block of code or answering an email. Ideally it will be a constantly evolving aspect of your overall workflow. Take an hour or two this week and review every aspect of your workflow, from development to communication/scheduling and support. Look for those areas where you find that you are repeating yourself through a task or communication. Where can you delegate the technology to do this for you? Automating as much as possible will have cascading benefits, mostly in the form of more time; something we all love to have more of! 🎉