梁勝博士:寫給程序員的話

做者:梁勝 編輯:謝然 來源:InfoQ程序員

本文爲Rancher Labs CEO兼創始人梁勝博士應InfoQ之邀,爲廣大程序員專門撰寫的我的職業發展心路歷程及對程序員職業生涯規劃的建議。web

梁勝博士是Rancher Labs Inc. 公司聯合創始人及CEO。創立Rancher Labs以前,早期在全球知名的他Sun Microsystems公司擔任核心主任級工程師期間,梁勝博士是Java語言J2SE平臺核心組件JNI(Java Native Interface)的做者,並隨後領導設計和開發了Java語言最爲核心的JVM(Java 虛擬機)。他於2008年創立全球頂級的雲計算公司cloud.com並擔任CEO,推出著名的雲計算管理軟件CloudStack,也於是被譽爲CloudStack之父。2011 年cloud.com被 Citrix 以 2 億美金購入旗下,梁勝博士出任 Citrix雲平臺首席技術官,也是 Citrix 公司首位華人 CTO。早期,梁博士做爲創始人之一,創立了Teros網絡安全公司,該公司以後也被Citrix公司併購。梁勝博士早年還擔任過SEVEN網絡公司的工程副總裁,以及Openwave System技術總監。梁勝博士畢業於中國科技大學少年班,並擁有耶魯大學計算機博士學位。編程

從學生時代,到研發工程師,到一路創業,到現在成爲硅谷雲計算領域泰斗級的人物,梁勝博士以本身的人生履歷及經驗感悟,爲各位身爲程序員的你,寫下了這些話。api

縱觀當今各行各業,咱們可能很難再找到一個像程序員這樣的職業了。在雲計算、移動互聯網、以及人工智能這樣的新技術的發展浪潮不斷催生出新的商業機會的今天,IT行業對程序員彷佛有無止無盡的需求。做爲一個程序員,想到職業規劃,一方面咱們以爲有太多的機會,另外一方面咱們也會感到迷茫,甚至畏懼。安全

若是你在一個大公司工做,如何跟上新技術發展的步伐?如何避免在同事獲得升職時,本身陷入死衚衕,無成長空間?若是你已經決定自主創業,你如何在成百上千的創業競爭對手中脫穎而出?這些競爭對手中的不少人或許擁有比你更多的資金,更有經驗。在新技術不斷顛覆的今天,咱們可否對將來的10年、20年乃至30年的職業發展作出一些計劃,讓咱們面對將來的行業發展遊刃有餘呢?網絡

有人說編程序已經不是一個好的職業了,由於程序員只能吃青春飯。在我看來,這種觀點大錯特錯。實際上,絕對沒有任何其它職業比編程序更能體現我的創造力和技能的價值。程序員像藝術家。編程的確是一個辛苦的勞動過程,但不重複。世上不會有兩我的寫出徹底同樣的代碼。正如一個藝術家同樣,程序員可以持續很長的職業生涯。我就認識不少程序員,他們雖然已經四五十歲以上仍然保持高效。程序員的薪酬比藝術家好得多,由於編程的工做爲社會創造了直接的經濟價值。app

說到職業發展,不少人認爲要成功只要找對機會。對這類人來講,職業規劃就像買彩票同樣。他們不斷從一個項目換到另外一個項目,從一個公司跳槽到另外一個公司並樂此不疲。他們不關心本身在作什麼,只關心是否站對了隊。事實上,這些人並不能找到財富自由,而是獲得一份有污點的簡歷和敗壞的聲譽。而在咱們的IT行業,一我的的聲譽決定了一切。在整個職業生涯中,聲譽的積累與技能和財富的積累一樣重要。當你有良好的聲譽時,機會天然會來找上門來。less

所以,僅僅關注新的技術發展和新的商業機會是不夠的。不管你在手上執行什麼工做任務,你都應該在努力交付一流工做結果,以此來積累你的聲譽。風險投資家 Ann Miura-Ko 簡單地將這一作法歸納爲「成爲世界一流」。在 Ann 的思想中,「世界一流」適用於任何一項工做任務,從簡單的用複印機複印一份文件到編寫代碼,作一個PPT演講,或大到作出一個產品。據我觀察,這世界上平庸的東西太多。若是你可以盡力把每一件小事都作得最好,長期積累下去,您將成爲最耀眼的明星。dom

許多人認爲編程僅僅是一個重複性的工做。但實際上做畫、作音樂也同樣都是重複性的工做。是什麼讓一幅畫或一段曲成爲世界一流的呢?無疑是激情、創造力以及對完美的追求。而事實上偉大的程序員能在最普通的任務中找到激情把程序寫得最好。在 Google 誕生以前,網頁搜索的問題被業界公認爲是毫無心義並且已解決完畢的問題。Eric Yuan 曾經在 Webex 任工程副總裁,而他堅信 Webex 發明的網絡會議系統仍然能夠改進,繼而他創立了當下全球最成功的 Zoom 視頻會議服務。像喬布斯和馬斯克這樣的傳奇人物,他們的成功也以激情、創造力和追求完美作爲基礎。對咱們普通人來講,咱們能夠從天天的工做作起,從小事作起:ide

  1. 當你在作一個設計或實現,即便只是某一個簡單的功能點,你能不能把這個功能作成全世界最好的?不要在意事情小,越小越容易冒尖。
  2. 你多半不能一次就把設計作得最好。就像繪畫和音樂同樣,你要反覆嘗試,不斷提升,總有一天會被承認。
  3. 開源軟件是一個向全世界展現你本身的工做成果的機會。在弄懂你爲何喜歡某些開源項目後,你是否也能夠創造一個有名的開源項目?
  4. 若是你有機會要作一個PPT演講,千萬不要照搬照抄別人的PPT。儘可能去理解你的聽衆的喜愛,而後從頭開始本身寫一個PPT。你的目標應該是:如何把這個PPT作成全世界最好的?
  5. 若是有機會再作同一個演講,你能不能把它作得更好一點?絕對不要把同樣的PPT講2次,每次都要有提升。

在大機會上門以前,你能爲本身的職業規劃最好的準備就是把你天天從事的本職工做作得盡善盡美。若是保持這種工做態度,你的努力終將獲得你整個團隊和整個公司的承認。若是你是從事一個開源項目的話,那你將會獲得全世界的承認。以這種態度工做,你將會找到脫穎而出的成就感,你會迅速變的更優秀,更快獲得升職。若是你哪天決定自主創業,你的聲譽能讓你很快地獲得投資,很快地吸引人才。最重要的是,你會明白怎樣才能建立一家世界一流的公司!

本文原文由梁勝博士以英文撰寫,特此貼上原文,供您欣賞英文文法上的另外一種美妙。

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.

  1. 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.
  2. 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.
  3. 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?
  4. 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?
  5. 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.

相關文章
相關標籤/搜索