As most of you know, I started a new job a few weeks ago with 10up. It's an amazing job so far, and I'm thrilled to work with several developers I admire and am lucky enough to call friends.
But deciding to take this new job was a difficult decision for me - because I really enjoyed my previous job. Some of my co-workers were, understandably, upset when I left. Some of my friends a bit confused. So I wanted to lay out for you the four biggest reasons I decided to leave a very good job with HawkSoft to take an equally fantastic opportunity with 10up.
I never wanted to work in software.
I originally wanted to be (and still do at times) in marketing. I love telling stories and went to great lengths to get a bachelor's degree in political science (studying people and messaging) and later a master's degree in global marketing. Helping people tell the story of their product is and will always be my greatest pleasure. But these days that is happening more and more often online.
WordPress was the first platform I ever used to build a website, and when it fell short of what I needed it to do I was sucked into the world of plugin development. I taught myself how to code, and haven't looked back. Even working for a software company focused on Microsoft products (all of my code has been written in C# for the past year), I devoted much of my off-time to working with WordPress.
Being able to dedicate all of my time to working with my favorite system now is fantastic. It's great software, and an equally incredible community. I'm honored to be a part of it and thrilled that my WP work is no longer just "a hobby."
2. Open Source
The biggest challenge of working for a larger, closed source company is the ever-present inability to share your code. Sure, we'll use GPL'd libraries in some of our projects (mostly the internal ones), but the vast majority of the work I've done over the past few years (at Hawksoft, at NuMedics before that, at Zubeo before that) has been closed to the outside world.
In most cases, this is for security reasons. We're working withe sensitive data and private systems, so the concept of sharing the inner workings of our systems with the world is a bit ... frightening. But it also limits what we can do. I've spent the past few years working in a bubble - if I had a problem there was, often, at most 1 person I could turn to for advice. I couldn't throw my code into a Gist and just ask around for feedback.
Being so separated from the community that taught me to code in the first place made life very hard. Not being able to contribute back to many of the projects I learned from was equally difficult.
3. Work From Home
Until now, my office was - on a good day - 35 minutes from my house. Not too bad. But "on a good day" is without hitting any traffic whatsoever. I would frequently duck out of the office at 4:45 (I started early) and not get home until 6 or later. Still, not a huge time commitment, but it did mean my days were pretty tied up.
Life - for me, at least - is taking place more and more often in Portland. My friends are downtown. My church is downtown. The organizations with which I serve are downtown. And, for some reason, everything that happens, is usually starting at or around 6pm. I'd often pass on dinner meetings, conferences, and even service opportunities because I knew I'd be in a time crunch from getting done with work.
I was a bit frustrated with how much of "life" I was missing out on because I was so "busy" either with work or travelling to/from work. It brought back this part of a blog post I read a few years ago:
Most of us think of “busyness” strictly in terms of hours devoted to a specific job, role, or task. Instead, think of busyness as the amount of autonomy you have in the use of your time. When you are single, you are in control of your schedule. You have complete freedom to decide what to devote your time to. The decision of when to study, when to sleep, when to eat, is yours and yours alone.[ref]If You're Single, You Aren't Busy - Boundless.org[/ref]
Working in Canby, I had a lot of autonomy over the actual execution of my job. But not as much as I wanted in the way of my schedule. This is not a fault of the company at all - they were incredibly lenient and flexible with work hours - but in the mere fact that I had to be in a specific place 30 miles away from "life" for a certain number of hours each week.
Working from home, I can be as flexible as I need to be. I can start early. I can work late. A bout of insomnia on Tuesday can mean my weekend starts a few hours earlier on Friday. It also means I can be available at the drop of a hat when someone needs me.[ref]This was particularly important when a family member was suddenly rushed to the hospital - without ID - last week.[/ref]
When you work for a large company, it's often hard to see the impact of your work. You're just a wheel in the big machine and, many times, only know people notice your work when something breaks.
I don't need to be famous. I don't want my name in lights. I don't want strangers to send me fan mail (or hate mail, for that matter). I just want to know that the work I do makes a difference.
WordPress powers millions of websites (over 50 million just through WordPress.com alone). I talk to people every day who use WordPress or a website built on it. Knowing that I am one of the people who makes that software possible is ... indescribable. And also, everything I need to find meaning in my work.
It's also a bit frightening to know that my work is seen by so many people on a daily basis. I'm constantly afraid that my skills aren't up to the task. And trying to live up to the bar I set for my own performance is a huge challenge - one that gets me out of bed every morning.