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.
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.
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 this blog, I will share my observations of “how a principal engineer looks 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, a successful principal engineer can constantly demonstrate following capabilities:
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.
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.
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.
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.
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:
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.
“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.
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:
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 Requests”(we call “Diff” at Facebook) every day. As a tech lead, I summarized some tips which help me accomplish this effectively.
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. …
Bugs are inevitable. Debugging bad errors is a huge waste of time. Better error messages make engineers moving faster. To get better errors, we need to fail harder.
The following rules are the best practice I summarized, ranking in the order of implementation difficult
Silent failure is terrible.
Product code should fail loudly in the UI, not console or logging. Infra code should fail loudly into its logs, not return NULL.
If we’re writing a library or service, the default should be to throw/spew and the user should have to go well out of his or her way to silence…