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

作者:樑勝

編輯:謝然

來源:InfoQ


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

 

樑勝博士是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技術總監。樑勝博士畢業於中國科技大學少年班,並擁有耶魯大學計算機博士學位。

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


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

 

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

 

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


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

 

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


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

 

  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.


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章