The month of Oct creates a sense of retrospection

1 Nov 2021    

The month of Oct has been a month of rediscovering what is important for me. Building an engineering team has been challenging, and building a product is a full time role as well. Learning how to deepen the roots in each of these roles will serve you well in the long run.


Apart from these roles at work, one most important habit I am trying to recultivate is the habit of reading. Recently i’ve been reading Inspired, how to create tech product everyone love. For all aspiring product managers, this book has short concise chapters breaking up the tough topic into sizable and bite size chapters.


Hope you enjoy the articles that i’ve been reading this month as well




General


How to programmically avoid failure


what kind of failures are there?


  1. Avoidable failure

You had the knowledge and ability to prevent it, but it happened anyways. Such mistakes, you can consider changing the current decision making process. Consider using checklists and automated testing to prevent such failures.


  1. Complex Failure

Such failures can help to strengthen the following aspects of your process:


  • Adjusting the current process
  • Deepen your understanding of your system’s constraints and limitation. Load issue can often be such issues.

Encountering such failures, you can pay more attention on resource in the future, increase its capacity, or even reassess how things are architected.


  1. Innovative Failture

This failure occured because of the launch of a new innovation + production data.


Consider failure 2 and 3, these are the failures you want to get yourself involved. Understand your system’s constraints helps you plan for scale in foreseeable duration.


This article embraces the concept of learning through failure. You learn when you encounter preventable mistakes and once you have address the preventable mistakes in your current domain, you now have the headspace to find out complex + innovative failure.


be aware of the shame + fear of failure. These are your psychological barriers to embrace the lessons you could typically learn in failure.


How do you motivate yourself to write


  1. Own your content

Start a blog or a place you can start sharing you rlongform write up. As an engineer, having to host your platform gives you the sense of ownership over your blogging experience. Paying for your own hosting reminds you of a long term commitment you were once enthusiastic to embark on many months ago.


  1. Write regularly
    Think of your writing habits as a muscle. It strengthens with practice.

When people ask me for advice on blogging, I always respond with yet another form of the same advice: pick a schedule you can live with, and stick to it. Until you do that, none of the other advice I could give you will matter. I don’t care if you suck at writing. I don’t care if nobody reads your blog. I don’t care if you have nothing interesting to say. If you can demonstrate a willingness to write, and a desire to keep continually improving your writing, you will eventually be successful.
Reference from a post by Jeff “How to achieve ultimate blog success in one easy step


Every time I wrote, I learned a little more about the topic, how to research topics effectively, where the best sources of information were.


This i can relate. You want to learn how to learn better, gather your information more effectively. Understand how to create good content flow - learning how to create a story narrative.


1,000 true fans


How you can train your deep learning models as a startup


Whenever we are in the context of startup, it revolves around a few paramters: speed, cost, productivity, iterate.


Easier to motivate do-ers


Be a doer


How do you speak up against tech giants?


Norway will be able to stop sales of petrol /diesel cards by early half 2022


Why Curiosity is better than Being smart?


People whom we deem smart are actually also curious people. They are smart and that’s why they are curious and keep getting smarter because they are curious.


Smart people become smarter across situations because they are smart enough to understand that they don’t have all the answers.


Becoming smart is a continuous process and not a permanent state. You keep learning; you keep failing and then keep tryining.


Being curious gets you to discover Internet Rabbit Holes. Your curiousity unveil new things you don’t know about. Investigating how things work makes them read articles, books, or even newspaper; looking for solutions outside their field of work.


If you shut the door to curiousity, you shut the door to learning. When you don’t learn, you don’t move forward. You can be smart now, but that just limited you from participating the continuous process of learning.


How can you improve your curiousity?


  • Reading books

reading books bring you to new places. It may not take you somewhere geographically new, but to new place of beliefs and understanding. Every book can give you a new perspective, and that perspective helps you view the world through a new lens


  • Curiousity Gap

Always look out for what is visibly presented to you and what could potentially be improved to improve the overall story you are learning from books or podcasts. learn to close gaps of learning.


  • Ask questions

Asking questions help uncover more grounds and get more done.


So much you don’t know that, when learned, will help you get out of any situation.


Criminals stealing from criminals


in ear fit is important


People enjoy deep conversations with strangers


Books from MIT


Handmade 1000 piece clock


Amazon’s work culture

Code works differently when its full moon

Squirrel with thousand of nuts in the car boot

Tiktok exposing military aircraft secrets

Founder’s Compensation

How do you think a founder should be compensated?

consider it between a replacement CEO and a founder CEO, what are their incentives in the long run? Who has more stacks in the game and therefore how can they be additionally compensated to be sufficiently incentives. What are their cash needs currently? How can we help them to keep focus on the business.

Out-of-the-money options is an option that elon musk takes.

The legality of webscraping

Alternative to dating apps

The legality comes down to three factors of consideration

  1. What are you scraping?
  2. How are you scraping?
  3. How are you using the scraped data?

Are you scraping personal data? Be clear of the website’s country of origin. If they are located in EU, the EU law by apply to you. You may want to check out their General Data Privacy Regulation (GDPR) before you scrap from a EU website.

Are you scraping non-public data? If you are not scraping public data, you are probably threading on thin lines.

Are you scraping copyright data? Scraping copyright data and publishing it as your own is undoubtably illegal.

Product name, product descriptions, price data, and the number of sales or views, which is the core input of price intelligence and competitive analysis, are some examples of plain facts.


Product

Top Nav vs Side Nav

Factors of consideration:

  1. Side Nav is faster for users to scan and more visually prominent

  2. Side nav takes up more space.

  3. Side nav easier to scale

You can show at least double the number of navigation links in the side nav above the fold. When you have many top-level items that cannot be logically grouped into several buckets, you should use the side nav. You can easily add more items as your product grows

  1. Side nav supports customizable navigation structures.
    You can look at slack, folders in outlook, or hierarchical menus in Drive or Confluence.

  2. Consistency with desktop
    If we are moving towards a desktop native application, we want our web app to be consistent with it.

  3. Side nav is considered standard for both MacOS and Windows apps

  4. Top navigation bars allow for mega menus.

Mega menu

When do you choose top or side nav?

  1. Number of features you have and wish to show
  2. Do you want it customizable?
  3. Do you have a native application for standardization?
  4. Do you have a long list of features that cannot be logically grouped together?

Features they never really want

If users does not use the features they scream for, its not the user’s fault, they did not lie to you. They did have this problem, and they did want a solution.

Getting your targetted end users to try your solution without giving any instructions, and watch them step by step.

Enable default options after validating that your solution actually provides a solution for them.

Being close to the customers, getting angry comments is also a feedback for your product

  • Keep your users in the loop, don’t build in isolation.
  • Take to your end users and find out what are their current existing workflow
  • Voice your concerns to your product team regularly and often.
  • Be ready to pivot your idea
  • Users say things for a reason, and there may be more than face value.
  • If you are making assumptions about your users, be sure to move when your assumption is falsified.
  • Features go unused if they aren’t easy to use, no matter how great they are.
  • A user’s workflow is everything.
  • Users are far more clever than you think

Books for recommendation

  • The Design of Everyday Things (Amazon; my favorite book!)
  • Usability Engineering by Jakob Nielsen (Amazon; get a used copy)
  • The Customer-Driven Playbook (Amazon; written by Microsoft employees)
  • The Lean Product Playbook (Amazon)
  • Inspired

Tech

Difference between software developer & software engineer

Logging best practices

Do you need offline first applications?

How do you store your data? localStorage? Cache? Indexed DB?

What is web3

it embraces the concept of decentralization. Like that of blockchain where we are utilizing peer to peer network architecture.

How to buld your own p2p nft project

jsFuck
You can code your application using only 6 characters.
Not sure the usecase but interesting!

Multiple your estimates by Pi

Project Management in big tech companies

Test Coverage is not strongly correlated to test suite effectiveness

Logically so, test suites are only as good as how it is written.

In addition, we found that stronger forms of coverage do not provide greater insight into the effectiveness of the suite. Our results suggest that coverage, while useful for identifying under-tested parts of a program, should not be used as a quality target because it is not a good indicator of test suite effectiveness.


Office hours with Michael Seibel


Fundraising, find the highest point on your leverage chart and fund raise there.
You can choose to say no to investors, you can walk away from bad term sheets.


Being a nice guy makes it easy to help you. People may not go out of the way for you but it makes it easier to lend a hand.


Iterating, you can learn a lot of things from your previous thesis. You have your customers, so you can learn more about them. You can learn through iteration. When you are pivoting, you are changing either the problem or the customers drastically. You are not learning very much from what you did previously.


Rapid pivoting is really bad. Rapid iterating is good. You pivot only when you have exhausted every single idea. Don’t believe the myth that when you build it, people will come.


Investors has to clearly understand the problem you are trying to solve.
Do you have a tech guy on the founding team.


If the person doesnt get it after 60 secs, its not because the person is an idiot. Its our fault.


You have to throw away jargon. You have to throw away your customer pitch. You need some 6-9 grade language.


If you are not concise, then more brain power is needed to understand what is going on.
The quick way to gain confidence from whoever you are pitching to: you got the numbers, or you have a good track record.


  • Go for the numbers and present the numbers where it can speak for you.
    Facts are important. Say some facts and you can sound very smart.

Justin Kan => Agreesively practice pitching friends collegue investors. You can learn something from every process.
You want to practice.


Github’s struggle with scale


Creating virtual domains to ensure that your queries do not query a cross domains in one query.


Decision Tree


How do you visualize a decision tree!


How you can scan the internet


Reactive Monolithe - How to move from CRUD to Event Sourcing