hackeryogi

Joined 11 years ago

Karma
280
Submissions
30
Member since
Mar 3
https://blog.theboringtech.io/
View on Hacker News

Recent submissions

Comment · 1 hour ago
Comment · 4 days ago
Location: Europe (Digital Nomad) | India Remote: Yes Willing to Relocate: Yes (for duration of contract) Technologies: Any Resume/CV: https://in.linkedin.com/in/yogeshnachnani Email: [email protected]

I’m a software developer with 14+ years of experience. I’ve worked at companies of all shapes and sizes - from fast growth unicorn startups to FAANG (well, atleast AG). I’ve also worked in all layers of the stack, wearing different hats as a backend engineer, infrastructure engineer & full stack engineer. So I’m as comfortable with running cloud infra, optimising it, or leveraging it to build applications & apps that scale.

I am fortunate enough to witness the tech abstractions we take for granted today get built out as I grew in the industry. I’ve gone from managing MySQL, HBase, Kafka clusters on VMs & bare metal to now marveling at how it’s outsourced to the cloud via a prompt. But I still fret the small stuff - because I know quite a bit about what can go wrong.

Presently, I work as a freelancer. I work with founders & leadership teams of startups to help out with organisational velocity challenges. My speciality is to help build systems that enable companies to continue shipping fast as they scale in the next phase of growth, be it 1-10 journeys or 10-100 journeys. Systems don’t get built in isolation; it’s also important to preserve what already works (tech & culture wise) - so bringing in the best practices learnt at BigTech to your unique startup is something I can help with too. I like to joke that I like to do the boring stuff. Stuff that you know is important, but don’t want to hire a full time principal engineer for - cleaning up systems, setting them up for next phase of growth and making them amenable to AI first harnesses.

TL;DR: If you’ve read a recent post by Bart Butler (Proton’s CTO), that’s exactly what I help with.

Comment · 1 month ago
Increasingly I come across software bloated with features. I recently downloaded an app that took me through 4 screens (including a membership upsell) before I could actually use it, and even on the home screen I could barely find my way around.

I read a lot about "taste," but the taste that matters most is the users'. To me, a sharp experiment-measure cycle that measures what users actually value and not just what converts (i.e holistically measures user satisfaction), is the best way to keep what works

Comment · 1 month ago
I'm curious, how is the data for active building construction and active street repairs sourced?
Comment · 2 months ago
The A/B test infrastructure is. It’s easy to wire up experiments because there is always a template/recipe to do so. Multiple subsystems can be strung together (eg: Experiment arm XX in subsystem A triggers Experiment arm YY in subsystem B). Analysis is simplified too since all the core metrics are already in place and ready for analysis.
Comment · 2 months ago
Comment · 2 months ago
True. This was written with the context of Google which was, to a large extent and up until very recently, a good example of the resilience and magic a slime mold can be.

It is not true today, and as you mentioned "fundamentally incompatible with a next-quarter profit driven.."

Comment · 2 months ago
To add to this, MCPs usually focus on capabilities. This is especially useful in multi-hop situations.

As an illustration, lets say I ask the agent to “Read the issue Bob posted today from Linear (issue tracker), pull relevant logs from DataDog (log tool) and suggest a fix”

In the MCP world, my agent doesn’t have to spend tokens / time understanding APIs or the protocol (as the parent comment suggests). Instead, it relies on the tool provider for the best way to “read the issue” or “pull logs”.

Same thing, in the API world, would usually involve multiple API hits (and possibly using the wrong APIs or params for them), interpreting the results and hitting few more APIs again.

Comment · 2 months ago
Thanks for the link. Very succinct. Coincidentally, just a week back, I ordered the book it mentions.

I completely agree with everything you mentioned (And thanks for giving in numbers too!).

Since you’ve clearly thought this through, if I can push you to the hypothetical - at what point would you want to run multiple tests in parallel? Will it be largely a function of your dev team (more productive everyone) or active users (more frequent feature build outs / cross cutting rollouts) ?

Thanks again for the note. Very helpful.

Comment · 6 years ago
Very well summed up.

In addition, same set of questions can also be asked to people who've recently left the organisation.

I'd use the following criteria to filter ex employees:

- Reliable 1st/2nd level connections

- Folks who have shown stability in the past (generally stick to jobs for > 2 years)

Obviously, they'd come with biases. But, talking 2-3 people should also help reliably gather broad culture patterns. Should avoid listening to evidently disgruntled folks.

Comment · 6 years ago
Well written article

> DON'T BE AFRAID TO DISMANTLE THE WRONG ABSTRACTION

Couldn't agree more with the statement, though I don't completely agree with the author's suggestion to copy paste. Duplicating code _is debt_. It may help us go faster now, but it'll almost inevitably come back to bite. It is manageable if 1/2 people do it 1/2 times - definitely not manageable if 5/6 people do it 5/6 times.

I believe the general hesitation of not touching a piece of code (or, getting by with that optional param) is due to the fear of fucking things up. Having your code test covered gives an amazing amount of confidence to rip apart old abstractions to yield newer ones that serve the purpose of the _current code_. To me, this route is more preferable to duplicating code.

Even with the best of intentions, Hacking an abstraction with that one optional parameter is inevitable. Tests help in our ability to repay that debt faster - on time & in full.

Basically they make all abstractions a lot cheaper - easier to write and easier to throw away. Thereby solving the problem of having a 'wrong abstraction' too early.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton