For Digital Marketers, no matter what niche your clients are in, they probably not the only player. Most likely, the market has already been occupied with a handful of big sharks already.

So before turning on any campaign, it’s critical to analyze competitor’s marketing strategies and understand what kind of offers customers are already exposed to.

In this article, I will show you how to hack your competitor’s online marketing funnel.

Marketing Funnel Example. Img from Sprout Social

Organic Traffic

Among the various forms of funnels in the market, the organic content funnel usually is the first touchpoint.

The best way to understand it is to opt-in.

#1 Watch Free Content

Most of…

Scalability means the capability of the system to process increased workload while maintaining the same latency.

For example, if your system takes X seconds to respond to a user’s request. It should take the same amount of time to respond to each of the million concurrent user requests.

Scalable Application(Img Source)

For a web application, there are 7common mistakes that can become a bottleneck and can hurt the scalability.

Poor Code Quality

Inefficient, unstructured code has the potential to slow down the entire service in production. Specifically:

  • Writing tightly coupled code(aka Spaghetti)
  • Using unnecessary loops or nested loops
  • Using inefficient, higher Big-O complexity algorithm

Choosing the Wrong DB Type

Picking the…

In my last story “Junior vs. Senior vs. Staff Engineer”, I uncovered the responsibilities for Junior-to-Staff level engineer. But they are not the complete picture of a SWE’s career ladder, and the top-notch tier is still missing, aka “Principal Engineer”. In companies like Facebook, Amazon, or Google, it maps to Level 7+ and its total compensation is around $800k a year.

In this blog, I will share my observations of “what does a principal engineer look like”.



In general, a principal engineer should be able to spot, drive and deliver an initiative with multi-team, organization-level impact.

To expand on that…

Bitcoin, Ethereum, Dogecoin, Shibacoin…

You probably heard of all these crazy “coins” and news about their huge market value rise & falls. You may want to stay away from investing in these cryptos, but as a professionals work on tech, it’s not a bad idea to understand a little bit more, such as the mainstream blockchain technology and the process of creating one.

In this article, I will walk you through a simple 3steps of creating your own coin without writing any code.


The idea of creating a coin is simple: deploy your “contract code” on a blockchain.

Here the…

The React team recently introduced a major new feature “React Server Component”. It opens a new world for front-end engineers to build a performant app while writing less code.

Img from

What the Problems?

Nowadays, numerous react apps provide rich experiences. But, these client-rendered apps still need to fetch & parse data from the server.

The data downloading roundtrip creates the performance bottleneck for apps and requires engineers to write more code.

For the static web page, which has no interaction, it’s a waste of resources to download JS source files and data from React component framework.

What if we have a React component supporting…

For any engineer working at a big corporate, building new features is only a part of the job. Another main part is making contributions to “Engineering Excellence(EE)”. EE also called “Better Engineering”, contains

All the efforts that improve the quality & efficiency of the product.

This responsibility is even higher priority if engineers work at an Infra team. In this note, I will share my experience of how we recognize the impact of “Engineering Excellence” in my daily operations.

Img from CodeGrip

Test Coverage

Writing more tests is an obvious way to ensure the quality of code. …

Career progression is an evergreen topic for software engineers because it directly impacts income. In this note, I am going to share my personal perspective on the differences between Junior(E3–4), Senior(E5), and Staff(E6) engineers.

Junior Engineer

At this level, engineers focus mostly on demonstrating the coding capability and get familiar with engineering practices.

On the technical side, this level’s engineer should be able to:

  • Understand codebase and drive assigned request to improve it, such as migrating it to modern frameworks and adding missing tests
  • Design well-organized code
  • Independently complete medium to large features

On the “People Skill” side, there are not many…

After being promoted to a staff engineer or an equivalent level, most of the engineers will face a challenge: continue to grow as a senior engineer(TL) or transition to be an engineering manager(EM). In this article, I am going to share my observations at FaceBook.

Disclaimer: I am not holding any engineering manager position at FB. But, I have a couple of mentors who are managers now. And one mentor even transitions back to a TL, after working as a manager for a year.

Img from bwcumc

Different Skill Sets

“There’s only 10% skill overlap between a manager and an engineer”.

An EM’s job is equivalent…

At Facebook, engineers are encouraged to take the initiative of writing project proposals. It’s one of the demonstrations that engineers have a strong voice during the roadmapping process.

The approaches to writing a good proposal varies.

In this article, to demonstrate how I propose a new project, I will share a template that we typically follow.

Img from

What’s the Problem?

This is the title of the 1st section. No matter we are working on a new user feature, API migration, or infra optimization, we always start with the Problem: “what’s wrong with our product/service”?

Specifically, to finish a certain task:

  1. What is the ideal…

No code change can be merged into the trunk without peer’s review & approval. This process is strictly enforced at Facebook from day-1.

Over the past 6 years, I review around 5–10 “Pull/Merge Requests”(we call “Diff” at Facebook) every day. As a tech lead, I summarized some tips which help me accomplish this effectively.

Img from

Request Changes Aggressively

Decisive action

Comment without rejection or approval often confuses the diff author. Reviewers need to be decisive, in most cases:

“Don’t comment, Reject”.

We should bias towards action to unblock your colleagues. …

Bobi Pu

TechLead @FaceBook |

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store