Skip to main content

How to work with Achiever, Activator, Adaptor, Analyzer, and Arranger

· 2 min read

To work with Achiever

  1. Work hard with them. They are annoyed by slackers.
  2. Invite them to meetings that you really need them and they can be fully engaged. Otherwise, leave them alone and let them get things done.
  3. They often sleep less and get up earlier. Ask them “how late did you work to get things done?” Also, “when did you come here this morning?” They appreciate attention like this.

To work with Activator

  1. Tell them that I know they can make things happen and I may ask them for help at critical times. It energizes them.
  2. Learn from their complaints and offer new initiatives that they can lead, and follow up immediately. If they are left unchecked, they can stir up quickly.
  3. Ask them what new goals or improvements our team needs to achieve and then help them make progress towards those goals.

To work with Adaptor

  1. Their flexible table makes them a valuable addition to almost every team.
  2. Their willingness to “go with the flow” makes them easy to collaborate.
  3. They are most productive on short-term and immediately actionable assignments. Long and drawn-out campaigns make them feel boring.

To work with Analyzer

  1. Take time to think with them when they are involved in making important decisions. They like to know all the key factors.
  2. Defend my idea with data. They believe numbers.
  3. They value accuracy over speed. Therefore, make sure they have the necessary time to do things right when the deadline is near.

To work with Arranger

  1. They are excited by complex assignments and thrive in cases when they have many things going on at the same time.
  2. They are good at positioning members in the project team because they know the strengths of people.
  3. They are resourceful so feel confident that if they find if something is not working, they can figure out other ways.

Time Management for System Administrators: Fundamental Principles

· 2 min read

Learning time management from system administrators (SAs) is an inspiring experience, as we all face the same challenges—endless interruptions, concurrent projects, and sudden demands.

Moreover, system administrators must deal with these issues even more frequently, as Thomas Limoncelli puts it:

For system administrators, your boss evaluates you based on whether you complete projects, while your clients only care about whether you can meet their demands on time.

Here are the time management rules for SAs.

  • Interruptions are the biggest enemy of productivity.

    • Establish a "disruption shield" shift mechanism with colleagues to ensure that only one person can be distracted at a time.
    • Set aside large blocks of dedicated time for projects.
    • Close the office door (of course, if you are a manager, don’t do this).
    • Have junior engineers sit outside your office to filter out 80% of the distractions.
  • Consolidate all time management information in one place.

  • Save mental energy for important tasks.

  • Don’t constantly think about how to manage time; instead, develop routines, habits, and mantras.

    • Routines are a series of predefined steps that occur within a specific timeframe.
    • Habits are actions that people can perform without thinking.
    • Mantras are simple rules of thumb.
  • Maintain focus during projects, but this requires good self-discipline.

    • Self-discipline enhances self-esteem. Self-esteem is like poker chips. When we have higher self-esteem, we tend to place higher bets to win bigger rewards.
  • Use the same tools to manage your social life.

System Admin Time Management: Stay Focus, Handle Interruptions

· 2 min read

Why is interruption the most significant enemy of productivity?

Total time used = time delayed + time wasted
Time wasted = resuming time for context switch + recovering from mistakes

What is the best friend of productivity?

Focus.

How to focus?

  1. An entry-level work we can do is to ==de-clutter our brain== by recording unrelated ideas at somewhere outside of the brain. Use our task tracker extensively.

  2. Be aware of our stress and sleep level. If we are tired or under much pressure, sleep well and multitask less.

  3. Creating an un-distracting environment.

    1. Clean up the desktop. “When in doubt, throw it out.”
    2. Close IMs, notifications, etc.
    3. Leverage the time when other people are not present. ==The first-hour rule== is that the first hour of the workday is usually the quietest hour in an office. Same for amusement park time management - show up early, you practically have the entire park to yourself.
  4. Deal with interruptions effectively.

    1. Make it transparent who is responsible for what. (Though most organizations do not.)
    2. Setup a multi-tier support system.
      1. self-resolve with documents or self-serving portal
      2. let the mutual shield take it
      3. delegate it
      4. record it
      5. do it (save your current work before switching to another task)

Having difficulty falling asleep?

Keep a pad of paper and a pen next to your bed. ==When something is keeping you awake, write it down and try falling asleep again==. Worry keeps us awake because we’re trying to remember to do something about what’s worrying us. Anger keeps us awake because we’re trying to remember to stay angry!

==Staying focus and not being rude==

  1. when new requests are coming in, always ==acknowledge== them first to make people feel responsive.
  2. when acknowledging a request, do it in a visually meaningful way. Make sure they see I am recording it and confirming it.

System Admin Time Management: Principles

· 2 min read

It is very inspiring to learn time management from system admins (SAs). We and SAs all share the same challenges - neverending interruptions, simultaneous projects and rush requests.

And SAs have to deal with those issues even more often, as Thomas Limoncelli says:

Management judges an SA by whether projects get done. Customers, however, judge you by whether you are available to them.

Here are SAs' principles of time management.

  • Interruption is the archenemy of productivity.

    • Sharing a mutual interruption shield with co-workers so that only one person is distracted in one period.
    • Blocking a large chunk of project time
    • Closing the door (not suitable for managers)
    • letting junior engineers sit outside to filter incoming 80% interruptions for you first
  • unify all time management information into one place.

  • ==conserve the brain power for things important==

  • don't make yourself think to manage time; instead, develop routines, habits, and mantras.

    • Routines are serials of pre-defined steps happen at a particular time.
    • Habits are routines people can do things without thinking.
    • Mantras are simple rules of thumb.
  • keep focus during the project time. It takes discipline though.

    • Discipline gains people more self-esteem. ==Self-esteem is like poker chips==. When we have high self-esteem, we tend to take bigger bets and win bigger.
  • manage your social life with same tools.

Designing a KV store with external storage

· 2 min read

Requirements

  1. Data size: Data size of values is too large to be held in memory, and we should leverage the external storage for them. However, we can still keep the data keys in memory.
  2. Single-host solution. No distributed design.
  3. Optimize for write.

Solution

  • In-memory hashmap index + index hint file + data files
  • Append-only for write optimization. Have only one active data file for write. And compact active data to the older data file(s) for read.

Components

  1. In-memory HashMap<Key, <FildId, ValueOffset, ValueSize, Timestamp>>

  2. Data file layout

|crc|timestamp|key_size|value_size|key|value|
...
  1. (index) hint file that the in-memory hashmap can recover from

Operations

Delete: get the location by the in-memory hashmap, if it exists, then go to the location on the disk to set the value to a magic number.

Get: get the location by the in-memory hashmap, and then go to the location on the disk for the value.

Put: append to the active data file and update the in-memory hash map.

Periodical compaction strategies

  • Copy latest entries: In-memory hashmap is always up-to-date. Stop and copy into new files. Time complexity is O(n) n is the number of valid entries.

    • Pros: Efficient for lots of entries out-dated or deleted.
    • Cons: Consume storage if little entries are out-dated. May double the space. (can be resolved by having a secondary node do the compression work with GET/POST periodically. E.g., Hadoop secondary namenode).
  • Scan and move: foreach entry, if it is up-to-date, move to the tail of the validated section. Time complexity is O(n) n is the number of all the entries.

    • Pros:
      • shrink the size
      • no extra storage space needed
    • Cons:
      • Complex and need to sync hashmap and storage with transactions. May hurt performance.

Following up questions

  • How to detect records that can be compacted?
    • Use timestamp.
  • What if one hashmap cannot fit into a single machine’s memory?
    • Consistent hashing, chord DHT, query time complexity is O(logn) with the finger table, instead of O(1) here with a hashmap.

Exactly What to Say: Keywords for Impacts

· 4 min read

These keywords and templates of sentences help you influence people.

  • I’m not sure it’s for you, but ...

    • recommend in a non-intrusive way
  • Open-minded

    • "Are you open-minded to do something?" this encourages people to do something.
    • or if you are criticizing something or someone but still want to show the empathy, you can say "I am helping someone be open-minded."
  • What do you know about

  • How would you feel if?

    • How are people motivated?
      • Avoid a loss
      • Aquire a potential gain
    • Emotion comes first than logic
    • People make decisions based on what feels right first. ==Interestingly, when we make decisions for ourselves, we should avoid harmful emotions. (By Ray Dalio)==
  • Just imagine

    • Creating pictures in the minds of others is done by telling stories.
  • When would be a good time?

    • One of the biggest reasons your ideas fail to get heard is that others tell you they just don’t have the time to consider them.
    • The preface prompts the other person to assume that there will be a good time and that no is not an option.
  • I’m guessing you haven’t got around to

    • By pushing for the negative scenario, you get people to rise to the positive or to tell you how they are going to fix the thing they said they were going to do.
  • Simple Swaps

    • Do you have any questions? => What questions do you have for me? When emphasizing “questions”, instead of “you” (the audience), then the audience will ask less questions.
  • As I see it, you have three options ... Of those three options, what’s going to be easier for you?

  • There are two types of people, ...

    • This may help people make final decisions.
  • I bet you’re a bit like me

    • It often results in the other person comfortably agreeing with you.
  • If … then …

    • people like to hear something with logic behind, no matter if it really makes sense…
  • Don’t worry

    • it’s particularly useful in high-stress scenarios, when confronted with someone who is panicked - it puts people at ease.
  • Most people

    • When you tell people what most people would do, their brains says, “I’m most people, so perhaps that is what I should do too.“
  • The Good News

    • “The good news is ….” causes people to face forward with optimism and zap any negative energy out of the conversation
    • by bring more positivity to situations with “the good news is …” and responding with, “that’s great,” you soon start shifting the balance in people’s thoughts.
  • What happens next

    • finishing a process with a question that is effortless to answer is the key to gaining a rapid response and a positive outcome.
      • the easier the question is to answer, the easier you gain your decision.
  • What makes you say that

    • success in negotiating is all about maintaining control in a conversation, and ==the person in control is always the person who is asking the questions.==
    • so when we get objections like
      • I haven’t got the time
      • It’s the wrong time
      • I want to shop around
      • I haven’t got the money right now
      • I need to speak to somebody else before I make a decision about this.
    • by treating every objection you face as nothing more than a question, you can quickly regain control of the conversation by asking a question in return.
  • before you make your mind up

    • fight for the last chance before you say “no”.

Ryan Holiday: How User Growth Begins with PMF (Product-Market Fit)

· One min read

Four Steps of Growth Hacking Marketing

  1. Capture and expand PMF (Product-Market Fit) during the product development phase.
  2. Identify and nurture seed users.
  3. Embed viral growth factors.
  4. Support with data, aiming for product optimization, and repeat the above steps.

How User Growth Begins with PMF

  1. ==Product-Market Fit== refers to the degree to which a product meets strong market demand.

  2. Start with the simplest viable product and improve based on user feedback.

  3. Use the data and information obtained to support the enhancement of PMF.

  4. Understand customer needs as early as possible.

    1. For example, Amazon employees provide internal newsletters to gather feedback before a project begins.
    2. For example, Werner Vogels suggests writing FAQs/key user experiences/user manuals for the product you are developing = concept + operation + reference.
  5. Find answers using the Socratic method.

    1. Who is this product for? Why would they use it? And why would I use it?
    2. What made you fall in love with this product? What prevents you from introducing the product to others? What is missing from this product? And what are its highlights?

From Good to Great

· One min read

Leading a company from good to great is equivalent to driving a massive flywheel to achieve ==breakthroughs==

  1. Disciplined and well-trained people
    1. Level 5 Leadership: Great leaders > Effective leaders > Competent managers > Contributing team members > Capable individuals
    2. First Who, Then What
  2. Disciplined and well-trained thoughts
    1. Confront the brutal facts
    2. Be a hedgehog first, then a fox
  3. Disciplined and well-trained actions
    1. A culture of discipline
    2. Technology accelerates the engine of growth

Good to great

· One min read

Leading a company to leap from good to great = pushing a giant flywheel to ==breakthrough== with

  1. Disciplined People
    1. Level 5 leadership: executive > effective leader > competent manager > contributing team member > highly capable individual
    2. First who then what
  2. Disciplined Thought
    1. Confront the brutal facts
    2. Be a fox after being a hedgehog
  3. Disciplined Action
    1. Culture of discipline
    2. Technology accelerators

Ryan Holiday: Finding your growth hack

· 2 min read
  1. Target a few hundred or a thousand key people, not millions.

    1. e.g., Dropbox began with a fun demo video in the initial launch. People can register but in a waiting list to use it. Use something ==new and exciting== to attract users.
    2. e.g., eBay in 2012 partnered with Gogo to provide free wifi access to ebay.com during flights. The brilliant part is that it can track the data to see whether it is beneficial and thus they can continue the partnership.
  2. Do not target all people - target the right people

    1. e.g., Uber offered free rides for Austin’s SXSW conference for several years, which attracts thousands of tech-obsessed, high-income young adults.

    2. Hacks

      • Pitch media websites to write about us.
      • Post in Hacker News, Quora, Reddit.
      • Write blogs.
      • Kickstarter.
      • www.helpareporter.com to connect to reporters.
      • Invite users for free or with some incentives.
    3. ==Stunts==

      • Create the aurora of exclusivity with “invite-only”
      • Create fake users to make it more actively than it is. (Reddit did this)
      • Catering to a single platform exclusively (PayPal and eBay)
      • Launching for users group by group (Facebook and colleges)
      • Bringing on influential people for their audience and fame
      • Sub-domain on the e-commerce site to donate (Amazon)
  3. Focusing on new user sign-ups (acquisition) instead of awareness.

  4. Growth Techniques = marketing + engineering

    1. e.g., Airbnb made tools to make cross-posts to Craigslist.
    2. Sean Ellis: “Focusing on customer acquisition over ‘awareness’ takes discipline… At a certain scale, awareness/brand building makes sense. However, for the first year or two it’s a total waste of money.”
    3. In-effective actions
      1. Big blowout launch
      2. Build it and they will come. (Aaron Swartz: users have to be pulled in.)