6 hours ago by troelsSteegin

The ideas here are: pay close attention to your user's actual experience with your product; nuanced experience fixes can have big collateral benefits; there's a way to do that in the context of everything else. All good, from my perspective.

The caveat is that the author in this case is not that different from his users, who are other devs. He gets their experiences. The magic trick for dev is putting yourself in your user's experience when they really don't think like you. Non technical, kids, accountants, whatever. You really have to drop your assumptions and forget your investments and just see things the way they do. Empathy rules, but I feel it is hard to codify that as a skill. There's a big leap before tiny wins.

EDIT- to add, the signals to look at first are user complaints, and user's efficiency on tasks with your product, aka usability studies. Empathy informs your takeways from that.

an hour ago by FalconSensei

> nuanced experience fixes can have big collateral benefits

For me, little annoyances really stack up and make the whole experience a pain. I prefer to not have a specific feature at all, but have a great experience on what works, that keep finding little things that annoy me

2 hours ago by tessierashpool

Good summary, but he's not a dev, he's a designer.

an hour ago by finiteseries

Like many designers these days, they’re absolutely a developer too. Look at their past work!

an hour ago by design

I'm definitely a designer first, so I see things through a design lens. But I think that taking the time to truly understand your users as best you can—whether you're a designer, developer, PM, support, sales, etc—is the first step to building a good product and being able to identify these high impact areas.

7 hours ago by kareemm

One of the dev failure modes I regularly see when consulting (and have fallen into myself, many times) is believing value is a function of effort spent coding. More of the latter means more of the former.

But it turns out customers don’t care how long you took to build the thing. At all.

There’s a lot of win in finding and plucking low hanging fruit - those high leverage features that seem almost too easy to do that you can do them anytime... but never get around to because you’re always working on something bigger and more interesting.

Related to this if OP is reading, I’d love to be able to drag and drop and upload images into GitHub wikis the way I can into GitHub Images. Between those two changes and uploading to wikis you’d have my vote for employee of the month!

2 hours ago by Danieru

> those high leverage features that seem almost too easy to do that you can do them anytime... but never get around to because you’re always working on something bigger and more interesting

Oh 100% this was a major revelation in my career going from hobbyist to professional gamedev. As a hobbyist I would think "Yeah sure the units are spinning randomly on corners because I messed up the rotation math, but I can fix that anytime. I should be working on this yet-another-feature".

When correct process is to fix the biggest pain point: and surprise! There you go, the next biggest pain point becomes obvious. Repeat ad intinitum and you'll have polished yourself a commercial-grade game.

4 hours ago by mamcx

In my niche this is reporting. We agonize for YEARS about what to do.

Just thinking in what I need to do for this do "properly", ie: I plan to make a language as the base!(https://tablam.org).

Eventually I just install https://www.metabase.com and thanks to sane table + view design the end-users are nearly support-free.

2 hours ago by tailspin2019

Thanks for Metabase... never seen that before, and looks like it could solve a similar reporting hole in my current project.

Out of interest, did you use the Open Source version. Embedded or standalone?

4 hours ago by itsrajju

Completely agree! Long ago I worked at a fintech startup that made a Master Data Management (MDM) solution for hedge funds. Usually people would log into the webapp, make changes to the data, and log out. Do it 10 times and it starts to get boring.

A couple of folks hacked together an Excel plugin that could make those data changes in bulk. Voila! Customers loved it!

The amount of happy customers we got for that weekend project was overwhelming.

7 hours ago by debarshri

Also, just to add to that, customer also doesn't care about your code quality or the fancy new tech you used underneath. In early stage, it is all about getting stuff done fast, creating value, capturing value and repeat.

2 hours ago by tailspin2019

I agree with this, with your caveat of "early stage". Later on we have a responsibility to keep tech debt under control to a degree, even if that's invisible to the customer. (The side effect of faster development pace and higher quality later down the line will certainly be visible).

But in the early stages - I agree with you and tend to take the view that it's better to just throw something together and get it out there and being used quickly - irrespective of how bad the code might be underneath.

Get the system out in front of users, and delivering value to them as quickly as possible. You cannot beat the power of getting early feedback and validation of a concept.

For larger (higher stakes) projects this can be in the form of a "prototype" where the expectation is set that it's not a complete product. For smaller projects, fuck it, call it Version 1 (or a "beta" if you must) and get real people using it quickly :-)

Just be prepared to continue iterating from there.

As a dev I also often fall into the trap of "coding for coding's sake" - I love TDD, DDD, clean code, getting the right abstractions... and yes this stuff (when used appropriately) can lead to good maintainable code with low tech debt and easier feature development... but too often as developers we can end up losing sight of the business need and go too far up our own backsides with this stuff. Perfecting the codebase in the name of maintainability and controlling tech debt, when really it's often unnecessary perfectionism - or premature optimisation at least. Maybe that's just my own experience and I'm projecting - but I do see this quite often with even the best devs I work with. Actually more often with the devs that take the most pride in their work. It's a difficult balance to strike.

6 hours ago by afarrell

The business does however care about the marginal cost of delivering new feature improvements.

https://youtu.be/TQ9rng6YFeY

6 hours ago by WJW

And of course, the devs often care about using new tech since it improves both their current enjoyment of the job and (often) their future job prospects

4 hours ago by debarshri

If you have a stable team, cost of delivering new features are quite low. Tech improvement comes at much larger cost.

4 hours ago by activatedgeek

While this article focuses on a niche, tiny wins are a universally applicable concept. I think they are a powerful abstraction.

I recently finished "Tiny Habits: The Small Changes That Change Everything" by BJ Fogg [1], which talks about this in generality. The essence is that behaviors are a product of motivation, ability, and prompts. By keeping things tiny, we avoid the need of very high motivation, the need for very high ability, and devise easy triggers/prompts to get work done. It has been quite fun to identify tiny habits in my daily routine, I've collected quite a few and narrowed down on what works and what doesn't.

This is then applicable to software engineering, product development etc. One of Instagram's co-founder was apparently enrolled in the author's class, and therefore pops up as an example a few times through the book.

I've always ridiculed self-help books. This book does have a self-help flavor, but always concludes with precise actionable advice. By developing a general framework and a mental model around habits (think abstraction in usual software engineering terms), it does feel more controllable. Highly recommended!

[1]: https://www.librarything.com/work/23220746/book/198725553

4 hours ago by pierrebai

I'm always impressed by people who are top dogs at self-promotion. These are small projects, small changes, but presented as best as they could, with as much fanfare and congratulations as can be achieved.

I mean, an arrow for data flow direction? It sure is better than a non-descript triple dots, but was it that non-obvious? The mileage he gets from this small change in this blog post is remarkable.

I constantly fail at this game.

2 hours ago by tailspin2019

> The mileage he gets from this small change in this blog post is remarkable.

I think that's entirely the point he's making! :-)

> I constantly fail at this game.

Me too.

2 hours ago by HeyLaughingBoy

It becomes much easier if you can see things through the user's eyes. Then you realize that the tiny change you made is worth talking about because it substantially improves the users' lives.

6 hours ago by jan_Inkepa

The lack of arrow in the merge direction page was baffling (given that IIRC elsewhere lines were used to indicate change direction). Glad they fixed it.

What's missing in this article in talking about how little time the changes took ("This was a one-line code change that took a few minutes.") is if there was much consultation with designers/management/UX-people involved, and much testing needed after.

4 hours ago by lkbm

> The lack of arrow in the merge direction page was baffling

For what it's worth, it came from the fact that you were doing `git diff master...feature-branch`

Totally agree with you that the coding time is likely a tiny part of the total time spent. Tiny wins are hard to find.

6 hours ago by hamhamed

Totally agree - you can either spot those yourself by putting yourself as a user or listening to your customers. The other challenge is to get those tiny wins into the sprint when your PM can be clueless about the ROI on those..

While we're on the subject, if someone from Mac OS can please seperate my trackpad and mouse settings so the scroll natural/reverse is kept between for each device, that'd be appreciated

6 hours ago by machello13

You may find this application useful: https://pilotmoon.com/scrollreverser/

5 hours ago by kareemm

> The other challenge is to get those tiny wins into the sprint when your PM can be clueless about the ROI on those.

If the PM is clueless about tiny wins for the customer you should find a new PM. That's basically the crux of their job.

5 hours ago by MH15

It's so annoying when I have to open Logi Options everytime I want to use a physical mouse to get the scroll going right.

4 hours ago by cestith

The similarity to the Eisenhower Matrix for task scheduling is apparent. The two of them would pair nicely in a discussion.

https://www.eisenhower.me/eisenhower-matrix/

4 hours ago by catchmeifyoucan

Another blog post from GitHub on “paper cuts”: https://github.blog/2018-08-28-announcing-paper-cuts/

Daily digest email

Get a daily email with the the top stories from Hacker News. No spam, unsubscribe at any time.