Challenges of 2024
đź’ˇ
This is a brief reflection centered around the theme of "challenges," serving as both a report on my growth at Nonce and a prelude to my Q2 2024 review.
As noted in my retrospect at 2024 H1, 2024 has been a year of personal challenges. Transitioning my career, I embarked on a new journey in development, contributing numerous commits across various projects to prepare for a mainnet launch. Beyond my career, I launched this personal blog to host my thoughts and found joy in contributing to open source.
Before diving into a full retrospective in late December, I’m organizing my thoughts with a simple bullet-point reflection.
Challenge 1: Diving into Core Development
- It’s been about nine months since I began working as a Protocol Engineer at Superblock, contributing to the development of Over Protocol’s blockchain mainnet. My role, commonly referred to as core development, involves building blockchain node clients and managing all projects essential for the stable and successful operation of the mainnet.
- Since I became passionate about blockchain, I’ve always been curious about how these systems are structured and function. This year, I had the opportunity to explore those questions hands-on.
- My work primarily revolves around Over Protocol’s consensus client, Chronos, which allowed me to gain the following experiences:
- Working on a Bazel-based Go project.
- Tackling issues in the Gasper (Proof of Stake) consensus mechanism.
- Open-Sourcing and CI/CD Pipeline: Establishing pipelines using GitHub Actions for PR workflows. (GitHub PRs)
- Introducing a remote cache server for Bazel builds
- Building a simple code-signing web server integrated with GitHub Webhooks with Rust 🦀
- In 2023, as a frontend developer, I participated 2–3 main projects. Now, as a Protocol Engineer, I manage one main project alongside several others. These include:
- Explorer for EL(Execution Layer) & CL(Consensus Layer), staking-deposit-cli, GCP Cloud Run for checkpoint sync...
Challenge 2: Exploring Open Source
- In August, I made a simple commit to Prysm, which was merged, marking the start of my open-source journey. That small step ignited my enthusiasm for contributing to open-source projects. Most projects in the Ethereum ecosystem operate as open source, and having the opportunity to contribute—even in small ways—as a developer is incredibly exciting.
- One of the most enjoyable aspects of this experience has been communicating with project maintainers. It was surreal to meet some of the people I had interacted with on GitHub in person at Devcon (read my Devcon recap here).
- Driven by my passion for blockchain core development, I’ve primarily focused on contributing to Ethereum clients like Prysm, Reth, and Lighthouse. (You can find a list of my contributions on the About page of my blog.) Over the past four months(from August), I’ve submitted 15+ PRs to Ethereum-related projects.
- Among these, contributing to Reth has been particularly unique. The project strongly embodies the open-source spirit, with well-organized issue management and rapid assignment of tasks to contributors—testament to the maintainers’ significant investment of time.
- As I’m also learning Rust 🦀 on the side, working with Reth has been invaluable in teaching me practical Rust applications in a real-world setting. Through these contributions, I’m not only improving my technical skills but also deepening my understanding of Ethereum’s core ecosystem and the collaborative nature of open-source development.
- After making a contribution, I often find myself wanting to share the excitement. That’s where the Orakle open-source team’s Telegram comes in handy—I’ll occasionally pop in, drop a link to my latest pull request or commit, and then quietly disappear.
Challenge 3: Starting a Blog
- This post is published via the Ghost platform—a small but significant step toward fulfilling my long-standing desire to have a personal blog. I finally took the leap, driven by a sense of urgency to start before it was “too late.”
- Ghost offers two main options for hosting: a convenient SaaS version or self-hosting using its released versions. As a developer, I saw this as a great opportunity to gain hands-on experience. I opted for the latter and am currently hosting my blog on a small instance rented from DigitalOcean.
- SEO and other technical aspects seem to be taken care of by Ghost, but tracking blog traffic was a challenge. To address this, I integrated Google Analytics to better understand and manage my blog’s performance.
- As for the blog’s concept, it’s still a work in progress. I plan to expand beyond retrospectives to include insights and experiences related to Ethereum core development. Additionally, I’ve decided to post most of my content in English, as I believe one of Web3’s greatest strengths is its ability to transcend physical boundaries.
- One feature of Ghost that I really appreciate is the subscription option. Readers can easily subscribe by entering their email below—simple and effective! 🤩