Calvin Koepke is a Senior Frontend Engineer at 10up, working on enterprise-level WordPress websites and integrations. He’s been a good friend of mine for many years and has tons of experience with WordPress, website development and design. He’s worked for himself doing freelancing as well as different high-end agencies like 10up. His wealth of knowledge and experience is sure to inspire. Below is a brief written interview with Calvin.
What do you do? Tell us about yourself and your involvement with WordPress.
I’m a full-stack software engineer. While the title is a bit controversial (for good reason), I think it’s best explained that I’m comfortable across the backend and frontend of the stack. I’ve specialized in WordPress for nearly a decade, but like to experiment with non-WordPress technologies as well like React, Laravel, and the plethora of Static Site Generators out there
On a personal level, I live in Boise, Idaho with my wife and 3 boys (and counting). We love the outdoors, house projects, and snuggling on Saturday mornings.
What sparked your initial passion for web development? What are your favorite and least favorite parts of developing websites?
Initially, it was customizing my personal blog. I used to write a lot (and still do at times), and would spend hours trying to make my site unique. Back then, I was a graphic and UI designer, but I was frustrated at my inability to make designs interactive. I soon transitioned to coding and designing, and have since focused mainly on development.
My favorite thing about web development is how “magical” it all feels. There’s nothing quite like seeing something you designed and developed come to life. The thing I absolutely hate about web development is also how “magical” it feels. The modern web has become so abstracted that I think a lot of developers (myself included) just kind of coast along until they get stuck, at which point we just give up, or try something else.
You’ve worked for agencies and for yourself. What are the pros and cons you’ve found with each?
The benefit of working for an agency is the insane amount of extra headspace you enjoy at the end of the day. After you’ve put in your hours, you can unplug and enjoy your other hobbies and relationships.
When you’re working for yourself, it’s extremely difficult to achieve this freedom. You’ll often hear people say that the only road to freedom is entrepreneurship. I agree with this, but without broader context it can be dangerous. Through experience I’ve learned that both employees and entrepreneurs enjoy freedom; it’s just that employees obtain it immediately, and entrepreneurs only obtain it after the initial investment of making their company successful.
The main benefit of working for yourself, in my opinion, is that the opportunity for achieving equity (as opposed to renting out your time), is substantially more likely, and therefore can have greater monetary reward. I say “can” because you’re not guaranteed to build a successful company, and because in the long run you may actually have more debt.
What is the best piece of advice you can give to someone thinking of switching to freelance?
Don’t skimp on a plan. I dove into freelance prematurely with no plan and no savings, partially out of necessity, and partially because I wanted to try. For starters, freelancing takes time to build a referral network. The first several months are going to be a lot of outreach and low-ratio closures (the amount of outreach that turns into a paying client).
For that reason, a supplemental savings cannot be understated. It will save a lot of sleepless nights. If you want to take off, financially speaking, you need a long enough runway. So build that before you jump in the cockpit.
What are some of your favorite tools to work with within WordPress development and why?
Without a doubt, PHPStorm and xDebug have saved my life more often than any other tool out there. The main reason being that you can debug your code within your IDE line-by-line as it executes. More than that, having an IDE that can index WordPress will allow for much greater control and autocompletion, especially when it comes to filter and hook referencing.
Next on the list is Composer. Being able to manage plugins, themes, and packages through a package manager completely changed how I think about code. By necessity of using the packages, you being to think in terms of modularity and reusability; both essential to quality programming.
Beyond that, I prefer Webpack over Gulp and the terminal over a GUI for compiling and handing asset management.
In your opinion, what should all WordPress developers be learning about right now and why?
Non-WordPress libraries and tools. As WordPress grows up and becomes more integrated with frameworks like React and even GraphQL, I imagine the ability to build interactive sites and applications without the WordPress platform will be a likely next-step. Even if this doesn’t happen, though, being able to work in any language (rather than a framework), is going to be a successful long-term strategy.
What is the best book, article, or resource you’ve discovered in the last year?