2022 recap, 2023 goals

Another year has gone by, and December is the perfect time to reflect on what we’ve done in the past 12 months.

Wait, but why? 🤔

Like everyone else, I don’t have enough time to do everything I want. I need to make choices and prioritize. Reviewing my past year’s accomplishments helps me decide what to focus on in 2023.

Open Source contributions

My GitHub profile counts 1044 contributions to public open-source projects in 2022.

contributions

That’s almost double of 2021 (526 contributions) and nearly the same as 2020 (1141 contributions). These numbers don’t mean much, because they don’t consider the quality of each contribution, but they give me an idea of how much I worked on open-source.

Contributing to open-source has various benefits, such as:

  • making you a better programmer;
  • boosting your career;
  • connecting you with great people.

However, only some contributions I make improve my skills or connect me with interesting people. For example, sometimes, I need to update a dependency with breaking changes or fix a broken CI script.

The main reason why I contribute is to give back to the world and the community a tiny bit of everything I received in my life. Knowing I’m improving someone’s life by fixing a bug or adding a feature they desire is great.

📝 In 2023, I want to make 1000+ contributions as well.

Let’s see the open-source projects I contributed the most.

Release-plz

Release-plz is the tool I wanted to have in the Rust ecosystem — so I wrote it. It automates the release process of Rust packages, making releasing a new version as easy as pressing the “merge” PR button.

pr

I started working on it exactly one year ago, and it’s now ready to be used in the wild. If you want to use release-plz to release Rust crates from CI, check out this blog post!

📝 I genuinely believe release-plz makes maintaining Rust crates easier, so in 2023 I want to implement new features and add more integration tests.

Rust Design Patterns book

The Rust Design Patterns book is a great learning resource, and the number of content grows every year. In 2022, I helped maintain this book by reviewing PRs and making some chapters more fluent.

I would love to polish and simplify more chapters of the book because I want to make learning Rust easier. Unfortunately, it takes too much time to review all of them. 😢

📝 For this project, in 2023, I plan to continue staying mainly in “maintenance mode”, reviewing other developers’ PRs. As a stretch goal, I want to improve two existing chapters.

Cargo clone

Cargo-clone is a CLI tool that clones the source code of Rust crates. It’s a great tool to have in your Rust developer toolbox, and it’s also a dependency of release-plz. I did 11 PRs where I updated its dependencies and extracted the cargo-clone-core crate. You can now use cargo-clone-core as a library in your Rust projects when you need to download the source code of a crate!

VSpaceCode

VSpaceCode is a VSCode extension that emulates spacemacs key bindings. This extension improves my experience of using VSCode by 10x, and people like it too. Here are the reviews we received in 2022:

reviews

In 2022, I reviewed all the PRs opened on the repository, ensuring people could add new features. There are many improvements I would like to implement, but unfortunately I don’t have enough time.

📝 For this project, in 2023, I plan to continue staying mainly in “maintenance mode”, reviewing other developers’ PRs.

Talks

In 2022, I presented four talks:

In 2021, I only presented one talk, so I shared my knowledge more this year.

📝 For 2023, I already have some talk ideas around Kubernetes and Rust. I want to send at least five talk proposals.

talk

RustLab workshop

On 2 October 2022, I conducted a workshop at RustLab: “Write a production-ready Rust HTTP API”.

The topic is something I care about. Too many people think that you should use Rust only for low-level systems programming, and when you tell them you write backend code in Rust at your daily job, they roll their eyes. With this workshop, my goal was to show that writing an HTTP server in Rust is fine.

I’m satisfied with the results. Most of the attendees were able to follow the workshop and left positive feedback.

📝 I spent a lot of time creating this workshop, and in 2023, I want to keep working on it because I think it can help people to get started with Backend development in Rust.

workshop

Pointer Podcast interview

On 24 November 2022, the guys of Pointer Podcast interviewed me about Prisma and Rust (Italian).

I was already a listener of this Podcast, so when they contacted me to ask if I wanted to be interviewed, a giant smile appeared on my face.

After listening to the interview, I realized that from the tone of my voice, you could tell I was a bit nervous. I will try to be more relaxed and talk slower for my next interviews.

Listening critically to yourself is the best way to improve your speaking skills!

pointer

Daily job

TrueLayer

8 August 2022 was my last day at TrueLayer. I have worked at TrueLayer for almost two years, and it has been a fantastic journey.

In 2022 I worked at the Engineering Ops team with the mission of increasing the productivity of TrueLayer’s engineers.

I learned a lot and had the privilege of working with many passionate and friendly people. I’m happy about my time at TrueLayer and will never stop recommending this company. 🙌

Prisma

On 5 September 2022, I joined Prisma to work on the Prisma Data Platform.

While the Prisma ORM simplifies working with databases, the Data platform helps you deploy your app to prod. I care a lot about developers’ productivity, and I think this project can greatly impact it. 🚀

I’m happy to be part of the Prisma team, and it feels great to work for a company that contributes so much to open-source.

prisma

Mentoring

Since September 2020, I joined the awesome rust mentors army. 🤠

Around five people contacted me this year, asking for advice regarding their careers or how to improve with Rust. I helped two of them to make their first open-source contribution, and they chose release-plz as the first project to contribute!

📝 Helping other people gives me joy, and in 2023 I want to continue being available for mentoring.

message

Setting goals

From my 2020 recap:

I have long-term goals, […] but I feel like seriously writing them down and assigning a deadline will prevent me from doing random stuff that just came to my mind the day before while I was going to bed. 😅

So actually not having proper new year’s resolutions is the way to go for me in 2021. Let’s see if I will change my mind in 2022. 😁

Yes. I spent 28 years of my life without writing down any explicit goal. I probably didn’t like the feeling of being “trapped” by my plans and wanted to leave more space for curiosity and exploration.

Wow, this new programming language seems cool, I want to play with it this weekend. 😱

Honestly, it was great, this attitude allowed me to discover and learn tons of stuff, and I don’t regret it. This year, I also read “It doesn’t have to be crazy at work” by Jason Fried and David Heinemeier Hansson, which also confirms that setting goals might not be a great idea.

So why setting goals for 2023? 🤔

I have too many things on my plate right now. So, instead of adding more stuff, I want to be more intentional and focus on the things I’m already working on:

  • I don’t want to learn a new programming language – I want to get better at Rust.
  • I don’t want to start a new open-source project – I want to make release-plz great.

Let’s see how it goes. 🤞

2023 goals

Here are my 2023 goals based on my 2022 recap:

  • ⭐ Contributing to open-source software:

    • Make 1000+ contributions in public repositories.
    • Add five new features to release-plz. (Help wanted!)
    • Record a YouTube video with a release-plz demo.
    • No unreviewed PRs in the Rust Design Patterns book. Stretch: improve two chapters.
    • No unreviewed PRs in VSpaceCode.
  • ⭐️ Helping getting started with Backend development in Rust with the HTTP API workshop:

    • The workshop contains detailed instructions on how to run it autonomously and asynchronously (i.e., without me).
    • Record a YouTube video of me going through the workshop.
    • A tech content creator streamed themselves going through the workshop.
    • Conduct the workshop at one conference.
  • ⭐ Sharing knowledge:

    • Send five talk proposals.
    • Answer all mentoring-related messages.

Reminder: don’t burn-out

As a reminder for myself when I’m going to read this post in 2024: it’s okay to miss most of these goals. I’m setting these goals to set a direction and be more intentional. Achieving them would be nice, but that’s not the point. Remember that you should use most of your free time to relax and have fun.

If you have made it this far, thank you for reading, and happy 2023! 🙏