I’ve been spending the end of this year thinking back on the past to sort of get it out and be done with it. I’m going to be laser focused on the future in 2023 but I wanted to wrap up 2022 with some thoughts about the past. I was so busy when all this was happening that I had no time to blog, let alone much else. With some actual time again I’ve been itching to share my thoughts on some major events of the last few years.
Before I started working at Web Dev Studios I’d certainly done some things with WordPress. I’ve been using WordPress at least part time since around the time it changed over from b2/cafelog to WordPress. I’d built some personal sites and sites for friends and some side clients. I’ve always freelanced my entire career. Some years more than others of course but I love that this skill gives me that option.
I’d also founded and ran a blog network back in the “dot com” era called 451 Press. I have some stories, but those are for another time. The point being, at 451 Press I managed over 500+ WordPress installs across multiple servers. I wrote my own version of “wp cli” before wp cli was a thing. It wasn’t as good or as polished as what wp cli is but I could use quick shell scripts to manage all our sites, accounts, plugins and more. Fully integrated with cpanel and phpbb and automated the paying of our writers using the PayPal API.
I also worked for a local web publishing company that ran a handful of sites that I wrote a custom conversion from Expression Engine to WordPress and from there forward, all our sites were WordPress.
I wrote a smattering of custom plugins for some of the sites and plenty of custom apis and a custom callcenter.
But I’d done most of this alone. No one checking my code, no one to challenge my way of thinking. I just got it done. It might not have been the best of code but my code was able to produce billions in revenue combined for a handful of companies I did work for.
But after a while, my skills got stale because we had grown to a maintenance phase on all our sites and projects. Everything was mostly done and I was just there to make sure nothing broke. And to my everlasting shame I didn’t use my time wisely and let tech slip past me for the first time in my life.
That company eventually shut down (long story for another time as well, but the government was involved) and I found myself needing a job. My good friend Patrick O’Keefe happened to be good friends with Brad Williams at WebDevStudios and he put in a good word for me and I submitted my application for the “Backend Engineer” position. While I can do CSS I just don’t want to do it for other people. Or all day long. I’m more backend, apis, servers, devops, developer experience, devrel, those kinds of things. Almost anything before front end lol. But I’m learning that.
I applied and they offered to give me a shot if I passed their new engineering test. No one had fully gone through it yet and I would be part of the first group doing it. I struggled with the test. I had to convert a PSD to a single page WordPresss template and it took me 3 days! But it wasn’t the PSD to template part that got me. I had never used git before, or any version control. I hade never heard of NPM or sass. WebDevStudios did everything with the most modern engineering practices which is something I came to love about working there. But during the test, it almost tanked me. But I learn fast and I got up to speed and asked for help and finished the task in 3 day instead of 5. I was then given an additional task, a backend one to import a csv to a custom post type. A common request and I thought a great test. We were even allowed to use plugins so I used CPTUI + ACF and had it done in no time at all.
I passed the test and got a job offer! But this is where the first snag hit. I was told the Backend Position was already filled but they’d like to offer me a role as a Support Tech on the Maintainn team. This team was responsible for the upkeep of about 200 or so customers at any given time and most of my work would be custom programming for these size customers. The pay was a big cut from where I’d been but WDS was one of the top agencies if you want to work in WordPress and they said they would move me to a Backend Engineer soon so I accepted the job.
I was definitely a bit behind the times on the way professional WordPress development was being done. I picked things up quickly and I feel like I contributed to the team. I seemed to be well liked and got along with everyone. At least until towards the end (more on that shortly). I felt like a good culture fit and overall I liked the culture there. The team all got along and I thought I found a fun new place to work and I really loved working remotely.
But I struggled to keep up with the pace. Agency life is not for everyone and on the maintenance side it was extremely fast pace. I was barely keeping up with my work during the day and having to research and solve problems on my own time at night and for a while I didn’t think I would be able to keep up. I finally got into a better grove, especially after I started picked up some of the new tech stack (composer, git, etc.) and was more able to focus on my work.
WDS hired great people too. Top notch engineers. I learned so much so fast from these people it was one of my favorite things about working there. In fact, here’s some of the stuff I loved about working at WebDevStudios:
- The people. Everyone was great (with a couple notable exceptions, again, it’s coming!). I have to call out Jim Byrom specifically here as he’s just a lovely human being and one of the best people I’ve worked for in my entire career. But everyone made me feel at home and were super nice and generous with answering my noob questions.
- The technology stack was so new and fresh. I had become burned out with being a “web developer” by this point but when I started seeing all the new ways people were building and the tools they were using it reignited my love for tech in a way that hadn’t happened since I saw my first BBS.
- We got to work with a wide variety of clients from small ones to brands you’ve definitely heard of. It was very interesting to see what kind of code and engineering went into creating sites at the various levels and complicated some of the bigger brands could be.
- It was challenging and fun and I got to talk to other people who were into engineering the same way I was. It was awesome!
But it wasn’t all good or I’d still be there, possibly. So what went wrong? What didn’t I like? I’ll give you my list in just a moment but just want to stress here that overall my experience at WebDevStudios was a great one. Agency life just isn’t for everyone and it’s not for me. But there were some things that made me decide to leave so lets get into that:
- As I mentioned I interviewed for a Backend Engineer position and ended up on the tech support side. After a year working there the head of engineering spoke with me and noticed I was doing well and wanted to bring me over as a backend engineer. They just needed to find my replacement and get me moved over. Jim, my boss was informed and it sounded like it was going to happen. Meanwhile, I watched them hire backend engineer after backend engineer and I don’t think a job posting was even ever made for my position. So after two years and still haven’t been moved over, still being told they are trying, I knew it was never going to happen. I knew for this alone I needed to leave so I decided I’d have to start looking soon. I pushed harder to try to get over to backend but still, it never happened.
- The maintenance side was so grueling that even other engineers who had to help us out from time to time hated it. Every single one I spoke to privately said they always dreaded it and didn’t know how we dealt with it. The company has since closed down that side of the business and I think that’s for the best for all involved.
- The pay was not enough for my needs. Agency and WordPress tend to pay lower than other areas of software engineering but I was hoping that once I made Backend Engineer it would be enough. But as the point above shows, I never got to find out so this was another major reason I decided I needed to leave.
- I had a heart attack while working this job (I’m not blaming the job on my heart attack). The stress and time constraints were just unrealistic. We only had 30 minutes to estimate sometimes very complex issues and were always being asked why we weren’t hitting estimates (every senior developer knows estimates are bullshit, btw). I helped develop a new system for estimates to help convey to project managers what to expect more and it helped some but for the level of engineering being done we were just never given enough time. Again, this is agency life. I’m not knocking WDS personally here. But after the heart attack, this level of stress had to be removed from my life.
- There’s more to go into around the heart attack topic, but I’m leaving it out. I will say Jim went above and beyond. Again, just an amazing human being!
- My first project manager was great. Until she wasn’t! I almost had to go to HR to put in a complaint and she was abruptly let go. I don’t know what happened but I suspect it was something between her and the company and the rest of us just got caught in the middle on that one. I don’t take it personally, but it was the first time I had trouble with anyone at the company and was worried but she was gone! And then it got worse.
- The next project manager they hired and I did not get along. I still can’t stand how he handled things and we just butted heads hard. I wasn’t the only one who felt this way. I’m not going to spend time kicking someone, they could have had their own things going on but at the time it was a horrible fit and made my life at WDS miserable. This person is the main reason I sped up my plans to leave. I had to get the fuck out before things got really ugly.
- And the final straw was a couple of customers who had horrible attitudes the entire time I worked with them. A couple of them just treated me like garbage. They treated everyone like garbage. One in particular made my life a living hell working with her. She even went off one of her own co-workers on a call so hard that I almost had to step in and put a stop to it myself. I almost quit on the spot after speaking to this person on a number of occasions.
- There was no time to really talk to other employees. Everyone was on such tight deadlines and timers had to be met that it often meant we couldn’t talk for long and sharing knowledge and pair-coding would have made more people better faster and it was often discouraged. Gotta make those numbers! Again, this is agency life.
- There’s a few other little nitpicks I could get into but I’m just focusing on the stuff that made it hard for me to stay at a place that I really did love being at.
What makes me sad is that I never got to work directly with some of my mentors and heroes in the WordPress space because they were all on the Backend side and I never got my shot. Maybe I would have sucked at it, though I’d like to think I would have made contributions and helped where I was needed. I’m lucky enough I did get to work with a few for brief tasks and every time it was like lightning in a bottle. I still miss those moments. I wish I had got to find out what it would have been like there as a backend engineer. I can only imagine the dark magic I would have learned from the talented team of engineers that made up that team.
Working with Michael Beckwith, Allen McKenzie, Christina Workman and Jim Byrom will always be a great memory for me. Everyone worked hard and jumped into to help each other whenever needed. And Michael was really good with git, Allen really helped me understand composer and everyone helped me grow.
There were a handful of times I got to work with engineers on the backend or frontend side like Sal Ferrarello, Aubrey Portwood, Jeremy Ward, Tom McFarlin, Richard Aber, Justin Foell, David Romsey, Marty O’Connor, Scott Anderson, Evan Hildreth, Mike England, JC Palmes, Oliver Harrison and a few more I’m sure I’m forgetting. The engineering scrum was a highlight of the week for me, I learned so much from these brilliant people.
My only regret is not having had he chance to see what being on the backend team would have been like and having my code reviewed more closely by lots of different developers. I know I would have learned even more.
Overall I remember my time at WebDevStudios fondly and I made some great friends there that I still keep in touch with on Twitter and the other social medias. I would not discourage anyone from applying. It’s a tough job, agency work is demanding. But you’ll learn a lot very fast and just having WDS on your resume will open doors for you. I still get offers from companies you’ve heard of because they worked with WDS and they know I’ll know how to do things the way they are used to having them done. I still miss the folks I worked with closely and with WDS nothing but continued success.
Evan Hildreth says
Appreciate the shout-out! I do still miss the BEE scrums, though I’ve done my best to bring the pedantic discussions to the new job.
…It wasn’t hard LOL
lol. Engineers do love getting into the semantics, eh? I need to visit you guys more often on Discord too!
Michael Beckwith says
Didn’t realize I was that good with git :D I consider myself decent enough to get things done, but at times I wonder if I’m doing things wrong especially on merge conflict resolution. Tutorials don’t always do the best on saying what’s “best practice” in those cases, they just say a way to get around it.
Regardless, thanks for the kind words.
You were definitely a good teacher! And you helped me out when I was first learning OOP as well and an all around great debugger / code spelunker! Enjoyed working with you for sure and glad we’ve been able to stay in touch.