This article is Dr. Liang Sheng, CEO and founder of Rancher Labs, who was invited by InfoQ to write a personal career development journey and suggestions for programmers' career planning.
Dr. Liang Sheng is the co-founder and CEO of Rancher Labs Inc. Before founding Rancher Labs, Dr. Liang Sheng was the author of JNI (Java Native Interface), the core component of the Java language J2SE platform, during his early days as a core director-level engineer at the world-renowned Sun Microsystems, and subsequently led the design and development of the most popular Java language. The core JVM (Java Virtual Machine). In 2008, he founded cloud.com, the world's top cloud computing company, and served as CEO. He launched the famous cloud computing management software CloudStack and is therefore known as the father of CloudStack. In 2011, cloud.com was purchased by Citrix for US$200 million. Dr. Liang Sheng served as the Chief Technology Officer of Citrix Cloud Platform and was the first Chinese CTO of Citrix. In the early days, Dr. Liang, as one of the founders, founded Teros Network Security Company, which was later acquired by Citrix. In his early years, Dr. Liang Sheng also served as Vice President of Engineering of SEVEN Network Company and Technical Director of Openwave System. Dr. Liang Sheng graduated from the Junior Class of the University of Science and Technology of China and holds a PhD in Computer Science from Yale University.
From student days, to R&D engineers, to starting a business, and now becoming a leading figure in the field of cloud computing in Silicon Valley, Dr. Liang Sheng uses his life experience and experience insights to help you, as a programmer, , wrote these words.
Looking at all walks of life today, it may be difficult for us to find a profession like a programmer. Today, as the development of new technologies such as cloud computing, mobile Internet, and artificial intelligence continue to create new business opportunities, the IT industry seems to have an endless demand for programmers. As a programmer, when we think about career planning, on the one hand we feel that there are too many opportunities, on the other hand we also feel confused and even afraid.
If you work in a large company, how do you keep up with the development of new technologies? How to avoid being stuck in a dead end with no room for growth when your colleagues get promoted? If you've decided to start your own business, how do you stand out among hundreds of startup competitors? Many of these competitors may have more capital and experience than you do. Today, as new technologies continue to disrupt us, can we make some plans for career development in the next 10, 20 or even 30 years, so that we can face the future industry development with ease?
Some people say that programming is no longer a good profession, because programmers can only eat when they are young. In my opinion, this view is dead wrong. In fact, there is absolutely no other profession that embodies the value of individual creativity and skill more than programming. Programmers are like artists. Programming is indeed a hard labor process, but it is not repetitive. No two people in the world will write exactly the same code. Just like an artist, a programmer can have a long career. I know many programmers who are still efficient even though they are over 40 or 50 years old. Programmers are paid much better than artists because the work of programming creates direct economic value for society.
When it comes to career development, many people think that to be successful, they only need to find the right opportunity. For these people, career planning is like buying a lottery ticket. They keep moving from project to project, company to company and never get tired of it. They don't care about what they are doing, they only care about being on the right team. In fact, these people do not find financial freedom but a tainted resume and a tarnished reputation. In our IT industry, a person's reputation determines everything. Throughout a career, the accumulation of reputation is as important as the accumulation of skills and wealth. When you have a good reputation, opportunities will come to you.
Therefore, it is not enough to just focus on new technological developments and new business opportunities. No matter what job tasks you perform at hand, you should build your reputation by striving to deliver top-notch results. Venture capitalist Ann Miura-Ko sums up this approach simply as “becoming world-class.” In Ann's mind, "world-class" applies to any work task, from simply using a photocopier to copy a document to writing code, giving a PPT presentation, or as big as making a product. According to my observation, there are too many mediocre things in this world. If you can do your best in every little thing and accumulate over time, you will become the most dazzling star.
Many people think programming is just a repetitive job. But in fact, painting and making music are also repetitive tasks. What makes a painting or piece of music world-class? Definitely passion, creativity and the pursuit of perfection. In fact, great programmers can find the passion to write the best programs in the most common tasks. Before Google was born, the problem of web search was considered by the industry to be meaningless and solved. Eric Yuan used to be the vice president of engineering at Webex, and he firmly believed that the network conferencing system invented by Webex could still be improved, so he founded the Zoom video conferencing service, which is currently the most successful in the world. Legends like Steve Jobs and Musk built their success on passion, creativity and the pursuit of perfection. For us ordinary people, we can start from our daily work and start from small things:
When you are doing a design or implementation, even if it is just a simple function point, can you put this Make the function the best in the world? Don't worry about small things, the smaller they are, the easier it is to stand out.
You probably can’t do the best design the first time. Just like painting and music, you have to try again and again, keep improving, and one day you will be recognized.
Open source software is an opportunity to showcase your own work to the world. After understanding why you like certain open source projects, can you also create a famous open source project?
If you have the opportunity to give a PPT speech, do not copy other people’s PPT. Try to understand your audience's preferences and then write a PPT yourself from scratch. Your goal should be: How to make this PPT the best in the world?
If you had the chance to give the same speech again, could you make it better? Never teach the same PPT twice, you must improve every time.
Before a big opportunity comes your way, the best preparation you can have for your career planning is to do the job you do every day to perfection. If you maintain this attitude, your efforts will eventually be recognized by your entire team and the entire company. If you work on an open source project, you will be recognized around the world. Working with this attitude, you will find a sense of accomplishment that makes you stand out. You will quickly become better and get promoted faster. If you decide to start your own business one day, your reputation will allow you to get investment and attract talents quickly. Most importantly, you'll understand what it takes to build a world-class company!
The original text of this article was written in English by Dr. Liang Sheng. The original text is hereby posted for you to appreciate another beauty of English grammar.
There're probably few professions that are as dynamic and exciting as a programmer today. New technologies like cloud, mobile, and AI lead to new business opportunities, and with that our industry seems to have an insatiable demand for programming talent. For a programmer, all this could feel quite confusing and daunting. If you work in a large company, how do you make sure you keep up with the development of the latest technology and do not get stuck in a dead end project while others get promoted? If you decide to take the plunge and become an entrepreneur yourself, how do you shine through hundreds of other people–many of them are better funded, better connected and more experienced–who are trying to do exactly the same? In today's rapidly changing industry, is there anything you can plan to better position yourself in the next 10, 20, and 30 years, regardless of what new technology and business disruptions may come?
Before we discuss what you can do , let's first take a look at what does not work. People say programming is no longer an attractive career opportunity. It's at best a Young Person's Career. I cannot disagree more. There's not another profession that values individual's creativity and skills as much as programming . Programming is an art: it is a laborious process, and no two person produces exactly the same code. Just like an artist, programming careers can last a long time. I know many programmers who remained productive well into their 40s and 50s. Programming is of course a much more lucrative career choice than art. Programmers are compensated much better than artists because their work creates economic value for the society.
Some people believe the key to success is to find the right opportunity. To these people career planning is like playing the lottery. They jump from project to project and jump from company to company hoping to find that one big opportunity. They are restless. They don't care about what they do. They only care about what it leads. In reality, instead of finding financial freedom, they more often end up with a tarnished resume, no useful skills, and a bad reputation. Reputation is everything in our industry. Throughout your career, accumulating reputation is just as important as accumulating skills and wealth. Opportunity knocks when you have a good reputation.
It is therefore not sufficient to keep our eyes and ears out to keep up with new technological development and new business opportunities. You should be accumulating your reputation by consistently delivering superb work for whatever task you have at hand. Venture Capitalist Ann Miura-Ko captures this idea in one simple term “be world class.” In Ann’s mind, “be world class” applies to any task, from something as simple as making a Xerox copy to writing code, making a presentation, or building a product. I can speak from my experience that the world consists of largely mediocre work. By going an extra mile and producing the best work, you will be the brightest star in your organization.
Many people find programming a repetitive task. So is painting. So is music. What makes a world-class painting or music? Passion, creativity, and the quest for perfection. Great programmers find passion in the most mundane problems. Before Google, the problem of web search was considered uninteresting and solved. Eric Yuan ran engineering at Webex. He believed the web meeting experience pioneered by Webex could be improved and went on to create the Zoom video conferencing service. Legends like Steve Jobs and Elon Musk are also built on the passion, creativity, and the quest for perfection. For the rest of us, we can start small with what we work on every day.
If you are presenting a design, even just for a feature or a component, why not make it the best possible design in the world for that feature or component? Impress the heck out of your colleagues. The less important a task is, the easier it is to do a better job and impress.
Most likely you won’t be able to achieve some amount of greatness in one try. Like a painter or musician, work on the next piece. Then next. You will get better and get noticed.
Open source offers an opportunity to show your work to the whole world. Figure out why you like a great open source project. Can you do the same?
If you get an opportunity to make a Powerpoint presentation, do not borrow slides from other. Understand what your audience might want and create the presentation from scratch yourself. How do you make it the greatest presentation there is for this topic?
Next time you are asked to make the same presentation, can you make it even better? Never give the same presentation twice. You can always do better with every practice.
Until you find that great opportunity or have a great opportunity knock on your door, the best thing you can do to prepare for your own career development is to focus on delivering superb results of things you already do every day. Your efforts will be noticed by your team, in the whole company, and if you work on an open source project, by the whole world. You will get a sense of what it takes to stand out and win. You will get better quickly. You will get promoted quickly. And if someday you decided to start a business on your own, your reputation will prepare you to get funding and attract talent. More importantly you will also know what it takes to build a world-class company.