Just finished my working day and wow today was just filled up that it made me wonder, how long I’m gonna last working like this, and most importantly, do I even want this to end? Or do I like it? I don’t know.
Meetings are indeed time-consuming but only if they were with the wrong people, or if they were just useless, thank god that is not my case.
The day started with an ~1hr long meeting, discussing some challenges that are facing us related to our upcoming features, and oh these challenges are indeed complex and a brand new type for me probably I can write about them whenever I get the chance.
Having challenges are quite good training and experience booster, but do you like having constant challenges? Do I like that?
Then my day went on to exploring some emails, checking snd reviewing some PRs, till I was interrupted with some issue, that I kinda didn’t have the time to check it and it was quite important. I checked the card, did some quick investigation (~1hr) and hey, it was not replicating! Smooth eh? Typical bug, the support team will say it exists but you can’t replicate it, no surprise there.
I checked again, went deep this time by checking some corner cases, read the code again tried to be at least sure before pulling out my big gun, but it was in vain. So I had to do it... I called one of our support guys, the one reported it, we hoped in a meeting, that lasted for ~1hr and we come up with this besides exchanging some laughs
- Issue is not an issue, and it was something wrong with the client configuration.
- There is another different type of issue happening (nice trade eh?)
so that was it, now I had to eat something and get some fresh air, but oh wait... it’s hot outside, so just eat something while watching some YouTube videos.
I finished and went back to a task that I planned on doing, we have an issue and we need to check for a memory leak. So ideas were thrown at my first meeting to try flame graphs, and heap dumps, so here I go trying.
I tried to use
perf command to monitor a Nodejs running server, got nothing, just weird ASCII characters on the output, tried parsing them, but it just didn’t look right, so now I just have to try heap… oh message from DevOps what they want? They’re asking about something related to the database, I have to give them a query now, and it’s a kinda complex one. Okay, let’s first start the Vagrant machine, hop into Robo3t to access my local database, and start building a 5 stages aggregation pipeline to return a field value from a nested array of objects.
Now where we’re we? Oh, heap dump, yeah let’s try to use
heapdump package to generate a heap dump for my running Nodejs server, as usual pasting some code from the documentation, tweaking it a bit, and now .. a message from scrum master? I need to review these 2 PRs ASAP that belong to another team but they’re touching our team functionality so we can do the release. Ding it, I didn’t notice these PRs so I gotta check them.
Now, what is this variable for? Let me open the repository, look for it, I get it now.. wait.. no I let’s understand the code, oh what’s that? Let me call the developer he knows better, I message him we hop into a meeting and he explains the issue perfectly and we find that this code has a problem and it wouldn’t properly work with a specific corner case. Okay great now I just jest changes on the PR, type a comment summarizing our meeting discussion, and back to where I was.
Now what? Where? Oh, heap dump I left the server running, so I just have to hit a specific endpoint and the heap snapshot will be written to the disk for me to analyze it, let’s do that. Endpoint called, no errors, but the server is restarting … hmmm is this expected? Does this package somehow affect the runtime? IDK but hey doesn’t matter now, let me just see the heap dump.
It’s empty! Hmm weird, let me do it again. After 4 times repeating the file is still empty now I’m pissed off it should work, right? Okay, let just google that, I found tutorials, articles, and StackOverflow questions but they’re all the same, maybe I’m missing something.
In the meanwhile, I’m replying to messages and answering questions, but what got me mentally blocked is another PR, but this time a comment I made a while ago and the developer is asking about it. The comment was about some clean code stuff and how it’s better not to pollute a function with custom conditions and instead think of another way of doing it. We discussed and he suggested a perfect approach, so now it was time to continue.
But I lost it already, I’m not as focused as before, so I just did a couple of other tries, and called it day at 6 pm already.
This was indeed a busy day, but I’m kinda used to it by now, but Is this okay? I do let know.
This is definitely not bad to make you practice multitasking and make you available at all times, but it comes with a cost on your concentration. I’m not here to propose a solution though, I’m just here to share and for the hope that I will find the solution by just writing this kind of a daily routine.
Do I like being busy? Yeah, it makes my mind spin and thinks, and mostly shifting from thinking on a certain problem to another one, helps me find a solution for the first problem. I got a weird mind IKR?
This article was originally published to my blog blog.mrg.sh