entangling exuberance
talks   experiments   about  
Thoughts on technology, product and design.

Humble self-appraisal or being a braggart?

Source : Dall-E by OpenAI Time for self appraisal, the time I dread, because I need to write self appraisal, and I really find myself in a fix, my self-critical attitude tells me that you did what you were supposed to do, and you did not do anything extra ordinary, so why? And what do you write in self appraisal? Embracing Self-Appraisal with a balanced approach might be daunting task for many of us. It...

What's "hopeless" in product engineering?

Source : Dall-E by OpenAI THIS POST has ongoing contribution Almost in every discussion around product engineering culture following two or three things come up constantly Code without tests or writing test cases is not developer’s responsibility. People keep wasting time on PRs (I will write another blog post about “Unbranching software, unleashing productivity”) Many people keep asking me how to measure developer productivity. I said “all this is hopeless”, unless people change fundamental behaviors,...

Upfront architecture isn't for building software

Source : Dall-E by OpenAI THIS IS A DRAFT Reflecting on the significance of software architecture is paramount in today’s dynamic landscape. We have transitioned from adhering strictly to substantial upfront design to recognizing that software architecture cannot be entirely predefined; rather, it necessitates an evolutionary approach, adapting and maturing in tandem with time and circumstances. While we have borrowed the concept of architecture from the realm of civil engineering, there exists a fundamental distinction...

What are we building?

THIS IS A DRAFT Engineers over-engineer, not because they want to but because they want to have a perfect, future proof, scalable and modular system. It should be able to scale up and down in future, and also it should have feature friendly modular design. Many times this over-engineering is the result of intent to achieve technical excellence, while they are looking to build a tech-enabled business, it’s not something that should be the primary...

What Leaders do?

Few days ago, Jacky asked me two questions, one of them was What leaders do? What does it mean to be a leader What roles do leaders play? In any org, in my view leaders are tasked with helping with following one of four themes Create Collaborate Communicate Connect At the core Product engineering is a team sport. You are a sports team manager and your job is make them shine. Well, We look at...

Earning reputation?

Few days ago, Jacky asked me two questions, one of them was how to earn reputation? How do you earn reputation? and that can be a fundamental question, whether it’s an org or team or company? What someone needs to do to earn reputation? Read on… Reputation is about what you do - do it well, or do it badly, you earn reputation around that. In my view, there are few obvious things you can...

Using UI kits?

Why use UI kits instead of creating custom CSS? I have been big fan of UI kits. I also prefer user experience people actively user UI kits to design their interfaces. There are several benefits, especially in early days, where you want to not only focus on decent looking interfaces but also keep in mind about user experience. This duality, certainly helps us deliver software in rapid iterations. It also helps developers to quickly follow...

Perspective on Software Engineering

I have been writing software for more than two decades. And always have been curious about software engineering. Now, I mostly view writing software as a craft. The eternal question is how to write “good” software. Because thinking “software engineering” as a craft, then we must improve it. I feel the quest just got started; and, it has grown into more curiosity, resulting in reading, studying, and learning about writing better software, creating better products....

Running TensorFlow 2 on Apple M1/M2 Macs

I ran into issues when getting started with Tensorflow 2.0 on macOS M1, this post may help others who are trying to get started with TensorFlow 2.0 on Apple M1 Macs. This post is a work in progress and will be updated as I learn more. macOS M1 machine come with GPU framework, Metal supports new M1 CPUs with Graphics capabilities as well. Over the last 2 years, Apple has been working towards making M1...

Scale your org, tech will scale.

Scaling org, scales the tech naturally, here are few tips to scale the org. Scaling a startup after finding “product-market-fit” (PMF) is a sudden task; you don’t prepare yourself for it, but instead, it just happens out of the blue, one day, you wake up, and there are tons of users. No one knows how to serve them. NO ONE! Experienced founders understand that what it takes to scale the product, it takes an excellent...

On being a good team member.

Being a good team member and creating a shining team. Note: I earlier published this post as part of Gojek Blog, This is updated more generic write up. What it takes to be a good engineer, product manager, designer, data scientist or astonishing quality automation engineer. Well your skill can get you a job, but without a great attitude and looking with a lens of empathy, curiosity and hustle will not take you places… Apart...

A new home. A year at Sequoia.

Change is inevitable, It's about when it happens. A new home It’s almost a year since I joined Sequoia and stopped working with gojek. People always have reasons to quit, quitting is good, a change is always a better way to re-adjust yourself, or sometimes it’s just good to figure out your Ikigai. I was at the junction, where I had become a wreck and exhausted yet living for another day. The word oxymoron had...

Source : Creative Commons Flicker Few cult food outlets start their humble beginnings as hawker. A hawker stall is typically a one person shop. The person knows one thing and one thing better, cooks a truly tasty dish and that brings people to his stall all the time. Over the period of time, their popularity grows and they scale their operations for better customer service, profit and growth. This is the story of Opexill, a...

Ajey’s farewell note to all gojek staff, July 2020 First, a big thank you! A big thank you for making me who I am today! This is something I will never forget. Many times people forget it’s always “we” — we as a team, we as a family, and we as a force. “Me” has no place. One of the core values of Gojek is “It’s Not About You”, and somehow I have always related...

A pit stop

Source : Creative Commons Flicker A pit stop is very important, skipping that, will cost you later, by not taking a pit-stop you can gain a tactical advantage for a very short time, but in the longer run, you will pay for it in the manners you won’t be able to imagine. Usually, a pit-stop is celebrated in the software lead product engineering world by doing a retrospective, but many time, people forget to follow...

Stop proving, start moving

Sometimes, you need to sell yourself. What I mean is that you need to sell your services and make sure that people know what they want. If they do, then its great, but even after meeting you, they keep questioning the stuff, you will feel crap about it. I usually prepare for meetings, I usually seek out infromation about person I am meeting, to make sure that I understand them and set some context around...

Fight like dogs, hunt like a pack

That’s the first rule for your startup if you are starting up with few friends. And there are few simple reasons for this, I learned it hardway, I think I should spell out. We started CodeIgnition with friends, few of them stayed, few of them disagreed, but the way we reached some decisions, it was not a nice journey, all of us could have dealt with it in a better fashion. Well, we are learning…...

Inception, to speed up, to shape up.

While in Inception, 2010, Sci-Fi Movie things slow down when you incept. But on the contrary, agile inceptions are more like creating the seed of a project. And they will in turn, turn into a systematic project development and production evolution plan, especially if you are not clear on what do you want, it makes sense to invest this time. So why are we here? Many tried to paint a picture of inception like a...

RubyConf India 14 - Hospitality was anything but pleasant at The Lalit resort and spa, Goa, we had pretty bitter experience and would like to capture it here. And please suggest me where else can we do this, send us email at team at the rubyconfindia.org About RubyConf India We are a not-for-profit conference run by community support, only thing special about us is that we run a pretty high quality conference run in a...

Change for eventual failure

I have always believed in software functionality being ZERO or ONE. It means that either it will work or it will not, very well..! people argue that software should be like phone - should be able to make calls ‘always’, it should be like your alarm clock - should go off at certain pre-defined time occurence or like car remote, will lock on unlock the car given it has batteries with enough power - it...

Tuning performance with Java - on Linux systems

I love java, rather jvm - well, as technology and have been making use of it. Java world is full of rock solid implementations about technologies and have a huge software library eco system to deliver things with rock solid performance. It also makes a very good candidate for dependable technology. Recently, we choose java at backend for everything we do in ruby :-) So everything ruby becomes everything java at the backend. There are...

Engineering at hoppr - technologies we use...

At hoppr we get checkins over SMS and USSD, soon our apps will launch across mediums and then we will open up other access mediums. At hoppr, we particularly pay attention towards USSD checkins - because we must repond to users pretty quick - within 200ms - and since this is the time for overall checkin, other access mediums enjoy this fast processing across. To make this work, we have been doing many things to...

Perceptions - what makes you stand out?

Source : Stable Diffusion (Revised on 13/02/2023) Thought Experiment on Perceived Image vs Projected Image Every time I look at people judging others and creating perceptions about them. They “judge” people on their behavior, actions, and speech. What appears to them differs from what others intend to do, act, or talk about. This difference between perception and intention causes confusion. But one’s act rarely gets closure, the person who is committing an act or the...

3 Rules for passionate people

In the past, I have been in discussion with people - where we tried to answer following questions How do you get passionate colleagues? How do we create passionate work culture? How do create a place where not problems, but their possible solutions keeps you excited to come work everyday collaboratively? These questions are good to ponder. I asked myself as to what keeps me going? One answer came through, solving complex problems keeps me...

mongo or not to mongo

Literally means - to ask or not :-) But over here my context is bit different. After taking a brief break from ThoughtWorks, I joined hoppr, a different kind of mobile startup with focus on location based services.  Hoppr is checkin based service but on SMS and USSD - we display interactive ivr like menu for USSD and provide with options on SMS based on user’s location - and users can checkin. I joined hoppr...

Unfortunately, I gone silent after 3 exciting posts on Enterprise Infrastructure Series, there were many events which caused this silence..  This post will cover most parts in theory because I could not get time to prepare sample examples, but most probably thought process should help you understand what it takes to monitor existing infrastructure and automate provisioning for the same... Equipped with Chef's cook books and nagios's simple configuration templates, you can almost have automated...

In the last two posts I went about how to get basic virutalization and why configuration management is necessary. In this part I will explain about setting up a Chef server and how to setup basic provisioning, In part 4 I will explain on how can we go about automated provisioning using OpenVZ and monitoring those instances. Let's put the requirements upfront -- We should be able to create containers using any virtualization provider, in...

I lead "Continuous Delivery" group aka DevOps group within ThoughtWorks. One of main principles we follow within our group is that we should automate almost everything possible. In last post we setup OpenVZ container virtualization - but system administrators should worry more about on how can they make sure that their environment configurations and machine setup is repeatable, easily backed up and restored, also provisioned on demand. Usually this is accomplished using scripts or also...

We have been working with OpenVZ for almost 4 years now, and its just amazing that how this nice piece of technology not only provides 99% native virtualization but also wins on Disk IO. OpenVZ provides way more containers or OS Instances compared to any hypervisor. Here is sample comparision 96 GB RAM,  24 Cores X5650  @ 2.67GHz For KVM it can host around ~40 2 GB Hypervisor based virtual machines, After around ~30 machines you...

Enterprise Infrastructure Series

I have been working on setting up internal cloud with my team, we have been using many technologies to build all these things together. I will be publishing 4 part series on how did we put it all together, We will showcase that how easy few things are and how new age enterrprises can take advantage of new age tools like OpenVZ, LXC, Chef and other related tools. We started our journey will hypervisors such...