Lazy Engineers Make Lousy Products

Published: January 29, 2024

Lazy Engineers Make Lousy Products

Do you ever try to unsubscribe from an online newsletter?

For example, SBI Securities (Biggest online trading service in Japan) keeps sending me emails non-stop. I mean non-stop:

SBI Securities Spam

Although they have probably sent me more than 100 emails over the years, I haven't even opened a single one.

Isn't there a single soul in SBI's marketing team that has some common sense and stop this torture? At least stop sending emails to people that never open them.

Their practice looks pretty much like people shoving brocherues to everyone's post-boxes. Did you know that nowadays majority of apartments in Tokyo have auto-lock system to prevent this indiscriminate marketing torture?

I wish I could add an auto-lock to my inbox to stop these guys from abusing my mailbox.

Stop whining like a little boy. What's your point?

Well, I'd like to argue that most of the pain we encounter in our daily lives interacting with digital tools stem from either:

  1. Business people developing products and not loving them
  2. Projects with insufficient resources
  3. Lazy engineers

Groups 1 and 2 are neither interesting nor our findings would be actionable, so I will skip talking about them and focus on Group 3.

Lazy engineers make lousy products

Do you ever have issues interacting with well-developed products like Iphone, Google Cloud Services, or Booking.com?

You probably don't. Why? Because these products are crafted with painstaking effort by people who love their creation (probably).

Most of the lousy products in our world are developed by people that do not care about their product, so the product is created with minimal effort possible, as long as people buy it.

Little effort does not lead to simple products though. They lead to an incoherent mess that pains people who use them.

I didn't have time to write a short letter, so I wrote a long one instead.

Mark Twain

Wait there is more...

Having a lousy marketing strategy like SBI is OK, if they let their users opt-out from this newletter easily.

Because that would be the fair thing to do right? If you don't have the tools to target the right customer with your newsletter/ nor track their engagement, at least give them the ability to stop accepting emails from you.

Luckily, there is a link in their email that lets you unsubscribe from this newsletter.

SBI Securities Unsubscribe

So what happens when you click on "Unsubsribe"?

As expected from a lousy product, they ask you to login to their service in order to change your notification preferences.

As a person who wants to cut comms with them, what is the probability that I will remember my credentials? Near zero.

SBI Securities Let Me Out

As a web developer, I know for a fact that "unsubscribe" can be easily done without the need for logging in the user. This team of engineers either don't know what they are doing, or they are purposefully introducing barriers for people to stop receiving their notifications.

I don't know which one is the worse scenario.

To wrap up

So when you have problems interacting with a lousy product next time, do not blame yourself. Think of a business manager who only cares about financials, and does not love the product. Think of a lousy engineer who did not spend an additional hour to make it easy for you to use this product.

Because you should have an easier time using these tools. You are the king.

Bonus

To finish this article on a bright note, I wanted to highlight an episode I had a with a great company: Starbucks.

Although I rarely go to Starbucks, I used to be a member to their newsletter. Similar to SBI, they used to send me an update every once in a while (SBI sends every day though, which probably qualifies for abuse).

And I never opened their emails. At some point, they sent me an email saying that they did not observe any activity from me, so they'd remove me from the newsletter if I didn't react.

This was such a nice gesture, I went out of my way to actually engage with them to keep receiving this newletter.

Companies like Starbucks give me hope that there are still product people around us that care about & respect their users. I'm hopeful that such product-oriented companies will be more succesful in the long run as their customers will appreciate their efforts.

SBI Securities - Impossible to unsubscribe

Do you have any similar episodes? Feel free to share below in comments.

Happy hacking!

Leave comment

Comments

Check out other blog posts

Create A Simple and Dynamic Tooltip With Svelte and JavaScript

2024/06/19

Create A Simple and Dynamic Tooltip With Svelte and JavaScript

JavaScriptSvelteSimpleDynamicTooltipFront-end
Create an Interactive Map of Tokyo with JavaScript

2024/06/17

Create an Interactive Map of Tokyo with JavaScript

SvelteSVGJavaScriptTailwindInteractive MapTokyoJapanTokyo Metropolitan Area23 Wards
How to Easily Fix Japanese Character Issue in Matplotlib

2024/06/14

How to Easily Fix Japanese Character Issue in Matplotlib

MatplotlibGraphChartPythonJapanese charactersIssueBug
Book Review | Talking to Strangers: What We Should Know about the People We Don't Know by Malcolm Gladwell

2024/06/13

Book Review | Talking to Strangers: What We Should Know about the People We Don't Know by Malcolm Gladwell

Book ReviewTalking to StrangersWhat We Should Know about the People We Don't KnowMalcolm Gladwell
Most Commonly Used 3,000 Kanjis in Japanese

2024/06/07

Most Commonly Used 3,000 Kanjis in Japanese

Most CommonKanji3000ListUsage FrequencyJapaneseJLPTLanguageStudyingWordsKanji ImportanceWord Prevalence
Replace With Regex Using VSCode

2024/06/07

Replace With Regex Using VSCode

VSCodeRegexFindReplaceConditional Replace
Do Not Use Readable Store in Svelte

2024/06/06

Do Not Use Readable Store in Svelte

SvelteReadableWritableState ManagementStoreSpeedMemoryFile Size
Increase Website Load Speed by Compressing Data with Gzip and Pako

2024/06/05

Increase Website Load Speed by Compressing Data with Gzip and Pako

GzipCompressionPakoWebsite Load SpeedSvelteKit
Find the Word the Mouse is Pointing to on a Webpage with JavaScript

2024/05/31

Find the Word the Mouse is Pointing to on a Webpage with JavaScript

JavascriptMousePointerHoverWeb Development
Create an Interactive Map with Svelte using SVG

2024/05/29

Create an Interactive Map with Svelte using SVG

SvelteSVGInteractive MapFront-end
Book Review | Originals: How Non-Conformists Move the World by Adam Grant & Sheryl Sandberg

2024/05/28

Book Review | Originals: How Non-Conformists Move the World by Adam Grant & Sheryl Sandberg

Book ReviewOriginalsAdam Grant & Sheryl SandbergHow Non-Conformists Move the World
How to Algorithmically Solve Sudoku Using Javascript

2024/05/27

How to Algorithmically Solve Sudoku Using Javascript

Solve SudokuAlgorithmJavaScriptProgramming
How I Increased Traffic to my Website by 10x in a Month

2024/05/26

How I Increased Traffic to my Website by 10x in a Month

Increase Website TrafficClicksImpressionsGoogle Search Console
Life is Like Cycling

2024/05/24

Life is Like Cycling

CyclingLifePhilosophySuccess
Generate a Complete Sudoku Grid with Backtracking Algorithm in JavaScript

2024/05/19

Generate a Complete Sudoku Grid with Backtracking Algorithm in JavaScript

SudokuComplete GridBacktracking AlgorithmJavaScript
Why Tailwind is Amazing and How It Makes Web Dev a Breeze

2024/05/16

Why Tailwind is Amazing and How It Makes Web Dev a Breeze

TailwindAmazingFront-endWeb Development
Generate Sitemap Automatically with Git Hooks Using Python

2024/05/15

Generate Sitemap Automatically with Git Hooks Using Python

Git HooksPythonSitemapSvelteKit
Book Review | Range: Why Generalists Triumph in a Specialized World by David Epstein

2024/05/14

Book Review | Range: Why Generalists Triumph in a Specialized World by David Epstein

Book ReviewRangeDavid EpsteinWhy Generalists Triumph in a Specialized World
What is Svelte and SvelteKit?

2024/05/13

What is Svelte and SvelteKit?

SvelteSvelteKitFront-endVite
Internationalization with SvelteKit (Multiple Language Support)

2024/05/12

Internationalization with SvelteKit (Multiple Language Support)

InternationalizationI18NSvelteKitLanguage Support
Reduce Svelte Deploy Time With Caching

2024/05/11

Reduce Svelte Deploy Time With Caching

SvelteEnhanced ImageCachingDeploy Time
Lazy Load Content With Svelte and Intersection Oberver

2024/05/10

Lazy Load Content With Svelte and Intersection Oberver

Lazy LoadingWebsite Speed OptimizationSvelteIntersection Observer
Find the Optimal Stock Portfolio with a Genetic Algorithm

2024/05/10

Find the Optimal Stock Portfolio with a Genetic Algorithm

Stock marketPortfolio OptimizationGenetic AlgorithmPython
Convert ShapeFile To SVG With Python

2024/05/09

Convert ShapeFile To SVG With Python

ShapeFileSVGPythonGeoJSON
Reactivity In Svelte: Variables, Binding, and Key Function

2024/05/08

Reactivity In Svelte: Variables, Binding, and Key Function

SvelteReactivityBindingKey Function
Book Review | The Art Of War by Sun Tzu

2024/05/07

Book Review | The Art Of War by Sun Tzu

Book ReviewThe Art Of WarSun TzuThomas Cleary
Specialists Are Dead. Long Live Generalists!

2024/05/06

Specialists Are Dead. Long Live Generalists!

SpecialistGeneralistParadigm ShiftSoftware Engineering
Analyze Voter Behavior in Turkish Elections with Python

2024/05/03

Analyze Voter Behavior in Turkish Elections with Python

TurkeyAge Analysis2018 ElectionsVoter Behavior
Create Turkish Voter Profile Database With Web Scraping

2024/05/01

Create Turkish Voter Profile Database With Web Scraping

PythonSeleniumWeb ScrapingTurkish Elections
Make Infinite Scroll With Svelte and Tailwind

2024/04/30

Make Infinite Scroll With Svelte and Tailwind

SvelteTailwindInfinite ScrollFront-end
How I Reached Japanese Proficiency In Under A Year

2024/04/29

How I Reached Japanese Proficiency In Under A Year

JapaneseProficiencyJLPTBusiness
Use-ready Website Template With Svelte and Tailwind

2024/04/25

Use-ready Website Template With Svelte and Tailwind

Website TemplateFront-endSvelteTailwind
On Greatness

2024/01/28

On Greatness

GreatnessMeaning of lifeSatisfactory lifePurpose
Converting PDF to PNG on a MacBook

2024/01/28

Converting PDF to PNG on a MacBook

PDFPNGMacBookAutomator
Recapping 2023: Compilation of 24 books read

2023/12/31

Recapping 2023: Compilation of 24 books read

BooksReading2023Reflections
Create a Photo Collage with Python PIL

2023/12/30

Create a Photo Collage with Python PIL

PythonPILImage ProcessingCollage
Detect Device & Browser of Visitors to Your Website

2024/01/09

Detect Device & Browser of Visitors to Your Website

JavascriptDevice DetectionBrowser DetectionWebsite Analytics
Anatomy of a ChatGPT Response

2024/01/19

Anatomy of a ChatGPT Response

ChatGPTLarge Language ModelMachine LearningGenerative AI