我們要的是開發者,而不是hacker
譯者:dazuiba
某網路廣告公司需要招聘乙個程式設計師,來幫助公司建立企業對外和對內的**。於是,兩個應聘者來面試。
面試官給出了乙個任務:將乙個csv檔案從一種格式,轉換成另外一種格式。並要求應聘者在24小時之內完成。
第乙個應聘者回到家,設計了乙個簡單而又令人驚奇的**,使用者可以同時上傳多個檔案,並且轉換成功後,系統會通過sms或者email的方式告知使用者。
的確是乙個很好用的軟體。
第二個應聘者收到任務後,他接下來花了30分鐘和相關人員談論業務需求,他要搞清楚使用者用何種方式使用這套軟體,這套軟體提供了哪些有價值的東西。問完他想問的問題後,cto沒有讓他直接離開,而是當場給了offer.
第二天,第乙個應聘者只接到了「謝謝來面試,期望以後有合作機會」之類的**。
程式設計師們都知道軟體是為人開發的,你知道,我也知道。但是當我環顧四周,很少有程式設計師和使用者交流。這貌似是不合清理的,但它的確大部分時間是這樣,用這種開發方式,我們吃了很多虧。
hacker們每天都生產出高質量的**。這很好,如果沒有hacker,我不可能有訊息系統、web伺服器、等等等等。至少我不會有這麼多可選的軟體。但是,即使你是乙個好的hacker,但這並不能保證能對業務有用!
1 盡你最大努力把**寫好
2 好好和使用者談一下業務
hacker總是會選擇第乙個,這並不一定會錯。事實上,乙個好的hacker總會足夠快地講軟體交付使用,即使他推到重來三四次。
但是,作為乙個開發者,應該在一開始就搞清楚這個軟體到底是怎麼被使用的。和使用者多幾次高質量的交流,會保證開發者理解業務如何運作,以及軟體在其中扮演的角色。採用這種方式,更容易達成乙個好的結果:軟體為客戶提供了乙個好的解決方案,開發者也採用了最直接、高效的實現方式(比如:客戶只需要乙個命令列的csv轉換工具,而不是乙個websit)。
hacker們建立乙個website(浪費了時間和精力),而最終還會由客戶買單。好的程式設計師用最快的方式滿足客戶,從而為客戶節省了開支。
什麼是好的開發者?
在網上看到一則新聞,在美國矽谷,黑客馬拉松 堪稱程式設計師中的美國偶像。一群高手雲集一堂,幾十個小時裡開發出一款外掛程式,累了或坐或臥,現場休息,做完當場交作品,是世界上最酷的開發者狂歡。這個週末,這股黑客風潮首次颳進了杭州,首屆黑客馬拉松 腦洞躍界大賽在雲棲小鎮舉行。三十餘支參賽隊伍 一百多名參賽...
這不是我想要的ABAP開發者
在吃餅乾的過程中偶然看到這篇文章,立刻被uc化的標題吸引到了。全文讀完,感覺作者還是有點刻薄的。比如,裡面似乎提到,相比前端技術來說,abap的學習曲線過長,人工有點小貴。而現實恐怕恰恰相反。當前的前端技術本身也許不算更複雜,但是,如果考慮到它正處於快速演變的歷史時期,缺少成熟的學習方案,學習過程中...
優秀的PHP開發者是怎樣煉成的?
4.在資料庫中避免使用聯合操作 比起其它的web程式語言來說,php的資料庫功能十分強大。但是在php中資料庫的執行仍然是一件十分費時費力的事情,所以,作為乙個web程式設計師,要儘量減少資料庫的查詢操作,同時應該為資料庫建立適當的索引。另一件值得注意的事情是在用php運算元據庫時,盡可能不使用多個...