You may be surprised that we are not able to give an estimation as well as we think, and you may be more surprised that not all of the software engineers are able to estimate (properly), most just guesstimate with rough intuition. Though it’s not completely wrong, we can actually learn how to estimate properly. If you are graduated from Computer Science major like me, you will remember that software estimation technique is one of the courses by itself.
Continue readingOn Growing in Software Industry: Domain Knowledge
Shipping a working product is one thing, but do things really stop at production? Absolutely not, and I’m not talking about maintenance, but when we talk about “working,” it’s stretched beyond the definition of meeting acceptance criteria. It’s about whether the product has an impact on the customer and achieves the business outcome. Hence, think beyond the code, extend the knowledge of the domain, and understand the business.
Continue readingOn Growing in Software Industry: System Design
We agree that the tech industry is getting more and more competitive (especially with layoffs everywhere; the tech bubble is bursting already), and software development has always been evolving at a rapid pace.
However, I believe the key to staying relevant and competitive in this market always goes back to problem-solving. How exactly do you solve problems in tech? IMO, it is by providing the appropriate system design for the given problem.
Continue readingOn Knowledge Management Method: BASB a.k.a. Building a Second Brain
I shared briefly about BASB in the last post. I started my note-taking with the straightforward method, Zettelkasten, and used a simple note-taking, Obsidian. As my life went on, my job role expanded, various sources of information were unlocked, the long-term effect was real, I got information-overloaded, and I had difficulties managing my notes with a bunch of links and tags. I stumbled upon this book on Amazon and tried the PARA method, and it has been life-changing.
Continue readingOn Capturing Notes
Unlike the other typical managers who are very tidy and organized on their stuff, I tend to be chaotic. However, COVID has changed me quite a lot, especially after one month in an isolated room with dyspnea + silent hypoxia. I read a bunch of books and newsletters and went through many YouTube & Facebook videos (yes, the Indian street food videos. 🇮🇳) and I found a perfect formula for me to capture knowledge .. in notes. I stumbled upon this article https://fortelabs.com/blog/basboverview/ and decided to put my nuance into the takeaway.
First Principle on Capturing Notes: Make it easy with less to no friction *inspired by the atomic habit
Continue readingRedis use-cases aside from Cache
Redis can be more impactful aside from caching. Here are a few other use cases :
1️⃣ As a persistent storage for use cases like shopping carts, user profiles, and social-media-related posts/newsfeeds. Easily sorted set simply by ZRANGE
2️⃣ Tracking state with Bitmaps, easily track and get states with boolean logic with SETBIT and GETBIT
3️⃣ Location Based with Redis geospatial, easily search and add geospatial data with GEOADD & GEOSEARCH. AFAIK it’s quite tricky to do this with Postgre
4️⃣ Distributed Lock, i.e., updating inventory stock to handle flash sale traffic
5️⃣ Analytics Funnel with Probabilistic easily store event and or merge with the HyperLogLog
6️⃣ Simple event-driven architecture with Redis Stream or as a Pub/Sub with SUBSCRIBE/PUBLISH commands, which can be seen as a message queue even with LIST
reference: https://blog.bytebytego.com/p/redis-can-do-more-than-caching
On Evolutionary Architecture Book
Evolutionary Pokemon Architecture is good architecture that adheres to the fitness functions of the company; fitness function terms emphasized by the authors help to define what characteristics define good architecture.
The author’s discussion revolves around evolvable change, a change that has little to no breaking changes to the existing feature or integration, and implementation coupling leaks.
Continue readingThoughts on Developer Productivity
I used to have a dream to work at a consulting giant until a few years ago. I worked with a bunch of them, as my parent company decided to hire one of the consulting companies, and they gave me nothing but a mess (Duh! 🙄). A while back, I stumbled upon this “Yes, you can measure software developer productivity” article from the consulting giant, and it sparked debate in a lot of tech blogs/newsletters.
Continue readingConvergence as Tech Debt Safeguard
Managing technical debt is never an easy game. Even if we have ideas, we need to compare the impact with the product initiatives/feature that we need to build to ensure we stay strong on the product side and boost the business. So what to do? lo and behold : Diverge-Convergence, comes as one of the strategies.
Continue readingOn maintaining a reading pace
never tried a proper test but I believe I’m able to read around 200 WPM for 70-80% comprehension, not a great number, and it slowly decreases over time. I believe it does have something to do with a combination of WFH, poor diet, lack of exercise, and MULTITASKING which leads to a short attention span.
Continue reading