In this article, I am not me. I saw this article and felt it was written well. I shared it and deleted it immediately if there was infringement

Some people want to be great, but never work hard. Some people work hard, but get little. Most of the time, the gap between you and success is not ability, nor luck, maybe just the right way? This is not a chicken soup learning guide to success, if you believe and willing to keep trying, may not help you!

A chicken soup bowl with a spoon I has been work for nearly 12 years (12 years to mix to this point, talent is generally), in huawei for 5 years, in the UC for 6 years, now is mainly responsible for ali game middleware and component architecture design and implementation, including user information push, asynchronous notification system, etc.

At the same time, I also lead a research and development team of 30 to 40 people. In addition to my work, I also like blogging. I am a community star of CSDN and cloud computing, a blogging expert and a contracted author of InfoQ.

Generally speaking, although I am not the top bull in the industry, I am still a calf in the company. Today, I will share my growth experience to talk about how to become a bull. I am still running in the industry, but I think these experiences and skills should be applied by every student in their daily work and life.

10, 000 hours of practice behind a blockbuster. A lot of people have asked me this question before: How did you become such a tech juggler?

At the beginning, I often told them that you need to look at the development scheme of x and x and learn more about UNIX development and so on. Later, I wondered if there was something above the “tao” that would become a big one. That is to say, whether you are doing products, operations, operations, programmers or testing, Can you become a big bull in this way?

And by searching and thinking about it, IT really led me to find what I call a formula for being a great bull that can be applied to all industries and all professions, which is the 10,000 hour theory.

I first make a brief introduction of theory of 10000 hours, 10000 hours I first saw the theory from the book “the alien” know, this is a very famous book, it is very interesting, I recommend that all students to have a look at, it analyzes the many successful people behind something we usually don’t understand or didn’t see some of the phenomenon, some more stunning conclusion, One such theory is the 10,000-hour theory.

It gives some examples, for example, Mozart, we all know that he is a music prodigy, began to compose music at the age of six, you read this book will know that he really rose to the top in his 20s, that is to say, although he began to compose music at the age of six, but his music is not good at that time.

So “alien” mentioned in this book, 10000 hours of theory, it is of great help/very helpful to me, the only way to become the world’s top expert is 10000 hours continuously in practice, we should pay special attention to “only”, that is to say most of the professional is not what the genius of the so-called genius only after his blockbuster we think so, It takes at least 10,000 hours of continuous practice before he becomes a genius.

When I first saw the 10,000 hours theory, I didn’t think it was magical. I did the math, and after five years of working, I would be a top expert in my field. But it was impossible. I reflected on my own working conditions. For most of us, daily work is repetitive work. Although we work 8 hours a day, we just repeat past experience without deliberately training and improving ourselves.

There’s a joke about a guy who goes in for an interview with 10 years of experience, and after the interview the interviewer tells him that you only have one year of experience, and you repeat it for nine years.

What does that mean for the 10,000 hour theory if you think about it it’s not that simple? That means you have to spend three hours a day improving your skills for about 10 years. If you think about doing one thing every day for ten years to improve yourself, there are several people who can do it. Therefore, we see that although some people work for ten years, they may not become experts in the industry.

Why do I emphasize 3 hours a day? Take 10 years to improve yourself. You don’t count your repetitive work. You need to expand the breadth and depth of your expertise to become a top performer or expert in your field.

For example, a child sings “Two Tigers” every day for 10 years, do you think he will become Jay Chou? Certainly not. Of course, the 10,000-hour theory is not suitable for some fields, especially not for the stock market, especially China’s stock market, if you spend 10,000 hours to invest in the stock market, you may lose everything.

How do I find 10,000 hours? Fragmented time management

The theory of 10,000 hours sounds simple, and it is not difficult to keep it for 3 hours a day, but in fact it is very difficult to do it. Just like us Internet people who get extra bonus for overtime work, we feel that our body is drained every day. Where does time come from? One hour a day is not enough time to spend with or find a girlfriend. How do you do that?

The first is to find three 30 minutes:

The first 30 minutes are the 30 minutes in the morning, so if you’re used to getting up at 8 o ‘clock, tomorrow you change your alarm to 7:30, that’s an extra half hour. The second 30 minutes is 30 minutes before you go to bed. Let’s say you’re used to playing games until 12 o ‘clock. Tomorrow night you play games until 11:30. Third is 30 minutes to work on your seat of 30 minutes, said some students worry me that 30 minutes will not affect me the day’s work efficiency, work overtime may finish, also let me out of 30 minutes, don’t worry about this, from my experience to squeeze 30 minutes will not affect your overall work efficiency, last year or two, You’ll find the benefits are huge. The second point is to use or save travel time

We commute an hour or two each day. How do we spend our time, for example?

The first is to use the commuting time to read, listen to books, but also can do. If you think you can’t be reading a book on her way to work, or it is impossible to learn, such as you take the line 3 of guangzhou, this is the world-famous squeeze as hell, don’t read said, stretched out to all don’t know go to which, it is suggest that we moved to the location near the company although more than a few hundred dollars every month rent, But you have to believe that the time saved by this investment is spent on improving yourself, and it will pay off more than 10 times over.

The third point is 4 hours on weekends

Weekends are used for relaxing, sleeping, watching movies and entertainment. You can also set yourself to squeeze out 4 hours on weekends, that is, 2 hours a day, so that a day is about two hours, plus your accumulation in the work, 3 hours a day is not very difficult.

Then tell me how I do, I now have two children, and I live more far, should be here than I wouldn’t be a lot of busy, have a look at how I do, I am in guangzhou line 4, take line 4 books can back and forth for about an hour every day, morning and evening for 30 minutes, 4 hours over the weekend, some students may have doubt, Weekend is certain to play with children, oneself also want to rest, where there are four hours, in fact, as long as you find, time will be some, I find is when my child to sleep, because children often sleep three or four hours, the adults usually go to sleep one hour, about half an hour, so in this way, As you can see, I read a total of 84 books in 2015, both professional and non-professional, including humanities, social sciences and history.

However, I would like to remind you that for male programmers, there is a time must not be less, that is, the time to accompany his girlfriend, because it is not easy for programmers to find a girlfriend, do not read this article after going back to his girlfriend, he will go back to improve every day, this is not the life we want.

How to land 10,000 hours theory easily? Although it is simple in theory, it is not so easy to put into practice. The key to implementing the theory of 10,000 hours lies in persistence. I think the key to persistence lies in whether one has “passion and interest” for the career he or she is engaged in. This is of course the core, but if only supported by passion, lasting for 10 years is indeed a challenge, as a friend asked me after the seminar, “It takes 10 years to become a big bull, that’s a long time”!

If there is one thing to being together 10 years later, estimates that a lot of friends will give up, after all true believers are always a few, like tang’s monk so most mortals are still need constant incentive to have the power to do one thing, because our brains are in the process of evolution has already formed the need to continually rewarding to keep the excitation mechanism, So instead of giving a big reward in year 10, give a small reward every year.

So how do we keep on going for 10 years on the road? The answer is actually the richest man’s words: “first set a small goal can be achieved”! Let’s look at how to break down the goal of becoming a champion in 10 years into small, achievable goals. I summarize this method as “three-stage decomposition method”, that is, a grand or long-term goal is decomposed for three times to get a small goal that can be achieved in a short period of time. The specific decomposition method is as follows.

A segment of decomposition: Decomposition of “levels”

Although the goal of becoming a Big bull in 10 years is quite long and ambitious, it does not mean that we are always novices until we become big bull. There are actually several key milestones in the process of moving from a novice to a great talent, and these milestones are part of our goal.

Take technical personnel as an example, the typical development path of technical personnel is basically the following pattern:

1) 0 ~ 1 year: rookie, need others to teach hand in hand

2) 1 ~ 3 years: Elementary, need someone else to teach you

3) 3-5 years: senior, able to work independently, able to lead junior technical personnel

4) 5-8 years: senior, able to block multiple aspects independently

5) 8 ~ 10 years: Big ox, overall planning, strategically positioned

From the above analysis, we can see that although it takes 10 years to become a big bull, it takes 3 years to reach the primary level, 5 years to reach the senior level, and 8 years to reach the senior level. In this process, we are always growing and improving, rather than saying that we are rookies if we do not become big bull. And for many friends, if the goal is not like the richest person to earn 100 million, can reach the senior or senior level, in fact, can already live more moist.

Through this decomposition method, and then check their current position, and then aim at the next goal, go all out in fact 2 ~ 3 years, so that a period of goal is actually relatively easy to achieve. This goal decomposition method is not only suitable for technical people, but also suitable for many other fields, such as product people, operations people, and even civil servants!

Two-stage Breakdown: Break down “skills”

After a period of decomposition, know where you are and what you want to do next, and then see how that period of goal is achieved. It is said that the duration of each goal is two to three years, but three years is neither too long nor too short. If we do not make good use of it, we may look back at the end of two years and feel that nothing has been achieved and we are still in the same place. Therefore, in order to make the best use of these three years, we need to further decompose, which is called “two-stage decomposition”.

The dimension of one segment decomposition is grade, while the dimension of two segments decomposition is different. It can’t be divided into grades any more, otherwise the grades are too fine to distinguish. The dimension of the binary decomposition becomes “skills”, i.e., what skills I need in order to achieve a goal.

Or take technical personnel as an example. Assuming that they are in the primary stage after self-assessment, and have done things in the primary stage more smoothly and skillfully, then the next target is naturally to reach the “advanced” level. What are the different skill requirements for “advanced” versus “beginner”?

This requires us to list out in detail according to their different industries and directions. If you can’t figure it out, there are a lot of information on the Internet that can be searched. The most convenient is to go to a recruitment website, look at several descriptions of recruitment needs, and then summarize.

We randomly search the Internet for one, such as the recruitment of “Senior Java Development Engineer” in Didi online:

Looking at a few similar job openings, we can see the basic requirements of “senior Java Development Engineer”. Of course, the actual skill requirements are much more detailed than the job requirements, and my personal habit is to organize the requirements into a mind map detailing each skill point. Such as:

The diagram above is just an example. It does not mean that all senior Java engineers have this requirement. For example, the requirements of Internet industry and telecommunication industry are different.

With such a mind map in hand, we can start to really do two-step decomposition. The method of decomposition is very simple: fill in what you don’t understand! For example: I feel that my database level is average at present, only can write CRUD statements, other things do not understand, then I began to specialize in the database part, after a period of specializing to improve their level.

The second target duration is generally recommended to be 6 months, neither too short nor too long. It’s easy to fall into the trap of doing things for goals and not really improving; 3 years is not enough time to accomplish other goals. For example, if I set a goal of improving the database in 2 years, what about the operating system? What about the Internet? … And so on. On a six-month cycle, that’s about right.

After decomposition, the final two-stage goal can be decomposed into several smaller goals as follows:

1) 2016.06 ~ 2017.01: Improving database level

2) 2017.01 ~ 2017.06: Improve the level of Linux

3) 2017.06 ~ 2017.12: Improved the level of network and network programming

Of course, the goal of the two-paragraph decomposition is not fixed and often needs to be adjusted according to the content of our work. For example, if the boss assigns me to optimize system performance and reduce machine load, I can put “improving Linux level” before “improving database level”.

Three stages of decomposition: Breaking down “Action”

Once you have a small goal of a skill, the next key is to achieve that goal. This is the main purpose of the three-stage decomposition, that is: break the skill goal into specific things to do, and then execute them according to the plan.

Let’s say my second-paragraph goal is to “improve Linux.” How can I improve Linux? You can search on the Internet (Zhihu is a good place), or you can ask an experienced friend. After identifying what to do, the three-stage decomposition needs to refine the 6-month goal of the two-stage decomposition into 1 month or 2 months.

When I joined UC, for example, when I was in huawei, I used VC6 for development on Windows platform, while when I joined UC, I used C++ for development on Linux platform. I set the goal of “improving the level of Linux” at that time, and then I searched the Internet and asked others for help. Finally, this goal is broken down into several steps:

1) 1 month: Read through advanced Programming in UNIX Environments

2) 1 month: Read through “Linux System Programming”

3) 2 months: Read through UNIX Network Programming Volume 1

4) 1 month: Common Linux commands: tcpdump, ps, top, etc

In this way, the 6-month goal is further divided into 1-month goal, which is much easier to implement. Every 1-2 months, I will focus on a specific goal, and feel a sense of accomplishment after each completion. I not only feel my level has been improved, but also admire myself for sticking to the plan and completing the task according to the target. The double reward gives you more motivation to move on to the next goal.

It took me about two years to upgrade the three key skills of Linux, network and MySQL from ignorance to advanced level. Many colleagues asked me whether I did this in Huawei before, because they thought it was impossible to reach this level in a short time.

From the previous analysis, let’s break down the three parts: one is “level”, two is “skill”, and three is “action”. As can be seen from the previous case, the original ambitious goal of “becoming a technology leader in 10 years” is decomposed into concrete actions that can be implemented in 1 to 2 months after three stages. Through such step-by-step actions, the goal of “becoming a technology leader in 10 years” can be finally achieved.

Write business code every day, how to become a technology champion? A few typical misconceptions

We worship Daniel as our teacher

Some people on Zhihu think that the easiest, direct, fast and effective way to become a technical master is to “learn from the technical master of your team” and let them give you some difficult tasks. I personally oppose this approach for several main reasons:

Daniel is very busy, it is unlikely to give you a small cooking alone, let alone every day to give you an hour of cooking; Moreover, in a team, if Daniel often gives you a break, it will inevitably cause other team members’ doubts. Personally, I think it would be best for Daniel to give more training to the team if he really cares. However, those who have done training know that preparing for a training is very time consuming. The courseware and materials should be at least 2 hours (not fragments), and the explanation should be 1 hour. It is quite frequent for them to do training once a month. Because of the first reason, we usually seek Daniel with questions to consult or discuss. It doesn’t take much time to answer or discuss questions, but more depends on experience and accumulation. In this case, They are very willing to answer questions. After all, influence is an important indicator of Niu. However, be careful: If you constantly ask for information that can be easily found in a book or On Google, they will get impatient. Time is precious. I often get asked questions such as “how to configure -XMN parameters for JVM”, and I always answer them directly, “Please go to Google”, because there are too many such questions. If you don’t systematically learn them by yourself, it is a waste of time for yourself and others to ask them all. It is unlikely that every team will have a technical champion. There will be someone on the team who is better than you. Even if he gives you a little tutoring every day, eventually you will only be able to improve to his level. However, if you are a cross-team technical champion, due to the reasons of work arrangement and distribution, there are few opportunities for direct consultation and guidance, and it is unlikely to become a technical champion just by attending several training sessions. To sum up the above reasons, I think for most people, if they want to become a master of technology, they should first understand the truth of “mainly depend on themselves”, and do not expect to be taught step by step by a master of martial arts. When appropriate, I can improve myself by consulting Daniel or discussing with Him, but most of the time I still improve myself systematically and pertinently.

Business code is also awesome

Zhihu on some answer think writing business code can very cow force, the reason is that business code can have a variety of skills, for example, you can use the encapsulation and more extensible abstraction allows business code, can be more exchanges and products in order to better understand and implement the business, the logging well problem targeting efficiency can increase 10 times… And so on.

Business code has technical content, that is for sure, the business in the code technology is the foundation of every programmer, but only to master these skills, and can’t be technology, like the game upgrades have started playing small monster, experience value is very high, the more behind the experience value is less, a little strange already cannot ascend experience value, This time you need to play some more advanced strange, brush some of the challenges of the copy, did not see which game as long as always play small strange can be promoted to the top.

As technology and the way is also similar, you want to constantly improve their level, then face greater challenges, through these challenges to levels more at the next higher level, and so on, finally reach the state of technology and the industry even Daniel, write business code just a challenge in the play blame upgrade road, And I think it’s a fairly elementary challenge.

So I think: a programmer who can’t even write good business code can’t be a technical genius, but a programmer who only writes good business code can’t be a technical genius either.

I’m too busy at work to study by myself

Many people think that they do not become technical masters because they are not smart or hard working, but because in this environment in China, technical personnel work too much overtime, so that they do not have extra time to study.

This reason has some objectivity, after all, compared with Europe and America, we do have to work more overtime, but this factor is only a problem to be overcome, not an insurmountable gap, after all, there are still so many talents around us who grew up in China.

I think there are several myths that contribute to this perception:

1) What I do at work is repetitive work. If I want to improve myself, I have to learn extra

The main reason for this myth is that “there is no skill in writing business code”, which is what I do now, so I can’t improve at work.

2) Learning requires large chunks of continuous time

Many people think that learning is like attending school, giving you a whole day to attend class is learning, but we usually work overtime and more tired on weekends, just want to sleep in, or just want to go to watch movies and play games to relax, so there is no time to study.

The right thing to do is just the opposite:

First of all, we should learn and improve in the work, because learning is best when it is put to use or referenced by examples. Secondly, learning after work does not need a long period of time, but to squeeze out time and use time fragments to learn. (Refer to 10,000 hours theory above)

The right thing to do

例 句 : You Do more work than your supervisor assigns you.

When I was in HW, responsible for the development of a version, this version of the workload is about 2000 lines or so, but I finish this function in addition to, also to master all clear, the associated function code (about 10000 lines) all looked again, after this version, I am familiar with this version of a complete set of business related all. After one or two meetings, everyone found that I was the most familiar with this area, and then it became interesting: product discussion needs to come to me, testing problems also come to me, boss external support to me; Later, they would come to me for features I wasn’t responsible for, even if I didn’t know it at the time, and I would look at the code or find documentation to help them answer… Eventually I became an “expert” on my system. I was still doing business and writing business code, but I was already familiar with the whole business.

The above is just a simple example, which is to say: to have a chance, you have to come out of the crowd. To come out of the crowd, you have to be different. To be different, you have to do more!

How can you do more? We can start from the following aspects:

1) Learn more about the business, whether you’re responsible for it or not; Get familiar with more code, whether you wrote it or not

There are many benefits to doing this, just a few simple examples:

When demand analysis more accurate, can identify risks in the requirements phase, influence and difficult problem to deal with more quickly, because the relevant business and code are familiar with, can quickly determine the cause of the problem may be to consider more comprehensive screening process scheme design, with the understanding of global business, Be able to design better solutions 2) Be familiar with end-to-end

Say you are responsible for web development background, but in fact user initiated an HTTP request, should pass a lot of intermediate steps to get your server (for example, the browser cache, DNS, nginx, etc.), the server is general passes through many process to get to the part of the code you write (routing, permissions, etc.) this many system or a step in the whole process, Most people can’t get involved in writing code, but having this knowledge will make a big difference in your overall skills, such as solution design, online troubleshooting, and more valuable technical work.

The words “systematic”, “global” and “comprehensive” seem quite empty, but in fact they are all necessary qualities for technical masters. To achieve such a state, one must be familiar with more systems, businesses and codes.

3) self-study

Generally in a more mature team, a direct result of the framework or component has a lot of encapsulation, write business code used technology is also less, but we need to understand that “the only constant is change”, the framework could be improved, and the component may be replaced, the existing technology may be unable to meet the needs of the business, or you in a company, A startup has no components or framework, and you have to start from scratch. These are opportunities and challenges, and opportunities and challenges are only allocated to those who are prepared, so in this case we need to learn more by ourselves, because there is no time to learn when we really need to use it.

Take Java for example, most of the business code is if-else add database operations, but we can learn more Java knowledge, such as garbage collection, tuning, network programming, etc., these may not be temporarily useless, but when really need to use, not Google can be. At this time who has mastered the relevant knowledge and skills, the opportunity is who.

Taking garbage recycling as an example, I took the time to learn these knowledge, but it was useless after learning them for a year. However, I used them several times and solved the big problem of deadlock each time. However, some students, who have written Java code for several years, do not know what stop-the-world is, let alone optimize it.

In particular, many open source software requires self-learning, such as Nginx, Redis, Mongodb, ElasticSearch, etc. Introducing these technologies at the right time can bring great value.

Understand that nothing in this world is perfect, and the system and business you are in charge of will always have unreasonable and improvable areas. These “unreasonable” and “improvable” areas are higher-level monsters, which can add more experience points after playing. Identify those areas and come up with solutions, and then propose to your manager, not twice, but several times. If one of them lands, that’s your chance.

Such as:

Too much repetitive code, can you introduce design patterns?

The system performance is average. Can I optimize it?

At present, it is a single machine. Is it better to make it a double machine?

Release development quality is not high. Did you introduce efficient unit testing and integration testing solutions?

The current system is too large, can we change it to 3 systems through reconstruction and decoupling?

Ali middleware has some system feel we can also use, can we introduce?

There is always room for improvement if you think about it; If you feel that there is no improvement in the system, it shows that your level is not enough. You can learn more related technologies and see how other companies in the industry do and how BAT does.

I was transferred to Jiuyou in 2013. At the beginning, I took over a simple background system. I cooperated with the front desk to add, delete, modify and check data every day, which seemed completely boring, right? It wouldn’t have been fun to just do that, but we’ve done a lot since we took over:

Decoupling, split one background into two background, improve scalability and stability; Double machine, change single machine to double machine system, improve reliability; Optimization, the original 5 hours of interface optimization to 5 minutes and many other optimization, later our group undertook more systems, later the group of 5 people, responsible for 6 systems.

When doing vocational level communication, I found that many students did try to Do more and Do better, but in the process of implementation, almost everyone encountered the same problem: the effect is poor just by looking at it without using it. What should I Do?

Such as:

I learned garbage collection of JVM, but there are few online problems caused by FGC, and even if there are, business recovery is the first, so it is unlikely to have online problems. Then I asked each student to practice, how to practice the knowledge and skills of JVM? I also read Netty and understand the principle of Reactor, but I can’t participate in the development of Netty, how can I really master the asynchronous model of Reactor? See “high performance MySQL”, but the online database is managed by the DBA, the database in the test environment feels randomly configured, how can I verify these technologies? Framework encapsulates the DAL layer, database access we do not need to worry about, we how to understand the implementation of sub-library sub-table? There are many other problems like this, so I would like to share with you my personal experience, which is actually three words: learning, trying, teaching!

1) Learning

This is the first stage, reading books, Google, watching videos, reading other people’s blogs can be, but we should pay attention to the “systematic”, especially some basic things, such as the principle of JVM, Java programming, network programming, HTTP protocol… These basic technologies cannot be learned only through Google or blog. My practice is to read a book completely and have a comprehensive understanding of it first, and then use Google, videos and blogs to find out some questions or skills.

2) Trying

This step is the key point to answer the doubts of many students mentioned before. Figuratively speaking, it is “to have enough food and clothing by yourself”, that is, to try to build some simulation environment and write some test procedures by yourself. Such as:

Jvm garbage collection: You can write a simple test program, allocate memory, do not free, then adjust the various Jvm startup parameters, and run the jstack, jstat and other commands to check the Jvm heap memory distribution and garbage collection. Such programs are easy to write, simple a few lines, complex a few dozen lines. The Reactor Principle: Actually try to write a Reactor model Demo yourself. Don’t think it’s too hard. The simplest Reactor model has no more than 200 lines of code (including comments) (see Doug Lee’s POWERPOINT). After writing their own, go to see netty how to do, a contrast understanding is more profound. MySQL: Now that you can refer to the wired configuration, you can directly ask the DBA to send us the online configuration (note that sensitive information is removed) and learn directly. Then set up a MySQL environment and start it with the configuration on the line. You know, many of you have been using MySQL for years, but you can’t even put together a simple MySQL environment. The framework encapsulates the DAL layer: you can try writing a simple implementation of libraries and tables in JDBC yourself, and then compare it to the framework’s implementation to see where the differences lie. Use the browser tools to look at HTTP caching implementation, see different types of sites, different types of resources, specific how to control caching; You can also write your own simple HTTP server in Python that simulates returning various HTTP Headers to see how the browser reacts. There are many other methods, and I’m not going to list them all here, but in a nutshell, you have to really try what you have learned to understand more deeply. There is an Indian saying: I hear and I forget. I see and I remember. I do and I understand.

, of course, if can be used in the practical work, the effect will be better, after all, the actual online environment and business complexity is not we write a simulation program can simulate, but can not make such opportunity, most of the things we really can only depend on oneself, and then when the real business need to use, hand.

3) would

Generally speaking, I can master about 70% after Learning and Trying, but to really master, I think I must be able to explain clearly to others. Because when speaking, we need to systematize a knowledge point, but also need to consider all kinds of details, which will prompt us to further thinking and learning. At the same time, after speaking out, people watching or listening can have different understanding, or have new supplements, which is equivalent to continuing to improve the whole knowledge and skills system.

There are many such examples, including when I write my own blog. I thought I had a good grasp of it, but as SOON as I wrote, I found many points that I didn’t take into account. In group training, we often see that some students write PPT, but when they ask or discuss, they will find that many points are not clearly explained, or some points are actually misunderstood. Write PPT, talk PPT, discuss PPT, this process all go over, basically a knowledge point is more comprehensive.

Although the dream of becoming a technology champion is beautiful, it requires a lot of effort. Whether it is to Do more, Do better or exercise, it takes time and energy. This process may be helpless and painful, or boring. What I have said before is methodological, but what really determines it is our passion and interest in technology.