January, the month you instil discipline into your routine

12 Feb 2022    

Jan Articles. The year has been not easy on everyone. There are numerous mutations to the dear virus. But I believe one day it shall pass and we will all recover from this pandamic. Regardless of situation, it is still important you put time to read, research and learn. You cannot be stuck in your own growth. Rather, you should be finding more time to read given the stay-home situation we have the past year. Social media have been a buzz kill and it is important to set some discipline into your phone routines.

The past month’s learning have been vastly intentional. Motivated by numerous observations:

  • Friends are changing their jobs.
  • Technology has been updated since 18months ago. The best practices have started becoming a part of student’s projects (based on my observation with my intern’s work)
  • Web 3 has been up and coming with much hype and capital flowing through that market.

Personally, I have been reading up on web 3 myself and if there are any interesting topics you wish to find out, do leave a comment below!

In my article, I’ve segmented my articles to a few broad categories, hope you enjoy:

  1. Interesting (random tech articles)
  2. Technical (nerd it out)
  3. Culture building


Having public real time data on subways. That doesnt sound very safe. If its true, you got data on how the transport is moving in your country.

CT scan of a game boy
How to learn design lessons from this article?

how a guy manages microstartups to earn 500bucks a day

Passive income at its best. Interesting how he took 4 years to reach 400bucks a day and then 4 months to reach 500/day

The power of compounding effect. Stick to habit level type of money and work from there. The blog could have been a good way to start, with the attention coming my way. But i didnt reply to them. That is very bad.

web3.0 usecases

Some of the use cases of Web3 are Decentralised Autonomous Organisations (DAOs), Decentralised Finance (DeFi), Stablecoins and Central Bank Digital Currencies (CBDCs), private and digital infrastructure, and creator economy enablers like NFTs and blockchain-based games.

[Reddit on real web3.0 usecases](Can anyone explain real web3 use cases? : r/CryptoTechnology)

[diff between web2 and web3](Web2 vs Web3 | ethereum.org)

upwork asking for refund based on own mistakes?

getting started on freelance as a software engineer

Signal’s new CEO?

I was writing all the Android code, was writing all of the server code, was the only person on call for the service, was facilitating all product development, and was managing everyone. I couldn’t ever leave cell service, had to take my laptop with me everywhere in case of emergencies, and occasionally found myself sitting alone on the sidewalk in the rain late at night trying to diagnose a service degradation.


Monolith ain’t that bad

Node to Ruby on Rails

Learn how to make technical decisions

Its an important skill engineers should learn early in their career. Why things are selected to be built before we consider how things should be built.

Decision by roles

How to create websocket using AWS

its quite technical and the use of lambda can be quite confusing and too manual.

Deep learning interview questions

Diff between import and required in Nodejs


  1. required can be called from anywhere from the file

  1. Required can be called conditionally

So this will help to address async loading issues. You cannot add conditions to import because it will be

  1. Import statements are async
    Also, to use require statement, a module must be saved with a .js extension

  1. ES modules can be loaded dynamically via the import() function unlike require().

Require will import everything from the file. While Dynamic import, you can import only whatever function you need within the external file.

  • When importing statically significantly slows the loading of your code and there is a low likelihood that you will need the code you are importing, or you will not need it until a later time.
  • When importing statically significantly increases your program’s memory usage and there is a low likelihood that you will need the code you are importing.
  • When the module you are importing does not exist at load time
  • When the import specifier string needs to be constructed dynamically. (Static import only supports static specifiers.)
  • When the module being imported has side effects, and you do not want those side effects unless some condition is true. (It is recommended not to have any side effects in a module, but you sometimes cannot control this in your module dependencies.)
    Reference: mozilla


Use dynamic import only when necessary. The static form is preferable for loading initial dependencies, and can benefit more readily from static analysis tools and tree shaking.


Are Engineers lying about how much they work?

Mentoring Engineers

Startup management, are you getting it wrong?

The need for manager training

There are a lot of people who have been given power in an organization, but no training on how to wield that power.

Recommended books

When do you need to start thinking about manager training

“‘How big is your organization today, and what size are you planning to be by the end of the year?’

Interesting question as starting point to ponder our dependencies for growth. The planned growth trajectory can tell you typically what struggles are likely to surface in the organisation this coming year

Depending on the size of organisation you forecast your company to be: you can start to imagine different types of people problems you will face. This happens if you are starting to scale your manpower as well. I wonder if this is true for a technical team.

Interesting point about 350 people organisation, your ability to move quickly may not be the core focus anymore. While you have till adapt and adjust your strategy according to market signals, putting in good processes is core at this level. Moving away from the chaos of your daily operations, you have to measure your quantitative and qualitative data. You also need direct communication with managers whom have multiple touch points with different parts of organization at any given moment - they have pulse on whenever things are smooth or starts to get bumpy.

As a first time founder, you don’t have to make the same mistakes as your predecessors. Learn from serial entrepreneurs and their stories

  1. Trying to build training in-house

  1. Only training new managers

Having the mix of seniority and experience is how you make your manager training program culturally relevant to the organisation.

  1. Siloing manager training by department

“Training should reflect the realities within the org. If eng is never expected to collaborate with sales, ok. But in most startups, the overlap of departments is where things fall apart. Management training should bolster those relationships.”

  1. Snacks are good for pantry, less useful for leadership lessons.

Consider Minimum Viable Training? - the smallest, snackable option with the least intrusion on leaders’ day-to-day. You probably don’t want that.

You want to put time to expect the reasons behind the best practices. You want your leaders-to-be to try, figure out how to approach scenarios, and how to tell if it’s working.

Do you know why we have to do weekly 1-to-1s? Do you know why it has to be at least 30 mins? Do you know why the manager has to be the one to set agenda? Find out the reasons can help you navigate the nuances of the daily chaos

  1. CEOs want to join in the managerial training

Reconigse that however humble the gesture to learn together with the team, the presence of CEOs will alter the dynamics, quality of questions and level of honesty in the room. You want your managers-to-be to have their honest questions addressed, and learn to make sense of the best practices from their own lens.

  1. Don’t box your managers up with personality tests

Use personality tests, or strengths finder for what they are built for: self discovery. Help your managers to discover more about themselves but do not base your entire training program on these tests. The reality of your organisation goes beyond just the 16 letters you see in tests.

  1. Don’t role play. Awkward…

Instead of role playing, create a safe space where managers can feel safe to talk about the actual struggles they’re facing. Talk about the struggles in real terms, and seeing how different tools or perspectives clarify things is far more powerful and lasting.

Some general rules about creating safe spaces:

  • Establish credibility
  • Set up rules for the space
  • Share vulnerably first, and you can expect reciprocation.

“As an example, I often tell the story about the first time I had to fire someone and how I got so stressed out that I threw up in the parking lot afterward. I also made the mistake of talking about how hard I’d tried to make it work, purely to comfort myself instead of the person I was firing.”v

The topics your manager training have to include

  1. Goal setting

Do you set goals using OKRs or one page strategic plans? How do those goals flow from the company level down to the operations.

The goal of management is to make your team more effective.

The people who will screw you over in your organization typically don’t work in your department. It’s not because those people are assholes, but mostly because they don’t have the same frameworks in their head as you have in your head.

  1. Talent Management

This topic includes the day-to-day people management. Stuff such as 1:1s, giving hard feedback, holding career conversations. But something people tend to skip over during manager training is talking about how you set up a person to success and how to fire if needed. And how to do firing the right way.

Question: How often are you surprised?
This can be around projects underway, team conflicts, prioritization, timelines slipping, or a key member of team getting a competing job offer.

Consider the other side: how often are you as the boss, surprising your people? If you find yourself or your employees perpetually surprised, you should consider increasing the cadence or length of 1:1 meetings.

Feedback: given them direectly and specifically. Give feedback about behaviour instead of motivation. You as a trained manager have to know whether the feedback you are giving is useful or not.

  1. Organisation planning

In fast growing organisations, leaders have to be active participants in growing their teams.

  1. Leadership & culture development

Invest in your own resilience and self-awareness as a leader. It’s about understanding how you show up, and how that bleeds into the wider company culture. It can be useful to understand the concept of infinite game. You are playing to stay in the game as long as possible, and setting the culture to empower your team to move forward perpetually is important.

Gather your senior managements and junior managements together, you can help to keep the senior management close to the struggles on the ground, and the junior management to learn from your senior management through their struggles and safe space you have created.

Speed as a habit

Don’t f up the culture

Culture is simply a shared way of doing something with passion.
The thing that will endure for 100 years, the way it has for most 100 year companies, is the culture. The culture is what creates the foundation for all future innovation. If you break the culture, you break the machine that creates your products.

Holding your values in everything we do. Thats how you build culture. Stronger the culture, less corporate process a company needs. If the culture is strong, you can trust everyone to do the right thing - allowing people to be autonomous or even entrepreurial.

In organizations (or even in a society) where culture is weak, you need an abundance of heavy, precise rules and processes.

Problems come and go but culture is forever.