This past Summer marked a decade of service at my day job - the notion of lifetime employment is a little mid-century, so marking 10 years was kind of a big deal for me!
It was also a giant wakeup call.
In the Summer of 2010, I walked away from a lifetime of agency work and freelancing to work for a small Canadian University. I felt I had made my mark in the digital media scene and was comforted by the songs of stability from the "real job" sirens. What I didn't realize was the potential for skills to stagnate or switch direction altogether - a natural evolution from "doer" to "leader".
Don't get me wrong - as a lifetime-learner working in Higher Education has countless perks. I've been able to develop my coaching, strategy, people and leadership skills beyond what I might have gained in the private sector. The problem for me is that I miss the "doing", and faced with the reality that "you can't do it all" - I had to choose between roles: so I chose to explore being a better leader vs. competing with the new breed of designer/developer unicorns our industry had been churning out.
A major shake-up at work called for a retooling of our team. We had invested heavily in an open-source content management system that worked great for large-scale web development needs but lost its lustre when compared to some of the newer kids on the block. Leaner, more modern CMS tools with fancy things like mobile interfaces, deep social media integration, fantastic page-building tools, and mature features made our open source, enterprise CMS appear dated, worn out and potentially, the wrong choice.
An opportunity exists in every crisis - so I leveraged our need to create more nimble, relevant marketing-based websites as an excuse to get back in the game. I explored new tools in my off hours and built a slew of personal projects to see what stuck.
Along the way, I discovered new methods of building websites and tools that I hadn't paid serious attention to while in management mode. If you're in a similar situation, I hope some, or all of this list gives you a bit of a boost if you're feeling stuck like I was:
- You might not need a MacBook Pro anymore
Apple's hardware used to be the de facto standard for web development - a perfect mix of the Unix terminal and niche applications meant paying the Apple tax was mandatory if you were at all serious about development. Not so anymore - with the advent of container-based tools like Docker you can spin up a local development machine OS, configuration and dependencies that match my project 100%, gone are the days of "whelp, it works on my machine", teams can easily change up environments with simple terminal commands without polluting their local machine with project dependencies (Ruby, Python, PHP, Composer, Drupal, Wordpress, Let's Encrypt and more - all ready to rock in just a few keystrokes). It's all kinds of amazing, and it's made the biggest impact on my development operations plan overall.
- Visual Learner? Look beyond YouTube
Imagine following a video tutorial, pausing it and being able to reach into the screen and hack on the presenter's code - experimenting with the output and then carrying on right where you left off. That's the premise of a new instructional development site called Scrimba. Take it for a spin, it's how I brushed up on Bootstrap and got my head around Bulma (It's also why I started talking about Typescript, D3.js, Vue, React and GraphQL).
- Microsoft makes a Really Good Code Editor (seriously!)
Wait. What? Yup, it's true VS Code is an open source code editor (IDE) that is super-extensible and has a creepy/neat feature Microsoft calls Intellisense, that helps code-complete your syntax in a pretty non-obtrusive way. Add-ons for Docker, PHP, Twig, Sass, and Node are readily available, and the integrated terminal (I use Zsh, blinged-out with Oh My Zsh) saves me a tonne of time.
- Linux is a lot more Friendly
Linux on the desktop used to be a badge of honour for geeks who basked in a crappy graphical interface and lack of commercial software alternatives - not so anymore. I recently tested POP OS, an Ubuntu-based distro tuned for coders, scientists and other people that bash on keyboards daily, and it really is a viable alternative to the Windows / Mac OS machines. Running Docker, VS Code (or Atom), Blender, GIMP, Inkscape, and other creative tools is a cinch, and they work just a nicely as their paid-for counterparts. Got a spare laptop lying around that doesn't meet the Docker requirements for Windows? Tired of the whacky shared-volume slowdowns of Mac OS? Put Bionic Beaver on it, and get happy!
- Shared hosting is for Suckers
I got sucked into the promise of cheap domain names and easy shared hosting management that accompanied GoDaddy's famous Superbowl ads, and I'll admit to using their managed Wordpress hosting service in the past - but I have seen the light, and it's not here.
Cloud-based hosting from services like Digital Ocean, Amazon Lightsail or Linode are incredibly cheaper, photons faster and miles more stable than the usual Cpanel-induced-cruft offered by Dreamhost, HostGator or other bottom-feeders. The catch? You'll need to administer the machine yourself, which is out of the reach of most generalists. If your applications are primarily PHP-based, using a service like serverpilot.io is the best of both worlds - check out their integration with Digital Ocean in particular (their documentation is amazing) - A++
- Move over Sketch, Adobe's on your heels
One of the major excuses for staying on Mac OS was the support for niche applications that were only available on Apple's sacred platform. Sketch (a prototyping tool which arguably replaced Adobe Photoshop as the standard design app) was only available in Mac OS, with no competitor in sight. Adobe has been steadily gaining ground with Adobe XD - it's cross-platform, can open sketch files and keeps getting better by the month. Linux users can open Sketch files with Gravit Designer.
- Everyone can use a little CLI
Embracing the terminal allowed me access to some of the more powerful features of Docker (Docker Compose anyone?). I used to think that a terminal-based workflow was for the uber-elite (Linux fans? Same team), but then I started to embrace Docker, Git, Composer and other dev tools that just work better from the command line. Try it, learn the basics - a whole new world opens up, I promise.
- Forking and Versioning - Sanity Savers
Having concentrated on more front-end development and interface design, versioning your code with a tool like GIT didn't make much sense to me. Through some of the GUI tools like Github Desktop and Git Kraken, the intimidation factor is a lot lower, and nothing feels better than knowing you can fork your code, try something stupid and feel comfortable that you can roll back all (or some) of it with a few keystrokes. It's like a giant "undo" button (that was easy).
- There's a Kinder, Gentler, World beyond WordPress
Even though I'm paying attention to the new Gutenberg editor coming to WordPress, I love how the industry has questioned its own sanity and rolled back the web to a simpler time - ah the good 'old flat-file CMS - everything old is new again - or is it?
I started migrating WordPress projects to an open-source, flat-file alternative called Grav. All the modern development tools, none of the sour SQL-injection aftertaste. If you've been looking at a simpler, easier to understand and deploy CMS - take a serious look at Grav, I'm pretty impressed with what they can cobble together without a database humming in the background.
If you're a student or have access to post-secondary discounts - try some of these services with Github's backpack promo program. Credits for services like Github (obviously), Digital Ocean and more will help ease the pain of trying out something new.
Have your skills felt stagnant? What types of opportunities have you made use of to keep thing sharp? I'd love to hear your feedback!