除多年編程經(jīng)驗之外,還有什么能區分一個(gè)程序員是“老手”還是“新手”?編程技巧當然是一部分,但它絕非是全部。

聰明的程序員可能比他們的同行擁有更出眾的編程技巧,但那不足以說(shuō)明他們就是“老手”。同樣,僅僅因為擁有10年編程經(jīng)驗也并不意味著(zhù)他們就是高手。在工作崗位上,擁有多年編程經(jīng)驗也不能說(shuō)明問(wèn)題。即便沒(méi)被炒魷魚(yú),那也不能提升你的價(jià)值。
下面列舉的事情是大多數高級程序員都會(huì )做的。
1.至少掌握一門(mén)編程語(yǔ)言
我相信有些優(yōu)秀的程序員只懂(并精通)一門(mén)編程語(yǔ)言,但在某種程度上而言,這其實(shí)會(huì )限制一個(gè)人的思維。就像當你手拿一把錘子時(shí),任何東西看起來(lái)都像釘子。我認為,知道并成功使用至少一門(mén)編程語(yǔ)言,這是程序員從新手走向老手的重要一步。我要說(shuō)的是,像JavaScript和SQL這樣的輔助編程語(yǔ)言,只有當你確實(shí)已經(jīng)開(kāi)發(fā)了完整的應用程序,并在其中使用這些編程語(yǔ)言時(shí),它們才有價(jià)值。
2.工作之余也經(jīng)常編程
我抱怨過(guò)把開(kāi)源作為招賢的一項要求,但那僅僅因為許多充滿(mǎn)激情的程序員把時(shí)間花在別的地方。除了對開(kāi)源有所貢獻,你還可以做兼職顧問(wèn),兼職創(chuàng )業(yè),開(kāi)發(fā)自己的產(chǎn)品或者創(chuàng )辦自己的微型軟件公司mISV。當然,你也可以嘗試從外部接些兼職項目,可參考伯樂(lè )在線(xiàn)的這篇《成功接項目需要注意的幾個(gè)要點(diǎn)》。
注:mISV即MicroISV,是一個(gè)只有一名員工組成的軟件公司,是一種微型公司。
3.經(jīng)歷完整的軟件開(kāi)發(fā)過(guò)程,從概念設計到產(chǎn)品實(shí)現,再到產(chǎn)品維護
有的程序員希望不用自己動(dòng)手就可以得到詳細的設計說(shuō)明,然后把缺陷代碼交給測試/維護小組,這是平庸程序員的一個(gè)縮影。任何稱(chēng)職的程序員都會(huì )跟客戶(hù)密切合作,去制定需求分析,然后編碼實(shí)現,當然也要維護。如果你在編碼實(shí)現階段偷懶了,那你在維護階段不得不付出代價(jià)。
4.不斷創(chuàng )新
創(chuàng )新就是做一些你身邊的人沒(méi)有做過(guò)的事情,用來(lái)改善你的過(guò)程或產(chǎn)品。你不一定非得是世界上第一個(gè)做這件事的人,只要發(fā)現一個(gè)問(wèn)題,找到解決方法然后實(shí)現它就行。
5.編寫(xiě)的軟件能解決實(shí)際問(wèn)題
有一副虛構的場(chǎng)景:一名黑客,僅僅是出于對技術(shù)以及自己所做事情的愛(ài),一天到晚都在編寫(xiě)代碼。但這幾乎無(wú)助于成就一名優(yōu)秀的開(kāi)發(fā)者。事實(shí)上,我曾見(jiàn)過(guò)有些開(kāi)發(fā)人員和客戶(hù)爭論,來(lái)采用更好但不太有助客戶(hù)的技術(shù)。這會(huì )適得其反。你可以利用自己的時(shí)間來(lái)完善。但涉及工作時(shí),你最好還是編寫(xiě)能實(shí)際改進(jìn)并解決問(wèn)題的代碼,而不是使用那些不同尋常的算法或接口。
聯(lián)系客服