A bit of inspiration most weekdays for exploring your mindset .

Piecemeal'ing code - part 4

In last few posts this week I talked about strategies around incrementally pushing code to large repositories with many contributors. One mantra that … ...more

March 28, 2025 #meta

Piecemeal'ing code - part 3

yesterday we talked on feature flag strategy for code assimilation. One another strategy is refactoring if needed. Prepare the Codebase: If the existi… ...more

March 27, 2025 #meta

Piecemeal'ing code - continued

yesterday we talked on strategy around getting code assimilated into large fast moving codebases with a lot of contributors. Strategy under discussion… ...more

March 26, 2025 #meta

Piecemeal'ing code

Rarely do we write code from scratch these days. Systems are complex. Often we instrument a feature requiring changes in more than one place in the sy… ...more

March 25, 2025 #meta

Measure reuse

A good project design results in good parts of reuse in future projects. It is carefully designed, a lot of thought is put into defining baseline and … ...more

March 24, 2025 #meta

The 'NIH' Syndrome

Not Invented Here - NIH is commonly heard term in a lot of organizations, ever wondered why NIH happens ? NIH is a product of organization culture Com… ...more

March 21, 2025 #meta

Improving Collaboration

Here are key strategies to enhance open source collaboration: Welcoming Community: New contributors would come to a project out of interest, but they … ...more

March 13, 2025 #meta

controlling complexity

Dijkstra said "Simplicity is prerequisite for reliability." Remember good software engineering aims to control complexity. Prioritize to solve the pro… ...more

March 11, 2025 #meta

Little things matter

Recently, meta published a case study claiming to reduce CPU usage by ~20%, which is quite impressive. One thing to note is 15,000 servers’ worth of … ...more

March 10, 2025 #meta

Simplify until it can not be

Simplify until it can not be simplified any longer, at this point either you have perfected it or it has become more complex and brittle, evaluate car… ...more

March 07, 2025 #meta

Algorithmic thinking

Algorithmic thinking is type of approach to problem-solving by breaking problem down to smaller chunks that are connected logically. It tries to devel… ...more

March 04, 2025 #meta

Always refactor the code

Writing new software is always exciting, adding new features, even solving a hard bug provides immense satisfaction. However, every line of code that … ...more

March 04, 2025 #meta

Complexity Paradox

As we continue to solve hard problems using software engineering, we create complex systems in order to simplify things, (think of abstractions). In o… ...more

March 03, 2025 #meta

Code review practices

Start with small, focused reviews. Keep pull requests (PRs) ideally under 500 lines of code. Large changes are harder to review thoroughly. Review… ...more

February 20, 2025 #meta

Looking into AI future

We are over-estimating AI in our next 5-year predictions, but we are underestimating AI in our next 15-year predictions ...more

February 19, 2025 #meta

Programming Abstractions

A case for abstractions Abstractions are quite useful to manage complexity by hiding implementation details and presenting simple interfaces. If they … ...more

February 18, 2025 #meta

Secure software

Security in software systems is very important more so in this connected world. We have a lot of software that predates connected world. Naturally it … ...more

February 17, 2025 #meta

Think more code less

Writing a lot of code is commonly a measure of good software engineer, however, I think in coming times a good software engineer will be one who spend… ...more

February 13, 2025 #meta

Outline is hard

Writers will share this often that creating table of content is the hardest part of writing a book. Table of content provides the needed guardrails fo… ...more

February 12, 2025 #meta

Laying the strong bedrocks

Connectivity is a basic requirement for Software systems which are designed today. A connected system means heightened security risk, due to enlarged … ...more

February 07, 2025 #meta

Architecture before code

Computer programming is exciting in some sense like a computer game or puzzle it gives us the instant gratification kick. This could hurry us to the c… ...more

February 06, 2025 #meta

Constraints can bring best

You might be reading a lot about DeepSeek these days, one aspect that strikes more than often is constraints, This LLM uses GRPO instead of PPO, GRPO … ...more

February 05, 2025 #meta

Empathize

You might be in a setup where people work on things you are responsible for, remember that you are also responsible for very people who are working on… ...more

January 30, 2025 #meta

Power of asking why

Asking why is fascinating since it gets to the human curiosity, it helps us understand root causes. Keep asking "why" as you drill down a problem. You… ...more

January 29, 2025 #meta

Simple is not easy - 2

Simple but not easy: Running a marathon (just keep running forward, but requires immense endurance) Losing weight (eat less, move more - but takes si… ...more

January 28, 2025 #meta

simple in not easy

Often times, we use easy and simple interchangeably, however they are not same. Easy is relative: I might find rock climbing hard, you might find it e… ...more

January 27, 2025 #meta

Communication with clarity

When we are expert on some subject-matter, it is easy to assume a baseline know-how in our audience. This assumption can be a major reason for not bei… ...more

January 24, 2025 #meta

Vocabulary building

English is my second language even though I learned it along with my primary language, it was not spoken at home or community as much. Vocabulary has … ...more

January 23, 2025 #meta

power of demo

Demos are used to dip toes into uncharted areas. They are good for sensing possibilities for products. Demos are also effective in communicating ideas… ...more

January 22, 2025 #meta

Software debugging Techniques

Debugging involves finding defects in existing code and is part of every software developer's regular activities. There are several ways to do debuggi… ...more

January 21, 2025 #meta

Sometimes get bored too

Sometimes we hear this phrase often "I am bored :(" especially from younger folks and children. Boredom, though often seen as unpleasant, actually ser… ...more

January 16, 2025 #meta

Discomfort is good

Humanity has worked relentless to secure resources and increasing comfort, from hunter-gatherers where most of the time was spent in security food, ag… ...more

January 15, 2025 #meta

Don't leave warnings behind

Existing codebases invariably have some compiler diagnostics, warnings or notes which linger over for ages. These are valuable suggestions when consid… ...more

January 13, 2025 #meta

Plan to pay technical debt

The very moment we write code for a project, we start collecting some sort of technical debt since some decisions start to be frozen in time and rest … ...more

January 08, 2025 #meta

Rewrite or fix and improve

A common problem we often see in software development world is rewrite or improve and maintain existing implementation. Rewrite, certainly is an optio… ...more

January 07, 2025 #meta

Build once

There are mainly two ways to consume software, prebuilt and source forms. Both have advantages and downsides. Consuming only prebuilts hinder's custom… ...more

December 24, 2024 #meta

Insightfulness in software

How many programming languages, different data structures and algorithms, common programming paradigms and patterns does one understands? All these ar… ...more

December 23, 2024 #meta

Investing in building trust

Yesterday we had discussion about innovating from with-in, there is another pearl of wisdom from Eric when he was asked What is the best piece of advi… ...more

December 20, 2024 #meta

Innovating from within

Cisco acquired Webex in 2007 for whopping $3.2B and along with the products they got the mind of Eric Yuan as well. Eric is founding engineer of WebEx… ...more

December 19, 2024 #meta

crash or not

In software programming sometimes we are faced with situations where we can write logic to recover from an unexpected situation or simply crash the pr… ...more

December 18, 2024 #meta

Assertions and errors

Assertions are checks for things which should never happen. We add them at places where we think "this is impossible to happen ..." unless we have tha… ...more

December 17, 2024 #meta

Zero inbox rule

We have many distractions in daily life and a lot of them are digital distractions apps dings on the mobile phone, beeps on laptop, beeps on home appl… ...more

December 06, 2024 #meta

quantify or perish

Sometimes we find ourselves in situations where you feel that your message is important but it's not being heard or understood as it must. It could be… ...more

December 05, 2024 #meta

Pin pointing the problems

Often times when we have a problem, we try our best to describe it to others but then we maybe describing it vaguely or completely wrong. That is unde… ...more

December 04, 2024 #meta

Oratory skills

Cicero one of marquee orators believed that appealing to emotions of audience is far more effective than logic and scientific reasoning. As per Plutar… ...more

December 03, 2024 #meta

Cost of maintenance

Often we add a feature or service to enhance products or fix defects to service them in field. In software products the process will often result in a… ...more

December 02, 2024 #meta

Quality Vs Quantity

Traditionally productivity is defined as 'output / input', however productivity is not always about quantity, quality matters too. In fields like Soft… ...more

November 26, 2024 #meta

Output Vs Outcome

Output is immediate, tangible results whereas outcome is long term impact or consequence of action Output focuses on specifics e.g. a specific product… ...more

November 25, 2024 #meta

Write code to compile

A lot of times we write the code and throw it at the compiler and see what it comes up with, if it complains, we try to silence the diagnostics, warni… ...more

November 06, 2024 #meta

Tools for tasks

We learn a wide variety of tools to help us with various tasks. It does take a while to find out which tools are optimal for a task or a class of task… ...more

November 05, 2024 #meta

Developers and builders

Developer and Build Engineer roles often overlap, especially in smaller teams, but they serve distinct purposes and have unique responsibilities in so… ...more

November 04, 2024 #meta

Deleting code

A regular output of productivity in software is lines of code. We talk about how many lines of code someone writes on average per day. But a converse … ...more

November 01, 2024 #meta

Enablers

There are two aspects broadly in any product organization The products itself Enabling technologies to support it If you are part of former, it's ea… ...more

October 31, 2024 #meta

Writing good commit messages

It is crucial for effective collaboration, maintaining the code overtime and understanding the code in general. Well written commit messages help the … ...more

October 29, 2024 #meta

We need immutable systems

Many of us know systems which are not touched because they should always work. Software is getting into critical infrastructures at an accelerated pac… ...more

October 28, 2024 #meta

Positively inclined

If you work on software then you would agree that there are bugs everywhere, more code you peruse more bugs you see. Impelled by our negativity bias, … ...more

October 24, 2024 #meta

Ground-up or Top-down

When building Linux Distributions, you will be faced with two approaches - ground-up and top-down Each has its own advantages and use cases depending … ...more

October 23, 2024 #meta

Rolling releases

A rolling release is a software development model where updates are continuously delivered rather than in large, fixed version releases or time-based … ...more

October 22, 2024 #meta

Productivity Hacks

In last two decades a lot of productivity related software apps, books, and articles have been published, they all tell you about cool hacks to shore … ...more

October 21, 2024 #meta

Define OpenSource Guardrails

OpenSource software (FOSS) has become an appealing option for various IT infrastructures, offering companies access to plethora of tools and other sof… ...more

October 11, 2024 #meta

Decoding Silos

Software organizations are not immune to silos, despite their deep technological focus. I have heard silos being attributed to be a people trait, but … ...more

October 09, 2024 #meta

Beware of Shortcuts

Taking shortcuts in software development might save time in the short run, but it often leads to technical debt and headaches down the road. Skipping … ...more

October 08, 2024 #meta

Unintended opensource forks

When an organization wants to use open-source software, a common practice is to take a release and start working with it, initially testing out on ups… ...more

October 04, 2024 #meta

Picasso's Bulls

Over time a lot of software has been written, and a common theme has emerged on building on top of existing softwar,e or we shall say reuse, some exam… ...more

October 03, 2024 #meta

Gratitude

Yesterday I was driving on local roads, and I read this inspirational quote on the changeable letter signboard outside the local church Remember the d… ...more

September 30, 2024 #meta

Room for failure

WL Gore, the makers of Gore-Tex has a unique cultural tradition When a project does not work out, they celebrate it with a beer or champagne just like… ...more

September 27, 2024 #meta

Language

In his iconic works Tractatus, Austrian philosopher Ludwig Wittgenstein said "the limits of my language are the limits of my world" It can be interpre… ...more

September 26, 2024 #meta

Open Source mindset

Linux came on the Operating Systems scene during last decade of 20th century, how many new operating systems have come after ? RISCV instruction set (… ...more

September 25, 2024 #meta

Software automation workflows

If you are repeating a task more than once in a week don't worry so much but if the task is repeated daily, you must consider options to automate it, … ...more

September 24, 2024 #meta

Package managers

Managed package ecosystems accelerate developer productivity manifolds and promotes reuse. Here below is a small list of languages having package mana… ...more

September 23, 2024 #meta

Code is last

Whenever a new project is started, we have a tendency to read the problem hastily and get on to the computer and start coding it. This is a mistake, i… ...more

September 13, 2024 #meta

Compiler is your friend

How do you see the tools when developing software ? We write correct language primitives and syntax to represent the program logic. To get best out of… ...more

September 12, 2024 #meta

Code and readability

I have seen fabulous computer programmers, who can code any hard problem at hand. However, I have seen few whose code can be understood easily by othe… ...more

September 11, 2024 #meta

Friction

I wanted to develop a habit to go for a daily walk, and I will always find a reason to skip more often than not, then I decided to give fewer reasons … ...more

September 10, 2024 #meta

Biases

The investments which turned out to be good, I remember vividly and inherently take credit for them however, the ones which did not turn out to be so … ...more

September 09, 2024 #meta

Moving Mind

A famous Koan goes like this: Sitting outside the monastery Two monks were arguing about the flapping flag First one said, "Look, the flag is moving" … ...more

September 06, 2024 #meta

Its Easy to start - But is it?

I have come across this saying quite often it's easy to start but hard to finish. Asking a bit deeper why is that so ? we will find that when we say "… ...more

September 05, 2024 #meta

Lost Art of Asking Questions

We are going through information revolution, here knowledge work is fundamental building block, cognitive skills are driving this. Leadership has to e… ...more

August 21, 2024 #meta

OpenSource and Art

Closed source is like a painting which no one will see, Open source is the Art that all get to see, appreciate, and criticize and some of it will beco… ...more

August 20, 2024 #meta

Doubt

Albert Einstein debated Niels Bohr using light-filled box mental experiment on his understanding of quantum mechanics, when Bohr died, someone noticed… ...more

August 19, 2024 #meta

Introduction

Deluge of information and technology can weaken inner voice Explore your internal compass This newsletter provides tips each weekday to help you in th… ...more

August 14, 2024 #meta