Front-end workflow automation
As front-end developers -- ones who love to code and design -- we must find a balance between each, without sacrificing creativity. Automating manual tasks lets computers handle the tedious and repeatable tasks, allowing developers to focus on what matters most. Many backend developers are already using server-side tools to automate their build and release processes; for the front-end, many of these tools hadn't existed up until the last few years. Often, we’re having to compile stylesheets, minify and obfuscate JS, tag and release versions, and deploy all this code to multiple systems. The few minutes that it generally takes to complete these tasks numerous times eventually add up to hours of what most would consider "wasted time".
Which problems will an automated build process attempt to solve?
* Inconsistent builds: IDE's are wonderful tools, but unless your entire development team is using identical versions of the same software, the settings are bound to be different. This means that you will probably encounter inconsistencies, which will require time to resolve before releasing (git rebase -i, anyone?).
* Failing builds: When developed correctly, unit tests are an integral part of any application framework, if not by simply avoiding scenarios where one bug-fix creates another bug. However, writing a test simply isn't enough, as you have to regularly execute the entire batch of tests, which if you're doing manually, you may be forgetting some -- you could have failing tests and not even know it.
* Human error: this is simply unavoidable -- we're not perfect, therefore anything requiring human interaction is prone to potential mistakes.
In this session, I will be going over a highly opinionated piece of software that myself and a couple teammates at Acquia have built to automate our front-end build process. This process has granted us consistency in our development practices as well as increasing velocity in software development. Building the tools for our most important audience -- ourselves -- we were able to pinpoint the exact problems that we wanted to solve and the problems we wanted to avoid. While automating a process is an important endeavor, we also had to focus on coding standards and best practices to ensure that the tools we are building are optimal and extendable; no one-trick ponies in this circus. There is a special surprise at the end of this session! You will not be disappointed.
1. Learning about front-end automation options.
2. Finding ways to save time and reduce error in your daily front-end work.
3. Exploring one specific tool as a way to begin using front-end automation.
Erik possesses strong analytical and planning skills, the ability to coordinate the efforts of many to meet organizational goals, has productive and efficient work habits without supervision, and is a self-motivator with high energy.
Erik is a professional front-end designer and developer specializing in Drupal. He is known for his professionalism in delivering solutions to clients, employing a thorough approach of deconstructing large issues into smaller, more easily solved tasks. Erik helped develop the "Ernst & Young Entrepreneur of the Year Winners Network." Over the course of 18 months, Erik helped rebuild and redesign a private social media network for the globe’s largest community of entrepreneurs.
Erik’s passions include learning; this allows him to be on the cutting-edge of front-end design and development, provide the most relevant and sustainable solutions to his clients, and share knowledge and experiences gained along the way with other designers and developers. He also has a passion for open-source community building and teaching - he also presents at most Drupal-related events that he attends.
Erik is a Florida native, and currently resides in Portland, Oregon. For the last four years, Erik and his husband have been traveling the world as digital nomads.
Erik has been a Drupal community member for over 6 years, engaging the community from the very start. He has been a professional web site designer and developer for over 10 years. He provides private front-end development training to clients as well as presenting at Drupal events all over the world.
Erik presents at Drupal events of all sizes, including local meetup groups, regional camps, and national conventions. He normally presents on front-end development topics, but has also spoken on the topic of community involvement and organization. He has also provided classroom-style front-end development training at various regional tech events.