程序員追求的是什么?
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
上周我收到三位Halmstad大學(xué)學(xué)生的電子郵件,他們正在做一個(gè)為期三月的項(xiàng)目,內(nèi)容是關(guān)于程序員在工作中追求的是什么,以及企業(yè)如何吸引有才華的程序員。下面是我對(duì)他們問題的答案,按重要程度排序。顯然人們會(huì)有不同的偏好,所以我很有興趣聽到你們贊同哪些,反對(duì)哪些,重要性的評(píng)判,以及你們認(rèn)為遺漏了的要點(diǎn)。
1. 做軟件產(chǎn)品。我 希望我參與編寫的程序成為公司的主要業(yè)務(wù)。這就排除了IT維護(hù)工作,因?yàn)檫@種工作只是間接地支持了真正的業(yè)務(wù)(不管它是什么)。我也希望參與系統(tǒng)核心部分 的工作,越重要的越好。如果我做的東西出錯(cuò)了,它應(yīng)該馬上成為一個(gè)緊急問題。最后,我不愿意參與僅僅是配置、應(yīng)用或整合其他公司的軟件 — 我希望自己來實(shí)現(xiàn)關(guān)鍵性的功能。 2. 優(yōu)秀的同事。和對(duì)軟件開發(fā)充滿激情的聰明程序員一起工作是催人奮進(jìn)的。我一次又一次地看到和同事一起談?wù)撘恍﹩栴}或設(shè)計(jì)是如何產(chǎn)生比我們?nèi)魏我粋€(gè)人自己悶頭想出來更好的思路的。這種合作方式不光是產(chǎn)生更好的代碼,過程本身就是非常令人享受的。 你怎么知道某人是不是一個(gè)優(yōu)秀程序員呢?一個(gè)特別好的特征就是看他們是否持續(xù)學(xué)習(xí)和提高他們的技能,例如通過讀書、看博客、參加培訓(xùn)課程、以及參加技術(shù)大 會(huì)。這倒也不是一個(gè)必要條件,我就曾經(jīng)和很多不干這些事的很棒的開發(fā)者共事。最后,優(yōu)秀的開發(fā)者會(huì)吸引其他的優(yōu)秀開發(fā)者,因?yàn)橐陨显颉H绻粋€(gè)企業(yè)有很 多優(yōu)秀的開發(fā)者,它就更容易招到更多的優(yōu)秀開發(fā)者。 3. 挑戰(zhàn)難題。程 序員通過代碼解決問題。開發(fā)的產(chǎn)品起碼在某些角度需要聰明的思路,比如低延遲、大量并發(fā)請(qǐng)求、或有限的硬件資源。不過,很多軟件產(chǎn)品都是由常規(guī)代碼組成, 沒有什么難做的部分。所以你也不能只是盼著做"困難問題"而避開其他的所有需求。而且,組織好那些看起來很無聊的代碼,讓它們?nèi)菀桌斫夂途S護(hù),這本身也是 一個(gè)巨大的挑戰(zhàn)。 4. 很酷的技術(shù)。這主要是關(guān)于使用有趣的編程語(yǔ)言(例 如Clojure、 Erlang 或者 Go),但也包括框架和應(yīng)用(例如Hadoop 或 Cassandra)。這可能是某些公司有問題的地方。如果它們的應(yīng)用是用某個(gè)語(yǔ)言(比如C++)寫的,它就不會(huì)改了。所以如果你想改用一些新的語(yǔ)言,你 可能需要換個(gè)工作。例如,如果你在斯德哥爾摩想用Erlang,你可以給Klarna 或 Campanja公司投個(gè)簡(jiǎn)歷試試。 5. 用戶。編碼的樂趣之一是做出一些對(duì)別人有用的東西。做了東西卻沒人用就無聊了。要讓用戶(越多越好)關(guān)注你開發(fā)的努力并且給予有價(jià)值的反饋。唯一例外的可能是創(chuàng)業(yè)的時(shí)候,但是之后就要把吸引盡可能多的用戶作為優(yōu)選先的事情。 6. 不錯(cuò)的薪水。擁 有大量?jī)?yōu)秀開發(fā)者的公司懂得優(yōu)秀人才的價(jià)值。因?yàn)閮?yōu)秀和一般程序員之間的差別是巨大的,所以報(bào)酬向優(yōu)秀開發(fā)者傾斜在經(jīng)濟(jì)上是有道理的 — 其實(shí)在生產(chǎn)效率上的差別遠(yuǎn)大于薪酬上的差別。反過來說,那些不舍得給程序員較好薪水的公司往往把程序員看作是可以隨意更換的"資源"。那么這些公司在其他 方面的表現(xiàn)恐怕也是你看不上的,不僅僅是低薪水。 7. 很好的工具。這個(gè)因素的重要性幾乎是不言自明的。一臺(tái)快速的計(jì)算機(jī)和幾個(gè)顯示器可以加快開發(fā)過程 — 誰(shuí)會(huì)反對(duì)這一點(diǎn)呢?(好吧,那些光看成本不看效率的禿頭老板可能會(huì)反對(duì)) 伯樂在線補(bǔ)充:37signals 員工 Noah 的工作臺(tái)——《37signals員工的辦公環(huán)境》 8. 一周工作40小時(shí)。如果你總是要加班完成任務(wù),肯定是你工作的單位有一些問題。而且,長(zhǎng)時(shí)間工作也不等于有效率。 9. 最少的官僚主義。對(duì)于開發(fā)過程來說,或多或少會(huì)有敏捷開發(fā)方法的影子,看起來大家都采用了這種思路。根據(jù)我的體會(huì),在大公司里日常管理的那些瑣事基本上都是躲不開的問題。 10. 在家工作。 有時(shí)候能在家工作是有效的,不過我不常這么做。我喜歡在辦公室里,和同事交流。我曾經(jīng)通過視頻會(huì)議、聊天工具和電子郵件在一個(gè)遠(yuǎn)程辦公室工作,但這樣的工作效率還是不如現(xiàn)場(chǎng)合作的高。 11. 離家近。顯然這不容易強(qiáng)求,但是能不用每天花幾個(gè)小時(shí)在路上多好啊。 評(píng)論 如 果你是咨詢顧問(而不是程序員),這個(gè)列表上某些項(xiàng)可能會(huì)不一樣。我總是愿意在產(chǎn)品公司工作,主要因?yàn)槲蚁矚g深入了解系統(tǒng),看著它隨時(shí)間如何演變。所以我 沒有作為咨詢顧問的第一手工作經(jīng)驗(yàn),不過我覺得是這樣的:作為一個(gè)咨詢顧問,你更容易接觸到很酷的新技術(shù),因?yàn)槟阌袡C(jī)會(huì)和很多不同的客戶一起工作。但是, 即使你有很棒的同事,你可能也不會(huì)每天和他們?cè)谝黄鸸ぷ鳎驗(yàn)槟銈儠?huì)被派到不同的客戶那里去。 這就是我在單位里最看重的幾個(gè)因素,按重要程度排序。在現(xiàn)實(shí)生活中總會(huì)打一些折扣,但越是列在前面的因素,我就越不愿意給它們打折扣。你看重的因素有哪些呢?該文章在 2013/4/5 18:17:24 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |