Journey to the First Commit

Published on Nov 12, 2024

The Early Days of Collaboration (Or Lack Thereof)

When I started my career at Tresmax.PH, my world changed. Fresh out of college, I thought I had a pretty good grasp of coding. But when it came to collaborating, I had a hilariously naive idea:

Copy-paste the codebase between computers or set up an FTP server so everyone could instantly see file updates.

In hindsight, this was like trying to build a skyscraper with LEGO bricks. The concept of Version Control was completely foreign to me. But once I understood how it worked, it blew my mind. No more messy file sharing or overwriting someone else’s work. However, we had our own set of rules to minimize conflicts:

  • "Your code should go under this comment."
  • "Let us know when you’re pushing!"

It wasn’t perfect, but it got us through the chaos.

My First Tech Stack: The Basics of Web Development

I started as a Web Developer, armed with PHP, CSS, and JavaScript. Looking back, those early days shaped how I approach projects even today. Here are the key lessons that stuck with me:

1. Planning Is Everything

I wasn’t just a code monkey; I was part of the planning phase. This was eye-opening. Building a website wasn’t just about cranking out code. It required:

  1. Understanding user needs
  2. Coordinating with designers and stakeholders
  3. Considering scalability and future updates

This experience taught me that a successful project is about more than just good code—it’s about teamwork and foresight.

2. Early Lessons in CI/CD

While we didn’t have modern Continuous Integration/Continuous Deployment pipelines, we managed hundreds of websites with a homegrown system.

  • We used an in-house framework to generate code.
  • Bash scripts handled deployments to different environments.

It wasn’t seamless or automated like today’s “push-to-main” workflows, but it gave me a taste of what automation could achieve. Deployments became less tedious, and we avoided human error (most of the time).

3. The Beauty of Backend Development

I’ve always known I wasn’t destined to be a designer. Give me a mockup, and I’ll bring it to life—but backend development? That’s where I thrive.

The backend is like a puzzle:

  • User inputs this ➡️ Return that.
  • Keep it efficient and secure.

It’s logical, straightforward, and rewarding. There’s something satisfying about crafting an API that just works.

The Magic of Version Control

Today, tools like Git are second nature. But back then, even using Mercurial felt revolutionary. Collaboration got easier, conflicts became manageable, and we could finally track changes and roll back mistakes. It was like turning on the lights in a dark room.

Would I ever start a new project with Mercurial today? Probably not—Git reigns supreme. But those early experiences taught me to appreciate how far we’ve come.

Final Thoughts

My journey from basic file-sharing hacks to mastering version control is a reminder of how quickly the tech world evolves. Every challenge, every awkward workaround, has shaped the developer I am today.