This past June marked my second work anniversary with Montani, which came right after my tenth year as a web developer/programmer in May. These anniversaries got me thinking about all the insights I've gathered over the past decade. Of the many lessons learned, five have profoundly shaped my journey as a developer. These are the principles I often revisit, serving as a reminder of the challenges and growth experienced over the years.
First Dev Team that I was a part of
On my very first day at my first job, my senior developer shared this crucial advice with me. I believe this would become a common phrase every time I started out in a new company or when it’s time for me to welcome a newcomer into the team. I would soon learn that in order for me to properly complete my task, I would have to collaborate with my teammates and clients by asking them a series of questions until I have enough information for me to carry on with the task that I’m assigned to.
To this day, I stick with the mentality that I need to ask someone until I’m fully satisfied with the information that I’ve gathered. And I guess that helped me develop the characteristic of being prudent (or “sigurista” in Tagalog). Oftentimes, I might feel like I'm asking for a lot, but it really highlights my strong belief in digging deep to uncover valuable insights.
During my job interview, my first boss uttered this phrase that I initially perceived as an attempt to intimidate me or make me reconsider the position. However, a few months into the job, I realized he was right all along.
In my first two years as a developer, I'll be honest, I really struggled. Even with a lot of help, I had trouble with two key parts of the job. First, I often struggled to fully grasp foundational concepts. And second, I sometimes missed the bigger picture of the "business logic" behind the projects I worked on. And to make matters worse, I would often be moved from one project to another, which probably added to more confusion on my part. When I was just starting out, I often questioned if I was cut out to be a developer. Luckily for me, I was able to weather the storm and persevere from these challenges.
But as I left my first job (which was a PHP-based role) and transitioned into a new one (which was the first Ruby-based role that I landed), I made it a mission to re-learn the basics again. And as I went out of the onboarding phase (and into the actual project), I carefully tried to familiarize myself with the business logic of the project that I’m working on. Thankfully this time, I was lucky enough to work on a single project and I didn’t have to context switch from time-to-time. This greatly contributed to my complete understanding of my work, and I gained confidence in the skills I acquired throughout my journey.
This is actually a lesson that my project management professor taught during college, which is actually based on a Steve Jobs quote:
“...People don’t know what they want until you show it to them. That’s why I never rely on market research. Our task is to read things that are not yet on the page.” - Steve Jobs
This isn't to say clients or customers lack intelligence, but rather, we must empathize with their perspective to develop solutions effectively. Going the extra mile to "make it make sense" might not be explicitly in our job description, but it's a crucial effort worth making.
To this day, I still encounter the scenario where there isn’t enough detail on what I’m about to work on. I guess this is somewhat connected to the first point that I was discussing earlier. That I usually ask a lot of questions, until I’m satisfied with the information that I have. But aside from that, I try to make proposals to the clients that I’m dealing with based on things that I’ve previously worked on, hoping that it would also work out for them.
As the years go by, I am no longer annoyed with having to deal with bothersome clients. I try to make it a challenge that I need to conquer, so that the end result will satisfy both me and the client that I’m dealing with.
Let’s change gears for a bit (as this no longer covers my developer struggles). I would say that as I went along my developer path, I realized that networking with others is an underrated aspect. I feel that sometimes you need to get out of your comfort zone, and pick the brains of people outside your usual circle. From time to time (whenever I’m free), I would try to join conferences, meetups, and online talks in order to broaden my perspective.
Though I would say this lesson came rather unexpectedly, soon enough I would learn that this event that I’m about to attend would be a “nexus event”.
“Nexus Event - It's essentially a point where something happens that isn't supposed to happen, leading to a potential new timeline. These events are considered vital to a continuity's history and can drastically alter the course of events.” - Quora.com
The CTO of my second job bought me and my fellow developers tickets to “RubyConf PH 2018”. He introduced us to some of his colleagues, and people who are associated with the Philippine Ruby Users Group (PhRUG). The event would last for two days and we would be graced by members of the core Ruby team (people who worked with the founder of Ruby, Yukihiro Matsumoto) and other well-respected developers in the Ruby community all across the world.
While I only met a handful of people during the 2-day event, little did I know that years later, I would work for (and work with) some of the people who attended said event. So much so that to this day, whenever I would meet a Ruby developer, they would say that they’ve also attended that particular event. This made me realize that it really is a small world for the Ruby community here in the Philippines.
Throughout my entire professional career, I’ve heard this saying plenty of times. When I first heard it, I thought it was just a cliche. But I realized eventually that this saying is relevant not only to me, but with the people that I work with. As I understand it, this means that you should strive to learn a tiny bit of new information everyday, which would eventually accumulate until you’ve realized you've already progressed enough. As I see it, this means you should aim to learn a small amount of new information daily. Over time, these consistent efforts will accumulate, leading to significant progress.
I believe that we all move at our own pace. Some people tend to learn quickly or absorb loads of information within a short period of time. I prefer a gradual, steady approach to acquiring new skills. And I try to put newly learned concepts into practice and experiment with them to strongly grasp them and apply them effectively in the future.
Thank you for taking the time to read my article. If you are interested in learning more about me we can connect with each other.
If you're curious to know more about Montani International Inc please feel free to explore our various online platforms and be sure to check out some of our informative articles, latest project updates, and behind-the-scenes glimpses of what it's like to work at Montani.