Back to posts

How to Be a Different and Successful Engineer

Last week, I attended a conference and benefited greatly from it. Here are some important lessons I learned from the speech of a high-level engineer who is about to leave Alibaba Group. He has not only made significant achievements in the technical field but also had a profound impact on the company. His sharing gave me a deeper understanding of how to learn better, cooperate with colleagues, and promote product success.


1. Better master things, understand more

To truly master a piece of knowledge or a skill, you usually need to go through the following four stages: remember it, understand it, express it, and use it.

Memory

  • Types of Memory: Memory is divided into short-term memory and long-term memory. Image memory is one of the most effective ways to remember.
  • Methods:
    • Deepen memory through physical means (such as handwritten notes).
    • Repetition is the key to consolidating memory.

Understand

  • Abstraction and Connection: Computer science is an abstraction of real life. To better understand concepts, try to connect them with real life. For example, explain complex concepts with simple examples.
  • Broad Learning: Learn as much as you can about related fields to broaden your horizons.

Express

  • Test Your Mastery: If you can clearly express a concept with simple and easy-to-understand examples, it means you have mastered it.
  • Clear Communication: Ensure your expression can be easily understood by others.

Use

  • In-depth Practice: The ultimate goal is to apply the learned knowledge to practical problems, using it simply but profoundly.
  • Avoid Relying on External Tools: Google is not a panacea. Only by internalizing knowledge in your own mind can you retrieve and use it quickly and flexibly.
  • Structure Knowledge: Organize knowledge into an indexable and orderly form for easy retrieval at any time.

The greatest happiness comes from the greatest pain.
Profound learning is often accompanied by challenges, but it is these challenges that make us grow.


2. Best coding skills, become an expert

Becoming an excellent programmer is not just about writing code; it requires effort in many aspects. Here are the key points:

Core Principles

  • Think more, think often: Constantly reflect on and optimize your way of thinking.
  • Pursue Excellence: Always maintain high standards and strive to make the product better.
  • Love Programming: Cultivate a passion for programming and spend more time on coding practice.

Way of Thinking

  • Interdisciplinary Thinking: Connect programming problems with other fields such as philosophy and psychology. For example:
    • If you want to remember Object methods, you can think of philosophical questions like “Who am I? Where do I come from? Where am I going?”
  • Continuous Improvement: Never be satisfied with the status quo, but constantly break through yourself.

Practical Advice

Following these three points can help you improve your coding skills:

  1. Read excellent code resources: Learn from the design ideas in open-source projects or classic codebases.
  2. Communicate with excellent people: Learn from the top talents in the industry and absorb their experience and wisdom.
  3. Maintain a mindset of excellence: Always pay attention to details and adhere to high-quality work standards.

3. Best communication skills

Avoid the XY Problem

What is the XY Problem?

Suppose someone asks you: “How do I get to the train station?”
You might answer: “First go to Train Station No. 1, transfer at XX station, and then take a bus to your destination.”
But in reality, what this person really wants is to buy a train ticket, because he comes from a rural area and thinks he must go to the train station in person to buy a ticket. This is a typical XY problem:

  • Problem X: The user’s real need (to buy a ticket).
  • Problem Y: The superficial question the user asks (how to get to the train station).

Solution

  • When communicating with colleagues or users, first clarify the essence of the problem instead of directly solving the superficial issue.
  • Ask about the other person’s true intention and confirm which scope the problem belongs to:
    • User problem scope?
    • Product scope?
    • Technical scope?
    • Business scope?

The core of communication is to find the root of the problem, not to dwell on the surface.


4. Make Your Product Successful

Define the Problem Scope

As mentioned in Part 3, you first need to clarify the scope of the problem:

  • Is it a user problem?
  • Is it a product feature problem?
  • Is it a technical implementation problem?
  • Or is it a business logic problem?

Elements of Product Success

  1. Focus on a single problem: A product can only solve one problem, and it must directly address a human need.
    • Fear: The core driving force of security products.
    • Happiness: The pleasant experience brought by social products.
    • Vanity: Such as luxury goods or show-off products.
  2. Find supporters: Find a strong sponsor or supporter for your product; this is a prerequisite for starting a project.
  3. Craftsmanship: Treat the product as your own label and handle every detail with an attitude of excellence.
  4. Go beyond KPIs: Don’t just see the product as a tool to complete a task, but give it life and value.

Your product is your business card; patience and focus are the cornerstones of success.


Conclusion

This conference made me realize that whether it’s learning new knowledge, improving coding skills, enhancing communication techniques, or building a successful product, it all requires systematic thinking and continuous effort. I hope the content above can provide some inspiration and help everyone make greater progress in their respective fields.

References