|
除多年編程經(jīng)驗之外,還有什么能區(qū)分一個程序員是“老手”還是“新手”?編程技巧當(dāng)然是一部分,但它絕非是全部。
聰明的程序員可能比他們的同行擁有更出眾的編程技巧,但那不足以說明他們就是“老手”。同樣,僅僅因為擁有10年編程經(jīng)驗也并不意味著他們就是高手。在工作崗位上,擁有多年編程經(jīng)驗也不能說明問題。即便沒被炒魷魚,那也不能提升你的價值。
下面列舉的事情是大多數(shù)高級程序員都會做的。
1.不止掌握一門編程語言
我相信有些優(yōu)秀的程序員只懂(并精通)一門編程語言,但在某種程度上而言,這其實會限制一個人的思維。就像當(dāng)你手拿一把錘子時,任何東西看起來都像釘子。我認(rèn)為,知道并成功使用至少一門編程語言,這是程序員從新手走向老手的重要一步。我要說的是,像JavaScript和SQL這樣的輔助編程語言,只有當(dāng)你確實已經(jīng)開發(fā)了完整的應(yīng)用程序,并在其中使用這些編程語言時,它們才有價值。
2.工作之余也經(jīng)常編程
我抱怨過把開源作為招賢的一項要求,但那僅僅因為許多充滿激情的程序員把時間花在別的地方。除了對開源有所貢獻(xiàn),你還可以做兼職顧問,兼職創(chuàng)業(yè),開發(fā)自己的產(chǎn)品或者創(chuàng)辦自己的微型軟件公司。當(dāng)然,你也可以嘗試從外部接些兼職項目,可參考伯樂在線的這篇《成功接項目需要注意的幾個要點》。
注:mISV即MicroISV,是一個只有一名員工組成的軟件公司,是一種微型公司。
3.經(jīng)歷完整的軟件開發(fā)過程,從概念設(shè)計到產(chǎn)品實現(xiàn),再到產(chǎn)品維護(hù)
有的程序員希望不用自己動手就可以得到詳細(xì)的設(shè)計說明,然后把缺陷代碼交給測試/維護(hù)小組,這是平庸程序員的一個縮影。任何稱職的程序員都會跟客戶密切合作,去制定需求分析,然后編碼實現(xiàn),當(dāng)然也要維護(hù)。如果你在編碼實現(xiàn)階段偷懶了,那你在維護(hù)階段不得不付出代價。
4.不斷創(chuàng)新
創(chuàng)新就是做一些你身邊的人沒有做過的事情,用來改善你的過程或產(chǎn)品。你不一定非得是世界上第一個做這件事的人,只要發(fā)現(xiàn)一個問題,找到解決方法然后實現(xiàn)它就行。
5.編寫的軟件能解決實際問題
有一副虛構(gòu)的場景:一名黑客,僅僅是出于對技術(shù)以及自己所做事情的愛,一天到晚都在編寫代碼。但這幾乎無助于成就一名優(yōu)秀的開發(fā)者。事實上,我曾見過有些開發(fā)人員和客戶爭論,來采用更好但不太有助客戶的技術(shù)。這會適得其反。你可以利用自己的時間來完善。但涉及工作時,你最好還是編寫能實際改進(jìn)并解決問題的代碼,而不是使用那些不同尋常的算法或接口。
編者后話
這些問題對于任何想成為高級開發(fā)人員的朋友來說,都合情合理。因為這些問題和擁有多少年編程經(jīng)驗并沒有關(guān)聯(lián)。如果你能做到上面4-5條,那你就是高級程序員。如果只有1-2條,那你還需要加油努力。
當(dāng)然,在面試中,設(shè)置一個簡單的“是或不是”問題,通常是一個衡量自己的小練習(xí)。更重要的問題會是“你能給我們舉例介紹一下嗎?”
你的高級程序員測試得分是多少?你怎么看待這些問題呢?對高級程序員來說,其中是否多余的嗎?或者你認(rèn)為還有其他條件可以判斷他人為高級程序員?歡迎在評論或微博中分享你的觀點。
本文出處:伯樂在線- 職場博客
本文鏈接:http://www.jobbole.com/entry.php/295
Via:Code Anthem 編譯:伯樂在線 敏捷翻譯組- 朱勇
如需轉(zhuǎn)載,請注明原文來源和鏈接,否則視為侵權(quán),謝謝合作!
it知識庫:是什么成就了一名“高級”程序員?,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。