2021 Year in Review

Published 18/12/2021 | Last updated 19/12/2021

A lot of amazing things happened to me as a developer in 2021. I want to break down each of them and discuss my takeaway points.

Reviewing all that's happened to me as a developer in 2021.

Howdy! My name is Luke. You may have come here as one of my followers on Twitter. If so, I want to take a moment to thank you for your support. Likely, you weren't following me this time last year. 2021 has been an insane year for me as a developer and I've accomplished way more than I ever expected.

That is not to say that this is down to my efforts and hard work alone. Being in the right place at the right time has helped a lot. If you're interesting in this concept, Veratasium has a great video on the subject. However, hard work has also played a major part in my growth this year. Here are the major things that have happened to me in 2021:

  1. I became a core maintainer of Pest PHP
  2. I dived into the world of streaming and tutorials
  3. I started a new job at Worksome
  4. I had the opportunity to speak at several developer meet-ups, and have been invited to speak at Laracon Online in February 2022

I've numbered the above steps rather than just using bullet points because each step had a direct impact on the step below it. Let's break these down, and I'll talk about what I did at each stage to get to the next point.

Becoming a core Pest PHP maintainer

It seems like a lifetime ago that I joined the Pest team, but it was only May of 2021. At the time, I was using Pest's outstanding Expectation API in my projects. You may be surprised to know that at the time, I was still using PHPUnit, but just with expectations instead of assertions. That, however, is a story for another day.

Whilst using the expectation API day in, day out in a complex project, I found myself doing something like this a lot:

expect($items)
->toBeArray()
->toHaveCount(10);
 
foreach($items as $item) {
expect($item)->toBeInstanceOf(MyClass::class);
}

It annoyed me. I wanted to keep a single expectation chain, but had to break out into a foreach loop for one simple check. This is where a lot developers stop. If I'd have stopped here, with an "I wish", none of the other points in this post would have happened. None of them. So, without knowledge how far this PR would take me, I went ahead and created a PR. I was thrilled when Pest PHP creator and Laravel team member Nuno Maduro tweeted about it:

Spurred on by this response, I decided to submit a second PR, this time for the sequence method, which solved another small DX issue I'd experienced when working with multiple items in an iterable. Another tweet from Nuno:

Soon after this, Nuno reached out to me and added me to the Pest core team. I was added to an internal chat and was now in direct contact with some of the biggest names in the community.

Now, before you go thinking that two PRs is the secret sauce to success, bear in mind that I'd contributed PRs to many other projects prior to this. This is where "right place, right time" comes into play. Nuno saw something in me. He gave me a chance. I had nothing to do with that decision. All I did was contribute. Do that enough, and somebody will eventually notice.

Here's the key takeaway from this section: this was the hardest part. I'd already put a lot of work into Open Source before this. I'd created Poser, and WhenIPress. I'd contributed to Laravel. All of this was done without any real community recognition. That was about to change, but only because of the work and luck I'd experienced up to this point. Isn't there a saying: "respect has to be earned?"

Tutorials and Streaming

After joining the Pest PHP team, dominoes started to fall. My follower count spiked pretty rapidly, and people started noticing when I posted something. My tweets were being liked and retweeted by Laravel superstars like Freek van der Herten, and even Taylor Otwell himself. I'm not here for a big following, I don't really "do" social media outside of work, but this recognition makes things a lot easier.

One thing I noticed from talking with Nuno and comments from the community was that a lot of developers don't write tests. Understandable; I didn't write tests until relatively recently in my career as a developer. However, writing tests had improved my ability to code so much that I wanted to share that knowledge with as many people as possible. I wanted people to enjoy testing as much as I do. So how better to teach than to stream videos of me writing tests. New territory, for sure, but exciting territory.

So, I came up with the concept of "Pest in Practice". You can find that series on my YouTube channel. It was a shaky start. I had issues with my microphone for a number of episodes, and was only streaming in 720p, so it was hard to see the screen, but people liked it! I was receiving positive comments and devs I respected and looked up to were telling me they were learning new things about writing tests! Over time, my skills as a streamer improved. I got tips from some more experienced streamers in the community. It's still very much a work in progress, but I think we've come a long way.

I also had opportunity because of this to be guest on other streams. I joined the amazing Steve McDougall, Christoph Rumpel, Nuno Maduro and Freek van der Herten on their streams. It's a wonderful feeling to know that what you're sharing is helping people learn and progress as a developer.

So, to summarise this section, don't be afraid to step out of your comfort zone, especially if what you want to do benefits others. You may make a few mistakes, but people dont remember those; they remember the positive impact you made.

Worksome

As previously mentioned, upon joining the Pest PHP team, I was in contact with a whole host of amazing developers. One of those developers was Oliver Nybroe. I'd seen his work on Twitter: he was responsible for the outstanding Pest plug-in for PHPStorm. He's a truly talented programmer with a great mind for clean code. He's undoubtedly a better developer than me, he's just not as loud mouthed.

He worked for a Danish company called Worksome. I'd never heard of them before, but they sounded cool. Just out of startup stage and moving into expansion. A really cool product lead by people who genuinely understood the problem they'd set out to solve.

One day, seemingly out of the blue, Oliver asked if I'd be interested in joining the team. I'd just been headhunted. Now, as a freelance developer who's never been to university and dropped out of college a year early, that's a strange feeling. I agreed to set up an interview to discuss options and see what was possible.

The interview wasn't so much an interview as a chat and a "when can you start." I didn't do any technical challenges or answer any scary questions. My open source work, my tutorials and being vouched for by Oliver was more insight than such questions could ever reveal.

How awesome is that? Long story short, we agreed on terms and I started working for Worksome in October of 2021, 4 months after joining the Pest PHP team. What I really love about my relationship with Worksome is that I only work 3 days a week. This gives me time for open source and personal projects. I even still do a bit of work for my old company, which I really love.

I think from this experience, I learned that even if your open source work seems to go unnoticed, you're actually building up a portfolio that speaks for itself. It is always worth investing the time into sharing what you build with the world.

Meet-ups and More

Here we are, in December 2021. Because of all of the points I've already mentioned, I've had the opportunity to speak at Laravel Nagpur twice, the Laravel Worldwide meet-up, the Pest meet-up twice, and have just been invited to speak at Laracon Online in February 2022.

Last Laracon, I sat watching thinking "wow, wouldn't it be awesome to speak there?" And now, just a few months later, I have been given that opportunity! I can't really believe it myself, and am still in some state of shock that people care about what I have to say enough to pay to listen. I certainly have imposter syndrome.

I've started prep on my talk, and I'm really looking forward to sharing what I know with others who have a passion for great code. It's going to be an exciting 2022.

So, in summary, what would I say? I would finish by saying get out there, share any knowledge you have with those around you and help other developers be the best possible developer they can be. Don't be put off by embarassment, or fear of failure. Don't be put off by the PRs you contribute that are closed. Keep trying, and at some point you'll be in the right place at the right time. At the very least, you'll have built up a repertoire that you can share with employers; real work that speaks for itself and puts you head and shoulders above the rest.

Most importantly, code for the right reasons. I'm not coding for followers. I'm coding because I love coding. I love writing tests. I love Laravel and Pest and everything that those projects give to others. Be passionate about what you do, and enjoy the ride.

Stay safe y'all.

Kind Regards, Luke

Like what you see?

If you enjoy reading my content, please consider sponsoring me. I don't spend it on cups of coffee; it all goes towards freeing up more of my time to work on open source, tutorials and more posts like this one.