如何做一名程式設計師(一)

2021-09-30 06:54:58 字數 1847 閱讀 1280

如何做一名程式設計師

——乙份簡易但全面的個人總結

獻給hire.com

的全體程式設計師

robert l. read

翻譯:[email protected]

作者的書:how to be a programmer

1. 簡介

2. 入門

3. 高階

4. 高手

第一章

簡介

成為乙個好的程式設計師是困難、但同時也是有價值的。在實現乙個軟體專案中眾人的願景時,最頭疼的就是要面對同事和客戶。程式設計是一件重要而且需要大量智力和技能的工作,但和為做一款令客戶以及各種對該軟體負有部分責任的同事都滿意軟體而需要的其他技能相比,程式設計本身就是小兒科了。本文中我盡可能簡潔的總結了一些自己希望在

21歲時就有人講給我聽的有關上述其他技能的東西。

所以,這些內容注定會比較主觀,甚至有一點點武斷。我把討論的範圍限定在程式設計師工作中最有可能碰到的方面。其中很多問題以及解決方案都非常普通、大眾化,所以我有時看起來會有些嘮叨。儘管如此,我還是希望這篇文章能有所用處。

程式設計在課堂上就會教。很多優秀的書籍:

the pragmatic programmer[prag99]

,code complete[codec93]

,rapid development[rdev96]

,extreme programming explained[xp99]

都教我們怎麼程式設計以及其他一些成為好程式設計師的話題。在看本文前或者閱讀的同時,你應該讀一下

paul graham[pgsite]

以及eric raymond[hacker]

的文章。與這些優秀的作品不同,本文更強調人們之間的關係問題並綜合總結了我認為的必須技能。

文中的術語「老闆」(

boss

)指代任何交給你任務的人。我等價的使用生意(

business

)、公司(

company

)、和部落(

tribe

)等詞彙,除了以下一些區別:生意隱含著獲得收益的行為、公司則指代現代的工作場合、而部落則是和你有著共同價值觀的那群人。

注意:如果你希望列印出來供私人使用,不列印後面的附錄也許會節省一些紙張。

第二章

入門

1 個人技能

1.1

學會除錯程式

除錯能力(

debugging

)是成為程式設計師的基石。雖然動詞除錯(

debug

)的第一條意思是清除錯誤,但更意味這要能夠檢查並跟隨程式的執行。不能進行有效除錯的程式設計師是就像盲人一樣。

那些認為設計、分析、或者複雜的理論、或者任何模糊的難以表述清楚的內容更加基礎的理想主義者並非專案中承擔工作的程式設計師。後者並不處於理想化的環境中。即使你是完美的,你仍然要接觸由大公司或者像

gnu這樣的組織、抑或自己的同事寫的**。包括相應的文件,這些**中的大部分並不完美。如果不能夠跟隨程式檢視**的執行過程,一點小問題都會讓你摸不著頭腦。通常這種能力只能通過不斷的實驗和除錯實踐獲得。

除錯是關於程式如何執行而非程式本身的。如果你的軟體是從其他公司買來的,你通常獲得不了源程式。但仍然會有**執行和軟體文件不一致(比較普遍和壯觀的是你機器的崩潰),或者文件中並沒有提到的情況出現。更加可能是,你創造了乙個錯誤,檢查**後毫無頭緒。毫無疑問,這意味著你做的假設並不完全正確,或者有一些你沒有預期到的情況出現了。有時通過閱讀原始碼你可以找到問題所在,但當這麼做沒有成效時,你就得除錯了。

--------------

不太確定的內容用紅色標出了。

做一名合格的程式設計師

如果我是一名面試官,我首先會要求程式設計師要有一些基本的品質。比如虛心 認真 耐心。如果沒有這幾種品質,乾脆pass掉。其次我才會考慮比如大家經常提到的邏輯思維 溝通能力 是否能融入團隊等。之前有遇到過這樣的同事。我沒有面試過他 後來才知道這個人是脫關係進來的的 剛進來的時候感覺還是個挺不錯的小孩兒...

做一名合格的程式設計師

做最好的自己 1 總結自己一天任務的完成情況 最好的方式是寫工作日誌,把自己今天完成了什麼事情,遇見了什麼問題都記錄下來,日後翻看好處多多 2 考慮自己明天應該做的主要工作 把明天要做的事情列出來,並按照優先順序排列,第二天應該把自己效率最高的時間分配給最重要的工作 3 考慮自己一天工作中失誤的地方...

如何成為一名卓越的程式設計師

只做正確的事 對於軟體這一行的人,我們有個很大的挑戰,就是如何能夠用正確方法的做事情。什麼是正確的方法,這依賴於你在做什麼和做給誰。而究竟所謂 正確的方法 裡都包括了什麼內容,這並不是重點,重點是你是否能堅持按照這種方式做事。初級程式設計師在這個問題是通常不能做到堅持,而資歷較深的程式設計師卻 能始...