Tuesday, December 21, 2021

Surviving 2021: A year of transformation

Following the hardship of 2020, is another hardship..

The year is about to end and the lessons it brought me are very valuable that I thought of sharing my personal experiences in the hope that it'll empower those who are fighting their hardest battles in life. I'm doing this to inspire people to talk about what they've been through and never be afraid to be seen as someone who is struggling — more so failing. Be the last beacon of hope to your peers, no matter how hard life gets. Happy holidays. Cheers to 2021!




THE WIN

The year 2021 started slow. After my exit in Onerent, I was unemployed for about three months. During that time, I had to sharpen my blade for the craft that I am known for; an engineer. I had to revisit my arsenal to see which aspect of engineering I should polish, rework, and relearn. I remember talking to myself about me being an engineer again and what could I improve; questions like should I stick to being a devops engineer, and work on the tools I already know, and work on systems I already have dealt with? Or should I try something  else, which could or might be useful as the technological landscape evolves? And for you who knew me, I took the path of least resistance (sarcasm). Of course, I studied backend engineering; working on Nodejs and Python framework.

Fast forward. I applied for a job as a backend engineer in a startup company. During this time, I have to accept a pay-cut. But it was a win-situation for me as the position is serving its purpose. It gives me the environment to apply what I have been studying and at the same time, it gives me the room to build that character of "hunger-in-learning" which has been always one of my mantra — testing myself if I can be motivated with the work alone without the cash and most especially that for a while, I was well decorated in my previous job. Within my six months stay with Edamama, I was able to work on the critical infrastructure; like re-working the database to address scalability, Algolia integration via Graphql, and the Product-Discount pricing engine. Add some miscellaneous tasks; like providing mentorship to co-engineers, providing insights to the architectural design, and interviewing talents. Within this short period, I was able to do a lot, being able to impart work as a backend and devops engineer. A self-fulfilling experience.

Last quarters. I applied for a job as a devops engineer in a blockchain company. This realm is totally new to me, but I was eager to learn more about managing and setting up distributed systems. And so with luck, I was accepted and offered a contract. The work I'm doing here is totally new for me — which makes it really exciting. The moral-courage of wanting to learn new things has led me to the uncharted water of blockchain(s) and I couldn't be more grateful!


THE LOST

While I was unemployed for three months, I used up my savings to survive the day-to-day. The hard earned money I put into the stock-market has been affected by the market crash. I've maxed out my credit limit to sustain other necessities. Out of desperation, thinking to be at least be cashflow positive for the end of the year (and with the interest of becoming a poker player), I joined and lost in online betting.

Overall, I am at break-even for this year. And most lost, lean towards the monetary aspect. With some factors of bad-decision making.


THE LESSON

Discipline and patience is essential in dealing with hardships. Be disciplined enough to not add more to what is lost, and be patient enough to re-accumulate. Don't be so hasten for things to materialize, wait until you see yourself deserving of what is to be gained. 

What's lost is lost. One has to make better decisions next time. 

Sacrifice something of value, to gain value. I may have lost a good portion of what I've acquired during the past years, but in return, I have the knowledge that I need to prosper in the years ahead. The transformation out from these short-comings is more valuable than what I've lost. 

Always have vigor to push through the day. There's always tomorrow, you'll see.

Monday, May 17, 2021

Resolving Nodejq Enoent


Recently, I was working on a NodeJs project in which I opt to use node-jq. While everything works locally, when I deployed the application on an AWS Linux 2 instance, I couldn't get it working by just running npm install.

At first, when you run the npm install command, you won't get any error and if you're installing the latest release, it will show that it exists in the node_modules. However, as you run your application, you'll bump into an error like this:

Error: spawn /home/ec2-user/app/node_modules/node-jq/bin/jq ENOENT
   at Process.ChildProcess._handle.onexit    (node:internal/child_process:282:19)
   at onErrorNT (node:internal/child_process:480:16)


Initially, I thought, I had installed it in my local using the -g (global) param. So I tried to install it in the instance globally — and no luck. Clearing the npm cache didn't help as well.

Going back into the node-jq documentation, it says "By default, node-jq downloads jq on the installation process (when you run npm install node-jq). Downloads the binaries according to your OS."

And that was the clue! Manually checking if jq is installed tells me that running npm install node-jq didn't download the jq package.

As a solution, I opt to manually install the package by running yum install jq and creating a symlink to the path where it's reading the node-jq module.


$ which jq
$ mkdir node_modules/node-jq/bin
$ ln -s /usr/bin/jq /home/ec2-user/app/node_modules/node-jq/bin/jq


Friday, February 12, 2021

Leading, not as a captain but as a shipwright

It's always been the case that people always wanted to become the best, but sometimes, they look-up to the wrong persona, wanting to be the best. Before having a desire of becoming the best, ask yourself "the best of what?". That way, you're certain who you wanna become and your whys will align with what you're doing.

I see myself as a builder, someone who loves crafting, engineering, tinkering of anything that interest me. I didn't have a formal education, so it's important for me to have in-depth hands-on experience so I can learn a thing — and sometimes, it becomes so expensive because it's an investment you put into yourself over time — and as they say, time is the most precious resource you have in the world. However, in return, you'll know things pretty well, more than what's common to most. And this is where specialization is honed and mastery is solidified!

If you're following One Piece, you've probably heard about the King of Pirates, Gol D. Roger. Behind his success is Tom, a shipwright known for his craft. If it wasn't for the masterpiece he built for Roger, the now known pirate king wouldn't be able to conquer the vast seas of the Grand Line.


Tom built some of the best sea transportation vessels, one is Oro Jackson, the ship of the Roger Pirates. Tom's work on Oro Jackson, The Sea Train, and the blueprint of Pluton is a testament to his craftsmanship, and his persona is definitely one I admire the most.

Why Tom?
  • because he doesn't want anything aside from being able to build something that he can call his. He sticks to what he is passionate about.
  • because he maintains a low profile, even though he knows that his mastery could give him a fortune.
  • because he doesn't brag about what he has done, but the people who knew his accomplishments knows that he's one-of-a-kind, and this is how he gained those people's respect.
  • because he doesn't keep his knowledge to himself and taught everything he knows to his apprentice. Who now became great shipwright themselves (Franky and Iceburg).
  • because he didn't want any of the fame, and rather pursue self-fulfillment from his work.
  • because he is committed to quality and excellence — and challenges his abilities to the extreme, aka leading himself.

If there is one person responsible for Roger's success, it would be Tom. He's the one who put Roger onto the map! And surely, his work is worth more than the Pirate King's bounty.

Success is what we define it. Some find it by attaining money, fortune, and fame. Some find it by acquiring skills, mastery, and specialization. Whatever you're up to, be successful in what you're doing!