· Reply “IT” in the public account and send you an imagination chart

Tuesday, August 1, 2017 at 8:30 p.m.

Formerly senior R&D Manager at Amazon, Senior Architect at Alibaba, r&d Manager at Reuters Financial Data Center.

With 19 years of software development experience and 10 years of team management experience, MegaEase founder Hao Chen brought the talk with the theme “Do the right thing, Wait to be fired”.

The following is a transcript compiled by hubby, a volunteer, of the best moments between the author and the reader.

Q1: When you went to Amazon, did you expect to gain “a broader perspective and a more powerful way of thinking”, or did you find it later? In the absence of a way to confirm which option is better, what are your considerations in making a choice?

A1: IT took me a few months to move from Reuters to Amazon because of the downsizing, but I decided to go anyway. There are three main reasons for this decision:

  1. Amazon, a company that sells books, made the world’s first recommendation algorithm and the world’s first cloud platform, which made me think this company is amazing, and you can hardly find this company’s share on the Internet, so I was very curious, and I thought, it should be a technology company.

  2. When I left ICBC in 2000, I wanted to work for an Internet company, but I met the Internet bubble. After 10 years all Internet companies all over again, I think I can’t miss it.

  3. Before I joined Amazon, I asked my American boss if he was using Chinese employees as outsourcing. The boss said no, he said Amazon came to China because it valued the Chinese market, not for outsourcing. Moreover, they also said that the project we are going to do is an innovative project, which is very risky, and if we fail to do it well, we will cut it. Based on these three points, I decided to come to Amazon.

To summarize the basis for my decision:

  1. Is this experience what I want? For example, the technical content, the most exciting, the most cutting-edge, the most challenging, can open up more possibilities for me?

  2. Also, I can’t guarantee that I made the right choice, but IT’s ok to choose the wrong company because there are so many companies in the world to go to. If you make the wrong choice, you can change it.

Q2: If an employee fails to meet the standard twice in a row and is fired, does that mean that he or she will not be able to join the company again? Will former employees be treated differently?

A2: Yes and no. Here’s a real case.

An employee at a major Chinese factory, equivalent to Alibaba’s P6, was dismissed because of poor performance. After that, I studied hard at home for a year. I didn’t go anywhere, but I kept working on technology.

He then interviewed with Microsoft, rose two levels there, and was hired back four years later, though he didn’t return.

If he had gone back, he would have been ali’s director by then. Some domestic companies will treat this kind of employees with criminal records differently, which I personally feel is not good.

Q3: Some companies will set up their own elimination mechanism, forcing managers and employees to think about the bottom 10%, which is also a kind of whipping. In small and medium-sized companies, when is the best or relatively best time to terminate a labor relationship?

A3: I am not sure whether the problem is that small and medium-sized companies want to terminate their employees’ labor relationship or employees in small and medium-sized companies want to terminate their labor relationship with the company. Who is the main body?

  • If the subject is a company, I personally feel that any company has the right to terminate the labor relationship as long as one month’s notice is given. This is required by labor law, but requires N+1 compensation.

  • If the subject is an individual, I personally think 3-4 years in a company is about right, no matter the company is big or small, unless you have a very strong identification with the company and the boss. Why three or four years? Because in three or four years, you can basically learn everything about the company. Personally, I think you should experience different companies in your life, because then you can have comparison, and only by comparison can you know what is good and what is not good. I think having comparison and having more different experiences will be a better life experience.

Q4: “good birds choose wood and perch, find the leader or company that suits them”, how to practice this sentence? Many people don’t get a real sense of who they are and who they work with until they finally get the job. It is difficult to have a clear subjective impression before an interview. Do you have any questions about this? What’s the best move?

A4: First, you have to know your taste. Each of us needs to recognize our strengths, interests and some of our own characteristics. For example, are you an overachiever, or do you want to do well in technology or code? Which is the type, you have to have a positioning. If it’s the former, the overtime veteran, you might go to a startup or a company that needs that kind of hard work, and there are a lot of companies that need that kind of person; If it is the latter, want to do a good job of technology, it has to go to a technology-based company, or a company with high requirements for technology.

In addition, we should also know whether we are suitable for product software or technical software. Is it the business layer or the bottom layer? Is it more suitable for lyrical products or commercial products? Different companies have different DNA. Finding companies and teams with similar DNA will help.

In an interview, I think you can ask more or less, it depends on how you ask the question. Interviewers give candidates some time to ask questions about the company.

For example, I like to ask interviewers, what do you think is the happiest thing about your work in this company, and what is the most difficult thing for you? I want to hear your personal story.

I also ask: How many of your first-line technical managers are currently writing code? When I was interviewing for a big foreign company two years ago, I asked all the interviewers these two questions, and they gave me all kinds of answers. Then I learned that there were a large number of line managers or technical leads who didn’t write code.

I asked them why they didn’t write code? You don’t write code. What do you care? He said take care of people. I asked, so you recruit so good, these people still need you to manage? After further questioning, I realized that they actually had KPI.

You know, they do a little feature, they go live for three months, they kill it if it doesn’t work, and then there’s all these issues of cross-team collaboration, so managers are busy with that. I’ve been around, but I don’t think this company is right for me.

But then again, it’s hard to find a company that’s completely problem-free and a perfect fit for you. Therefore, you need to focus more on what you gain than what you lose (i.e., learn to grasp the main conflict).

Q5: How do you understand this sentence? “If you are a technology company, you trust technology more than management. Trust technology to solve problems with technology. Trust management, there will only be systems, processes and values to solve problems.” I’m not separating technology from management here, I’m just more inclined to use technology to solve problems.) Do you want to build a “high use technology system” or a “high use management system”?

A5: I’m sure you read this sentence in the article AWSS3 Malfunction Review and Reflections. If you believe in technology, you will use it to compensate for people’s shortcomings, or to replace people.

So you build all kinds of automated tools and even design a highly usable system cluster. But after the failure of many companies, it is not a distrust of technology, it is a distrust of people. So it manages it in a variety of ways.

For example, some authority systems, approval systems, punishment systems… . In fact, we all know that with or without these things, people are still going to make mistakes, which is why people are not as good as technology.

Q6: Generally, companies have several core departments, and it is not easy to achieve results in non-core departments or positions. Can I choose this department when looking for a job? What are the advantages and disadvantages of choosing such a department?

A6: Of course you have to sharpen your head to the core department, because the core department is more valuable. To share two of my stories, I didn’t start out in the core department.

The first story is, when I started out, I worked on some peripheral stuff for a company, but the peripheral stuff was very simple, so I had time to read some books.

For example, I’m reading a book called TCP/IP In Detail. Once, the company’s software was having some problems communicating on the network. After the user paid the fee to call a third party system, the result is that the user’s money is deducted, but the connection with the third party system has a very high probability of network problems, resulting in inconsistent transactions.

So, the most powerful people in the company to the user side looked for a week did not find the reason, then a person said, I see Chen Hao in the “TCP/IP details” book, or let him try?

To be honest, I was new to the book and inexperienced and nervous when I was called in, but I remember all the TCP state machines.

When the problem reappears, I use netstat to check whether the connection status is CLOSE_WAIT, which means that the other party is disconnected, indicating that there is a problem with the other party’s system.

Then I went to the other side of the system to look at the code for them, and it turned out that they had written the if statement wrong. The if statement was an AND, but instead he wrote an OR, AND then the condition is satisfied, AND then the connection is disconnected.

Because the conditions of OR are broader. It took me two hours to do it, and the company was so impressed that they made me part of the core team.

The second story, I went to a medium-sized company to do business with Powerbuilder. On my first day on the job, they told me there was an Intranet forum where you could ask any technical questions.

Then I saw that there were more than 20 unsolved problems in the C++ section. I spent the afternoon answering all these unsolved problems, and I also gave out a lot of code.

When coming off work to a person asked who is Chen Hao, I said I was, he said to clean up, moved to the core project team, I transferred in the past. There’s nothing wrong with answering these questions, except that the year was 2001.

I just read a lot of documents, many of which are in the English community. Below Windows is MSDN. I just read MSDN and googled it and pretty much solved the problem, which was fine.

To put it bluntly, am I awesome? I am not good at all, I just learn some basic knowledge, basic principles, so that when solving problems, it is easy to find the cause of the problem. In addition, for things that do not understand, know where to look for knowledge. That’s all.

Finally, I would like to say that, in fact, everything has challenges. Do not assume that doing business does not have challenges. In fact, I think that doing business and solving some technical points of business problems are more challenging.

For example, the business needs distributed consistency, the business needs sub-database and sub-table, the business needs module analysis and design……

Q7: Do you have any advice on career planning? What materials are available to study?

A7: Life planning, the first is to improve their competitiveness. When you are competitive, you have more possibilities and choices, and when you have choices, you can talk about personal planning.

There’s no point in talking about personal planning if you don’t have options, if you don’t have possibilities. So how to improve their competitiveness? I have a piece of advice for you: Learn the basics.

There are a lot of things down to the basics that are basically the same. For example, when it comes to operating system calls, no matter Java virtual machine, Python interpreter or Node.js, they can’t get rid of the operating system calls.

The same is true of some programmatic network communication techniques that extend to TCP/IP and even deeper network principles. So there’s a lot of stuff to learn.

If you learn some superficial skills, you will feel a lot of technology, but if you learn some essence, you will feel only so much.

As for learning materials, IN fact, I have recommended a lot of books in my blog, some may be a little outdated, but many are some of the more classic basic books.

Such as “algorithm”, “Computer principles”, “Unix advanced environment programming” and so on, as well as “TCP/IP details”, “C language programming” such books……

Q8: What is leadership? How does leadership practice? How to use OKR correctly?

A8: About leadership, I talked about it in my article on the Road to Technical Development. In terms of how to achieve leadership, following on from the previous topic, one is to focus on the basics, and the other is that you need to find your own channels of information.

If your current channel of information is wechat Moments, Weibo, Zhihu or Toutiao, you are screwed. I’m not saying there’s nothing valuable in it. I’m saying there’s very little valuable in it. 99% of it is junk, 1% of it is valuable.

But in order to find the 1% of valuable information, you have to read the 99%, which is a waste of time.

Also, if you use Baidu or Chinese search, or find what you want in the Chinese community, you are way behind The Times.

If you can find what you want in English, you can keep up with The Times.

If you have no choice but to go to Github or the open source community, or look at the code to find the answer you’re looking for, or even ask the author to find your answer, then you’re pretty much ahead of The Times.

Therefore, first of all, leadership means that the ability to acquire valuable information has surpassed the vast majority of people. Only when you have such practical ability first, can you have some leadership in the future. Therefore, English is very, very important, and so is climbing the wall.

There are so many very valuable videos on Youtube that I don’t know how many people in this group are going to watch them.

Q9: For many people who are not good at leadership, how to achieve their real performance and how to cope with rapid changes?

A9: I think everyone has their own leadership. If you don’t feel like you have leadership skills in your current organization, you can try dimension reduction.

Let’s say I’m mediocre in the programmer community, but if I’m in the non-programmer community, I’m a leader.

Now the society is diverse, but also divided into many levels, I believe that everyone can find their strengths, find their strengths in a certain location or a certain place is valuable.

Q10: How to effectively combine individual goals with team goals?

A10: That’s usually something to talk to your supervisor about. Personally, I think there’s no question that any team needs to be more productive or efficient.

That is to say, as long as you do things to improve productivity, I think the company and the team should not be opposed, that is, no matter what we do, we will go on this road, which is to improve human efficiency, reduce costs and produce benefits.

In addition, in my experience, the reality is that the company’s goals and personal goals cannot be matched 100%, 60% of them are good. Sometimes, I feel that this is like the exchange of interests between the company and employees, which may be the essence of the society.

So, have a good exchange mentality. The old people said, “If you want to get it, you have to get it.” Exchange – this may be the essence of the most effective combination of people with different interests.

Of course, there are a lot of cases, for some specific things, we can talk privately, you can give me some more specific cases. For example, if you don’t think there’s a match, I can go over it for you, Case by Case.

Q11: Everyone wants to get better and better, as well as their performance and salary. However, the resources of small companies are limited, especially when the organizational performance is average. Faced with such a situation, as a departmental-level middle-level leader, how to deal with the relationship between organizational interests and personal interests? In particular, what about satisfying the relationship between the boss and the employee, where both sides are close?

A11: Team performance is quantifiable. After the team is established, the team must have its purpose. To set up a team or to set up a department, it must have certain business or problems to be solved by it, which should be no problem.

On the first question, I personally think that small companies have more difficulties because of their limited resources. As the leadership or the boss should brainstorm, don’t light you see, all the questions should let everybody together, can let the people understand the above some difficulties, hope to get you some support: on the one hand is the emotional support, on the other hand also hope that everyone’s interests and goals in a block.

For a small company, it cannot be that the boss has the boss’s goals, and the employees have the employees’ goals. The employees want to develop themselves, and the boss wants to do the company’s business well.

It’s hard if the two sides don’t have the same goal. So the goal of unifying the whole company, that’s really what OKR is talking about. Keep everyone on the same page, so you don’t have to coordinate.

How do we get everyone’s goals aligned? In fact, the employees and the boss in a small company are just like falling in love. They must have something in common. Big companies have redundant resources that allow some employees to go after what they want.

In a small company, just like a husband and wife, we must have common language in order to stay together, so how to find common language in the process of recruitment or staff management is also very important. You know what Culture Fit means?

Q12: Is it better for the performance assessment of small companies to have explicit quantitative assessment or to have a meeting with individual performance stakeholders for assessment? What do you think of this problem?

A12: Whether it’s a small company or a large company, the reviews I’ve experienced are all-hands on, that is, the managers get together in a meeting, which is relatively fair. However, certain market and business factors will also be taken into consideration.

Domestic companies may not consider these things. I think about that when I’m at Amazon and Reuters, and all of their divisions come together to look at it and make an objective assessment of what’s going on in the economy, what’s going on in the industry.

I also mentioned in the article that Amazon has three dimensions to measure an employee. Beyond performance, there is leadership and potential. The so-called leadership is his competitiveness.

Maybe the performance is not good, but this guy has potential is ok. Think of it in three dimensions.

Q13: I have worked for three years and have accumulated some experience in product design, RESEARCH and development, as well as operation and maintenance, but I always feel a little short of breath. Do you have any suggestions on such career status, or can you tell me the development history of your personal career for reference?

A13: Let me try to understand the problem first. Short of breath? You may think you can do all of these things, but you don’t think you can. Or one of their own bottlenecks; I might think I can do it, but inside I might think there’s a better, prettier solution.

Personally, I think you need to broaden your horizons. On the one hand, reach out to some more experienced people, ask them how they do it, come back and make some adjustments; Or switch to a better company, because some companies are not open source, you don’t know how it works until you go in.

For example, I used to work at a company where the process was heavy and I was playing with CMMi, and I thought in my heart these things weren’t good, but I didn’t know what was better. You don’t know what’s good until you’ve seen it.

For example, teams with dedicated testing can often blame others when something goes wrong. But I really don’t know if there’s a better way.

Later, when I changed my job to Amazon, I found that there was no testing and no operation and maintenance. Developers did all the work. Although they were very tired, many of the previous problems were eliminated. But the requirements for recruitment are also relatively high.

In short, the emergence of such a problem, on the one hand is a vision of the problem, on the other hand is a way of thinking. This is a sign that you need to broaden your horizons or think differently.

Q14: From the perspective of industry and team, how to measure whether a startup is reliable or not?

A14: You can imagine that startups are like anti-government forces or anti-government groups. We can imagine that in the Qing Dynasty, there were a lot of peasant rebels, revolutionary parties, anti-Qing and Anti-Ming groups, supporting qing and destroying the Foreign countries, and so on.

There’s one thing that I think is the key. For these organizations, the key to their success depends on whether they have a program.

If an organization has a platform, it’s a terrible organization. For example, sun Yat-sen’s Alliance had a program. The Qing government said that tongmeng Hui were not ordinary petty thieves, because they had a program.

Think of it as a startup. First, startups need a sense of mission. What is its mission?

If you look at companies like Douban and Ali, the mission of the company has not changed since the establishment of the company. This is very important, and I understand this as the program of the company.

If the company has a program, I think you should give it a try. The other is to look at the team inside him, whether they believe in the program, or whether they are just in it for the good. Benefits are not permanent, dreams are permanent.

But you might say that you can’t make money working with these companies that have feelings, that’s confusing two things, making money is another thing.

But I think you’re starting your own business, and starting your own business is a very frustrating thing. So you hang out with people who have dreams, people who have agendas.

Even if you fail, you won’t regret it. I think if you want to start a business, you have to find the feeling that you don’t regret even if you fail, and I think you can do it. Because starting a business is a near death experience.

Q15: From the front end, I managed a front end team of 12 people before, but now I am working for a startup company. How do you manage a research and development team with 1 front end, 2 PHP, 2 IOS and 2 Android in terms of personal technology and team management?

A15: Management is pretty simple. There are three main points:

The first point is called Lead By Examples. Good managers are not taught, they are taught. Lead by your example, not by your words.

The second point is to trust him, if you understand, come together, if not, then trust others, people do not doubt, doubt people do not use the same truth.

Third, you need to give the team a purpose. Because I see you have a front end, two PHP, and two IOS and Android. Because if the division of skills is too detailed, they may not care about the other team.

I personally don’t think skill-based division is a good thing (see Let’s talk about division). Sometimes I think it would be a good thing if they could cross over. Because when you cross, you feel supported by your teammates.

If people help each other in this way, it’s like a defender can go to the forwards to assist, and the forwards sometimes have to come back to defend. I think your team atmosphere would be better if people could cross over.

Q16: What’s the difference between the working atmosphere in a foreign company and that in a big domestic company? How to hold responsible for failure of responsible business?

A16: The advantages of working in a foreign company. First, don’t work overtime. Second, your working language is English, so your English will grow faster. Third, there is a very standardized process in foreign companies, and it is also a relatively scientific methodology.

Working in a foreign company, you can feel that they are using method rather than brute force. There are downsides to working in a foreign company.

Because a lot of foreign companies come to China just to use China’s cheap labor or use Chinese people as outsourcing, which is a very bad thing.

There are also a lot of Chinese employees who work in foreign companies, which I personally feel is a bit over-pretentious. They rely on their English to talk and talk, or work and talk.

Not work and work, not talk the work. A little overstaffed, which is also quite serious in foreign companies, quite bad.

But I think there is an opportunity to go to a foreign company to have a look, or that sentence, you only have a comparison, you know what is good, what is not good.

In addition, the big foreign companies are actually very similar to the big domestic companies. Is a failure or some mistakes after is also each other, find excuses for each other, public said public reason, po-po-po-po, who is the reason for this is sufficient, so in fact, the office politics inside the foreign enterprise is also a lot of.

For failure, foreign companies are not more accountable to people, because the accountability of people will only make people more and more afraid to do, and there is not much help for improvement.

The accountability of foreign companies is more about management and technical responsibilities, that is, through accountability failures, to achieve a more scientific way of doing things, to achieve better technical capabilities, rather than punishing people.

Q17: The domestic Internet industry is generally product-led and technology-coordinated. How do you view this situation? Any suggestions for business oriented engineer development?

A17: I personally think there are three types of companies in the world, those that are operationally driven, those that are product-driven, and those that are technology-driven.

To be honest, operations-driven is all about sales, making a lot of money, loving marketing, but not very secure. Product-driven, with a focus on user experience, is easier than technology.

Technology-driven is the hardest, because technology runs deep. So I think at this stage in China, it may be operation and product driven.

Because the domestic education system includes some basic education, in fact, can not keep up with, and the domestic situation is savage growth, not intensive cultivation, so it is difficult to emerge such technology-oriented companies.

For the development of business-oriented engineers, I personally think it is advisable to cross boundaries. Because technology itself is a tool, I don’t mean tools are bad, because the history of human development is through tools, people are more powerful than animals because people can use tools, this nation is more powerful than that nation, but also because the tools of this nation will be much more powerful than that nation’s tools.

So what kind of problems can we solve with these tools? In other words, we can liberate productivity. To put it mildly, liberating productivity and improving efficiency. Putting people out of work, to put it bluntly, automating things that some people do. In fact, automation can also solve many business problems and improve user experience.

Crossing boundaries to understand the business is not about becoming an expert on the business. The stone of other mountains can attack jade, this is called one specialty, many talents. Just like the kind of person who is good at physics must be good at math.

So you know more about the periphery, and some things in the business, in fact, your professional skills are very good to improve. You’ll have a better grasp of the point, you’ll have a better understanding of what these technologies are for.

So there’s not going to be this crossover that you’re talking about that’s going to be mediocre, it’s not. Getting to know something about the outside is actually very, very helpful to your profession.

There’s nothing wrong with learning more about the business. I used to do purely technical stuff. Ten years of this, and I’m tired of it.

Because I feel like I’m solving the computer problem, I’m not solving the human problem. Therefore, IN the later stage, I transferred to some businesses, including Amazon, some e-commerce, and some warehouse management and supply chain, including Ali and I now start my own business, and I know a lot of businesses.

I find these domestic businesses interesting, because I think solving human problems is more interesting than solving technology problems.

Q18: How can a 7-year Phper break through himself when he is 30 years old?

A18: Learn C first, and then Java. Give up PHP for now, even though PHP is the best language. Forgive me for being extreme here, but PHP is not the best language.

If C is hard to learn, I recommend Java. I chose these two languages because C is the classic and Java is by far, I think, the most industry-standard language.

If you can break out of your programming language, I’m sure you’ll never have this problem again.

Q19: The company’s performance evaluation is based on the results of relevant product activities (such as the number of users and profits). As a technology, we have done a lot of activity-related development, but the results are not good, so the performance is always low. Is there any way to do this as a technology?

A19: The question seems to be that the performance of the company is the result of the product activities, but as a technology, we don’t have much control over it, which is to say that we leave our fate in the hands of others, the products and operations. They did a bad job, and we did a bad job.

How does this work for technology? I think although we do need to support these operations or products, but remember, do not be led by their nose. What do you mean?

That is, I must be a technical personnel with technical competitiveness, or I must have the accumulation of technology.

Maybe today with this group of people did not do a good job, did not play the advantage of technology, but this does not mean that I broke the pot broken.

You don’t want performance, you want growth. I still have to work on some of my good technical stuff.

In addition, do not want to leave their fate to others, to control their own destiny, then to challenge the product. Amazon’s methodology to challenge its products and operations is T-shirt Size Estimation. It’s the size of the T-shirt.

You can make this thing, but the product and the operation have to show evidence of the size of the thing you want to make.

For example, XXL can bring one million RMB or one million user benefits, XL is 500,000, L is 250,000, so cut down, and then these requirements will be given to the technical team, the technical team here will also do an evaluation.

XXL is six months, XL is three months, L is one month, M is two weeks, S is one week. So it’s a pair on both sides.

If the business influence is high and the technology implementation is light, it is small and beautiful, it is the highest priority; If it is the other way around, the technology side needs to spend a lot of effort, and the business influence is not particularly high, then firmly cut it; If both are medium, it’s free play; If both of them are XXL, can we lower one dimension on the demand side?

For example, to reduce XXL to XL, I can reduce several grades, and it can be realized in two or three weeks, which may be a better way.

Of course, the operation and product can be careless, but my technology, not up to, I must use the results to hit their face, let him see how unreliable he blew the cow force is. In this way, they may be more rigorous in the future.

Q20: In KPI assessment, different assessment environments are applied to the same position, resulting in unfair assessment results. What is your opinion on the different assessment results caused by non-employee reasons and any suggestions for employees?

A20: I think there will be some special cases in KPI assessment. This special case can be argued and fought for with the company, and even the management can bring these special cases out for in-depth discussion.

For example, the unfairness is caused by the different assessment environment. I don’t really know the details, but what I do know is that during the assessment process, managers will have a meeting.

In the process of meeting, we can argue about some special cases. I don’t know if you have ever argued about them. Is the argument sufficient? And as the supervisor of the employee, I should take the initiative to fight for some rights and interests of the employee.

If it is a result of the final debate, in the executive meeting or the appraisal meeting, it is the whole management that needs to form a response to the employees.

I think the management of this company should be able to give an official answer to the employees, rather than leaving the managers to think about it themselves.

Because the managers’ meeting is also a process in which the directors learn and grow from each other, generally good companies do this kind of performance appraisal together. I don’t know if this is the case in your company. If not, I suggest you give it a try.

Q21: as an engineer, a lot of the time I know how about the “right way” is, but I’m also an entrepreneur, weigh the cost and efficiency, it is difficult to use a engineer idealized way to manage the development and progress, in the long run is right, but the company may not survive that way. I have been troubled by this contradiction recently. If standing in the boss’s point of view, how to balance this contradiction?

A21: That’s a good question. Because I am also an entrepreneur now, sometimes I need to be fast, but fast will be in debt. Am I following the ideal path or am I following the realistic path? I will tell you that I am firmly committed to the path of the ideal.

I have two reasons. The first reason is that I must do things in the right way. Because I am not sure whether I can succeed or not, success may have some luck in it, but if I don’t do things right, if I fail in the future, THEN I really have nothing.

But if I do things the right way, even if I fail, my process is still there. The process means that if I set sail again next time, I will have accumulated, so I am sure to do things in the right way.

But then again, a company has different priorities at different stages. If you’re in the business stage, you might have to make some compromises, get into some debt, or the company dies. So what I want the founder to do is do a calculation, is the amount of debt I owe and the amount of money I make match up.

If not, in fact, it is accelerating the death of their company. We don’t often hear that the more you do, the faster you die. That’s it. Drink poison to quench thirst most resolutely cannot do.

In addition, starting a business is hard work, so we all have to ask ourselves: what is my purpose in doing this, to make money? Making money is fine, but what we want is long-term sustainable money, not unsustainable money.

Sustainable money must be made by doing things the right way. Because it gives you a lot of spin-offs. My main business may have failed, but my spin-off is still making money, which is what I’m doing right now.

I have two spin-offs, neither of which is actually my main business, but both of which are selling for money, although there aren’t many of them, just one or two.

I’ll give you a few more examples. One example is Docker, formerly Dotcloud, which was almost dead, so it opened source Docker, and Dotcloud died. But because Docker was made in the right way, it became the most popular company Docker Inc.

Another example is 37signals, which developed an MVC framework for Ruby to make a project management software. Basecamp was a flop, while Ruby on Rails was a flop, charging Millions of dollars a year to maintain Rails.

Photo-sharing software Flicr was a game company that started a photo-sharing site to share pictures of games, and it went viral.

Q22: Every time there is a Deadline and I feel unsure, I feel sad. What should I do?

A22: Actually, I have had some friends who felt unsure about the Deadline and thought they were beyond their capabilities, or gave too little time or resources. What am I supposed to do with this thing?

I will ignore Deadline without hesitation, and I will pursue my growth, because I want to take my growth very seriously. If there’s something technical that I can’t figure out, I’m going to learn it and figure it out.

I wouldn’t do it if I didn’t have the resources, the time, the long hours. If I feel I have to postpone, then I have to postpone, if the quality and efficiency make a difference. The point is, I can lose performance in one place, but I have to harvest performance in another.

Ignoring deadlines is not a cop-out, it’s an effort. Just like many celebrities drop out of school, not not to study, but to better study.

Do you think your personal development is more important than the Deadline? It’s hard for you not to get ahead anyway. It hurts when your manager scolds you for missing a Deadline.

The same is afflictive, do you feel is scolded by the manager afflictive, or grow up afflictive? Of these two afflictions, choose the lesser of two evils.

Q23: I find that no matter for testers or developers, those who do review module are not always familiar with the business, but it is easier to be promoted than those who are familiar with the business. Is this a deviation in the promotion system or a problem of personnel?

A23: I’ll tell you a story. The story goes that I had a classmate who had been working on projects for banks for about 20 years.

The way to get promoted in that kind of company is that you don’t need to be technically strong, but you need to keep good relationship with the leaders of the bank (the relationship is just to be a good person, which means to be obedient and to flatter people).

Then you need to be the project manager, because all the projects for the bank are outsourcing teams, which is the head of the project, so you need to monitor the progress of these projects.

My classmate has been very successful in this company and has grown rapidly. Because the company’s salary and promotion conditions are that you should get along well with the leaders of the bank, and you should be good at managing the project, so the people he promoted are generally high in emotional intelligence, or people who can work both ways, but his skills are very bad.

Then I took another road, I did not know how to talk to those leaders in the bank, but I like technology, I like to make more cool and awesome things. So my development in that kind of atmosphere in the bank was very bad, and I could not be promoted at all.

Later, I started a business with my classmate, and he realized that his project management skills, his ability to “listen” and “flatter” people, were of no use in starting a business, because you start out with products and technologies, and he had no such skills.

I live by my skills, not by my relationships. I’m a craftsman myself. So when I was starting a business, I was able to build a product very quickly.

Probably, so to answer your question, in different environments, there will be different paths to promotion and different cultures, and you will need different skills accordingly.

But we have to go back and ask ourselves, which skills are most useful to us? I think the most useful skill is that you don’t have to rely on someone else, that you can make a living with that skill, that you can build your own world.

Q24: “good birds choose wood and perch”, excuse me how to identify the real direction and suitable for their wood?

A24: I have answered this question before, but how to identify the real direction and suitable for yourself?

First of all, you should have an evaluation of yourself. I think if you can’t make an evaluation of yourself, you don’t know what you are interested in, or where you have strengths, you can’t know what is suitable for you.

I think a lot of people don’t know what they want these days. They just want everything, but they don’t really know what path they’re right for.

I don’t think anyone can help you with this. It’s like I’m telling you a lot. I say this thing is nutritious, that thing is good, but I can’t eat for you.

I told you it was good to exercise and go running, but I can’t exercise for you, so it’s mostly on my own.

If you know exactly what you want, you will know exactly what you don’t want. If you know exactly what works for you, you can know exactly what doesn’t work for you.

When you see yourself clearly, it’s easier to find your place over there.

The reason why people are “misplaced”, or can not find the right one for themselves, generally speaking, in many cases, they overestimate themselves, and mistakenly confuse their goals with their current ability!

Q25: Many technologies are tools in essence, and there is no great improvement in sensory ability. Should I personally improve as a programmer by studying algorithms or focusing on becoming more adept at using tools to solve business problems?

A25: A few suggestions:

  1. To find out why we have this tool? What kind of problem does this tool solve? Why not something else?

  2. What are the key technologies and design principles in this tool?

  3. What’s the downside of this technology? For what kind of setting, and not for what kind of setting?

  4. If the technology or tool is open source, go to the community and see what the developers are talking about all day.


GitChat 

Share knowledge on GitChat

Use knowledge to change the world

support