20年工作经验的架构师写给程序员的一封信
My team and I received this in our inbox from our architect six months ago when we started a new project:
我和我的團(tuán)隊(duì)在六個(gè)月前收到了一封來自架構(gòu)師的郵件,那時(shí)我們正著手開始一個(gè)新的項(xiàng)目:
I am very excited every time I start something new.?
每次開始一件新的事情,我都無比激動。
Even after about 20 years of doing software, I feel those butterflies in my stomach when start on a new path.
盡管我已經(jīng)從事軟件行業(yè)20年,但是每當(dāng)開始一項(xiàng)新的旅程,我都興奮不已,并帶著一些緊張不安。
?This is our journey together.
這次是我們一起的旅行。
?I strongly believe that we are charting a course which is fun, challenging and enriching.?
我堅(jiān)信我們正在規(guī)劃的,是一個(gè)非常有趣,豐富,并且富有挑戰(zhàn)性的旅程(項(xiàng)目)。
I want to make this memorable to you and want to create experience fulfilling to you all.
?我想給你們的,是一次難忘的回憶,以及一些非常豐富且有價(jià)值的經(jīng)驗(yàn)。
It is little idealistic but I want to make my business agenda, our technology strategy and your progress aligned to each other.?
這也許是我的一廂情愿,但是我真心希望我的工作筆記,還有我們一起的技術(shù)總結(jié),能幫助彼此共同進(jìn)步。
That way, when you do something great, we all benefit.?
那樣的話,當(dāng)你們做出一些不錯(cuò)的東西的時(shí)候,大家都可以獲益其中。
I have deep respect for engineers and the code.
我一直對程序員以及他們的代碼表示深深的敬意。
1. Code is the KING. Documentation is just close behind it. So, write code such that it IS the documentation and it works.
1.代碼為王,文檔只是緊隨其后,所以我們寫的代碼要作為它自身文檔的代碼,保證它能運(yùn)行。
?2. TEST TEST TEST.
2.測試,測試,不斷的測試。
?3. Unit tests ARE CRITICAL.?
3.單元測試非常關(guān)鍵。
Every bug found past unit tests have two fold cost beyond developer.?
每一個(gè)在單元測試后發(fā)現(xiàn)的bug都將花費(fèi)開發(fā)者兩倍以上的精力。
Remember, I would prefer to pay you more salary than spend it on another QA organization and then fix bugs.
記住,我寧愿多支付薪水給你,也不想花錢去找其他的OA團(tuán)隊(duì)來修補(bǔ)這些bug。
?But if you write buggy code, I will pay everyone and then you get smaller slice of the pie.
但是如果你的代碼滿是bug,那我將會把更多的錢付給其他人,然后你得到的,只能是一小部分。
?4. Write efficient code for human reading and for CPU. It is never OK to write bad code.
4.寫高效率的代碼,讓其他人更好的閱讀,也讓CPU更好的執(zhí)行。永遠(yuǎn)不要滿足于你那根本不算好的代碼。
?5. Read more than your job needs today. You dont progress only knowing what you need today but what you need tomorrow.
5.多讀一些今天工作需要之外的東西,如果你只知道今天需要什么,而不知道明天需要什么,那么你自然不會進(jìn)步。
?6. Go home and once in a while cook food. YES, real food.?
6.在家偶爾做做飯。是的,真正的做飯。
It will teach you the difference between following a recipe and creating a meal.?
這樣可以讓你明白看菜譜和真正做飯的不同。
First is oriented towards knowing what you need to create the dish and second to create a meal with what you have......
菜譜只會告訴你做一盤菜需要什么,然后當(dāng)你真正去做了,才知道自己到底有什么。
just a little difference.
這便是“看”與“做”的區(qū)別。
This was my biggest lesson as a startup company and it did not come easily.
這是創(chuàng)業(yè)公司給我的最大的教訓(xùn),它來之不易。
?7. Innovation and good ideas (technology or product) originate everywhere. Please share with us.
7.創(chuàng)新和一些好的觀點(diǎn)(技術(shù)或產(chǎn)品)來源于生活的各個(gè)角落,記得和我們一起分享。
?8. I know you hate business folks. I do see why.?
我知道你們不喜歡業(yè)務(wù)人員。我也知道原因。
They sell what you cant produce;?
他們賣那些你們無法開發(fā)的東西;
they promise when it cant be done;
他們承諾那些軟件根本不能實(shí)現(xiàn)的東西;
they ask more when they don't pay.
在客戶未付錢的時(shí)候他們會不停的對你們發(fā)出質(zhì)問。
But business will not run without their ability to ?position the product.?
但是如果沒有他們對產(chǎn)品的定位,沒有他們的業(yè)務(wù)能力,那么商業(yè)將無法運(yùn)作。
That is a hard skill.
這是項(xiàng)難以掌握的本領(lǐng)。
But share your thoughts with me and I will act as a buffer. All disciplines are needed to make a good organization.
但是如果你肯把你的想法與我分享,那我將作為一個(gè)緩沖橋梁,可以更好的將大家組織起來。
?9. Love your profession as an engineer. YOU CAN have engineering/developer role for lifetime AND MAKE A LOT OF MONEY AND HAVE RESPECT AND FUN.
要熱愛你工程師的職業(yè),你可以一生都扮演工程師或開發(fā)者的角色,你會賺很多的錢,贏得別人的尊重,最重要的,你會樂在其中。
總結(jié)
以上是生活随笔為你收集整理的20年工作经验的架构师写给程序员的一封信的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql cluster 安装NDB二
- 下一篇: CGI、FastCGI 知识总结