Ⅰ 如何辨別一個程序員水平的高低呢
有的時候單純靠一個面試很難辨別一個程序員的水平是什麼樣的。原因很簡單,因為很多面試題在網上都有,如果刻意准備那麼一般都能回答的不錯。所以想辨別一個程序員的水平需要一定的方法。
上述幾方面我們稱為應能力,還有一些軟能力也是非常重要的,比如責任心,對技術的態度,學習能力等等。當然,這些就更難考量了,本文暫不介紹。
如果上述幾方面都比較不錯,那麼這個程序員的水平應該是不錯的。即使對目前的工作的知識儲備可能還有欠缺,但經過一段時間後必然可以
Ⅱ 成為優秀程序員的十個有效方法
如何快速成為一個優秀的程序員?
優秀的程序員是在穿過一條單行道的時候還會往兩邊看的人。
作為一個IT行業的軟體程序員,每天驅使我們日復一日的辛勤工作的,是來自我們對編程的興趣和激情。但是要讓編程變得始終有趣,我們必須學會堅持某些成為優秀程序員的基本原則。
我並不是要寫出一些咒語,你照著執行就可以成為一個優秀程序員了。我的目的是想記錄下我學習到的和用過的一些有用的經驗,它們幫助我獲得比較好的結果。對於優秀程序員是沒有明確定義的,這里北大青鳥web前端培訓專家(web.te.cn)指的是那些創造出了優秀IT解決方案的以及幫助這個行業增長的那些人。
對於任何行業任何工作來說,融會貫通是獲得成功的關鍵。一個人想要成為優秀程序員,就必須有堅實的基礎。核心理念的理解會幫助你用最好的方法設計和實施出最完美的方案。如果你感覺到不能掌握核心的計算機科學或者某個編程語言的知識點,現在開始回顧基礎一點都不晚。
1.開始為你寫過的代碼貼上標簽(怎麼做,做什麼)
我發現優秀的程序員和普通程序員之間有一條明顯的分界線,優秀程序員渴望深究每行代碼做了些什麼,以及如何實現的。有那麼一小群人,他們一定要弄懂每一行代碼。我知道如果時間非常緊張的時候,我們經常不能夠遵循這個原則,僅僅寫出些代碼,知道它實現了需要的功能。如何處理這種情況又是另外一個話題,但是作為一個程序員,我們經常要盡可能深入探索。相信我,隨著時間的推移這會變成一個習慣,之後每次你都會不知不覺的這樣做了。
2.幫助他人,你可以學到更多
許多人都有個共同特點,只有當他需要幫助的時候,他才會求助於論壇或者群。優秀程序員不同之處在於他們會經常瀏覽論壇去幫助他人。相比較於靠別人幫助解決問題,他們幫助他人讓自己學到更多。在一個團隊中也是一樣,幫助他人解決問題收獲更多。相信我,了解他人的問題,思考並最終提供解決方案吧,你會比之前學到的更多。
3.寫簡單易懂,有邏輯性的代碼
正如KISS原則(保持短小精悍)適用於生活的方方面面一樣,它也適用於編程。盡量寫有邏輯的代碼,避免復雜化。有時人們寫復雜的代碼僅僅是為了展示他們有能力寫出這樣的代碼。我的經驗告訴我,簡單而富有邏輯的代碼非常的好,會產生的問題更少,也更容易擴展。我記得一句話:
好的代碼本身就是最好的文檔。當你想要加註釋的時候,問問你自己,「我能如何改進我的代碼,才能不寫注釋也讀得懂呢?」
4.花更多的時候分析問題,你將會花更少時間去解決問題
花更多的時間理解和分析問題,然後再設計方案吧。你會發現剩下的事情很容易了。設計不是說要用建模語言和工具,可以是僅僅看看天空在腦子里構思。那些在遇到問題就開始敲代碼的人往往會最終偏離需求。
如果你洗澡的時候不能理清整個程序的結構,那麼你還沒准備好開始編程。_RichardPattis
5.成為第一個檢查你的代碼的人
雖然有一點點難,但試著在其他人修改你代碼之前修改它,隨著時間的推移,你會寫出幾乎沒有bug的代碼。對你的代碼做沒有任何偏見的檢查,也不要猶豫讓其他人來檢查你的代碼。和其他優秀的程序員一起工作,接受他們的意見能夠幫助你也成長為一個優秀的程序員。
6.不要迷失在快速更迭的科技世界
在IT行業中,我經常遇見許多人,他們對現在的工作不滿,甚至離開它去追尋新的工作,理由是因為他們想要學習最新的科技。我們每天聽到的都是新工具、介面、框架,能讓程序更簡單,速度更快。這在科技世界中司空見慣並會一直如此。但是最基本的最核心的科技變化比那些框架、工具和介面的變化小得多。就像大海,大海表面上波濤翻滾,但大海深處卻相當平靜,而那裡才是水生生物生存的地方。所以將你自己置身於核心技術的大海深處吧。舉個例子,在Java企業級應用中,每個星期都會出現新的框架,但是核心的技術是不變的,譬如基於客戶端-伺服器端的請求,MVS模式,filters/servlets/JSP,數據源綁定,XML解析等等。所以要花功夫去學習核心概念,而不是去擔憂日新月異的框架和工具的出現。相信我,有了核心技術的基礎,你會發現學習新的框架,工具以及介面變得更容易了。
7.應急方案不會持續很長時間
很多時候軟體師們會採用應急方案(可能是時間不夠,可能是問題理解不透徹或者是缺少經驗)。但是這樣往往帶來的結果是,代碼混亂,缺乏可擴展性和維護性,後來浪費了更多的時間。請在你清楚整個方案後再開始實施。我知道有些情況下應急方案無可避免,就好像,一個人應該說實話,但是你在某些情況下不得不說謊。
8.閱讀文檔
閱讀很多文檔是作為優秀程序員的必備習慣之一。可能是產品說明書、JSR、API文檔、教程等。閱讀文檔幫助你獲得必要的基礎知識,寫出更好的代碼。
9.你可以學習他人的代碼
我接觸過一些優秀的程序員,他們在IDE裡面一直放著JAVA源代碼,並經常在日常工作中閱讀和查閱。他們這樣做不僅是滿足求知的渴望,還從中學習了如何寫優秀的程序。閱讀和查閱那些你認為可靠的出名的開源代碼或者比你資深的程序員的代碼,你會寫出更棒的程序。
最後,我想說的但沒有將其列在上面的:不要和他人比較
和他人的比較往往會造成消極的情緒和不健康的競爭。每個人都有他的長處和短處。揚長避短很重要。我也經常看到一些基礎很厲害的程序員范很低級的錯誤。所以僅僅和自己比較,列舉你自己需要改進的地方,並持續改進它。編程是很有意思的事情,享受它吧。
任何一個傻瓜都能寫出計算機能理解的程序,而優秀的程序員卻能寫出別人能讀得懂的程序。
Ⅲ 初學程序員有哪些快速入門的方法
可以買本教材自學、也可以跟著教學網站的教學課程學習。
Ⅳ 如何追一個程序員
這個世界上存在著四種人:第一種男人,第二種女人,第三種女博士,第四種程序猿。程序員這個職業可謂是褒貶不一,有的人說很輕松,有的人說很苦逼。我身邊也有干程序員的朋友。那麼怎樣去追一個程序員?這裡面的說法就有很多了。就讓我秋名山老司機來為你好好的講解一番。 程序猿和程序猿是不一樣的,有的程序員每天都非常的苦逼,一日三餐,什麼時候吃那都是不知道的事情了。甚至加班,都要加班到凌晨一兩點鍾。
其實在他的眼中,他卻不是這樣想的,他認為既然選擇了我們在一起,就要互相的扶持,互相的關心,互相的照顧。雖然這個程序員可能平時的時候沒有對你照顧,但是他絕對會在其它地方為給你找回來。既然你已經決定了,想要找一個程序員,就一定要做好了這種思想准備。
Ⅳ 8個方法讓你成為更優秀的程序員
現在是時候認真考慮提高你的編程技能了!
這是給自己設定的一個簡單的職業生涯提升目標,但是「成為一個高薪程序員」不是一個簡單的目標。一方面,「我要變得更優秀」意味著你知道「更優秀」是什麼樣的。另一方面,太多立志改善的人卻不知道怎麼做。
下面我要分享8個可操作的,可提高編程技能的行為准則。
1提醒自己要學習
學習的第一步是要認識到,你不懂。因為不懂,所以才需要學習。這聽上去很明顯,但有經驗的程序員肯定記得自己用了多長時間才能做好這個心理建設。太多的計算機科學學生帶著一種傲慢畢業:「我懂得最多」,自以為是地認為他們知道一切,並且有一種想要證明給每一個新同事看的強烈慾望。換句話說:這樣一種「我知道我懂我了解!」的態度會成為阻礙你學習新東西的攔路虎。
2不要竭力證明自己是對的
要成就偉大——而不只是優秀——你必須從經驗中學習。但要小心,經驗會讓我們重復錯誤的行為,養成壞習慣。我們都遇到過有著8年經驗的程序員不斷說自己的經驗豐富,倚老賣老。為了避免一葉障目,你應該回顧自己所做的一切,問問自己,「怎樣才能做得更好?」
新手軟體開發人員(以及很多有經驗的開發人員)觀看他們自己的代碼是為了欣賞它的精彩。他們編寫測試是為了證明其代碼可工作,而不是為了讓它失敗。真正偉大的程序員會積極尋找他們錯誤的地方——因為他們知道,最終用戶必將會發現他們遺漏的缺陷。
3「代碼可工作」不是你止步的標志;而是你開始的地方
是的,第一步是寫出高質量的軟體,滿足規格說明。普通的程序員往往在這里就放棄了,直接跳到下一件事。
但是就此當作是「已經完成」而止步,就像是拍了張照片就希望它成為一件藝術品一樣荒誕可笑。偉大的程序員知道第一次迭代就只是第一次迭代而已。可以工作——那麼恭喜你!——但是這不是結束。你還需要讓代碼變得更好。
一些流程定義了何為「更好」。有沒有價值使其更快?文檔更簡單?更可重用?更可靠?對於不同的應用程序,這些問題的答案也各不相同,但是這個流程是不變的。
4寫三遍
好的程序員編寫可工作的軟體。而那些偉大的程序員編寫的軟體運行起來極為出色。這很少是能夠一蹴而就的。最好的軟體通常要寫三次:
首先,你寫軟體是為了證明給自己(或客戶)看該解決方案是可能的。其他人可能不會意識到這僅僅是一個證明型的概念,但是你知道。
第二,讓它工作起來。
第三,讓它正確工作。
這種程度的工作可能並不明顯,如果你去看那些最佳開發人員的工作的話。他們做的一切都顯得如此才華橫溢,但你沒有看到的是,即使是明星開發者,在將自己的軟體展示給別人看之前,可能也扔掉過第一次和第二次的版本。拋棄代碼重新開始是一個能將「力求完美」納入個人工作流程的好方法。如果不出意外,「寫三遍」會告訴你很多解決問題的方法。它可以避免你陷入困境。
5閱讀代碼,閱讀很多代碼
你可能已經聽過這個建議,實際上這是提高編程技巧最常見也是最有價值的建議。但是很多人不知道閱讀別人的代碼之所以如此重要的原因。
當你閱讀別人的代碼時,你要去看別人是如何解決問題的。但不要把它當作文學來看;把它當做一個教訓,一個挑戰。為了變得更好,你得問自己:
我會怎麼寫那樣的代碼塊?在你看到另一種解決方法之後,你有什麼不同的做法?
我學到了什麼?怎麼應用那個技術到我以前寫的代碼?(「我從來沒有想過在那裡使用遞歸下降」)。
我要如何改進這個代碼?如果它是一個開源項目,而且你相信自己有一個更好的解決方案,那麼就去做!
用作者的風格寫代碼。練習這個可以幫助你了解寫軟體的那個人的思維。
不要光想不做。寫下你的答案,無論是在個人日記,博客,代碼審查過程中,還是在開發者社區論壇上。就像給朋友解釋問題可以幫助你理清解決方案,寫下並分享你的分析也可以幫助你了解為什麼你對別人的代碼會有這樣一種既定方式的反應。這就是我前面提到的自省,自省可以幫助你冷靜地判斷自己的長處和短處。
警告
閱讀大量的代碼很容易,但要憑此就成為一個偉大的程序員未免異想天開。許多開發人員會通過開源代碼或其他軟體來「找尋答案」,而大多數人的做法是,復制和粘貼恰巧出現的可解決類似問題的代碼。這樣做實際上是在讓你變成一個更差的程序員,因為你只是盲目地接受別人的智慧,而沒有消化吸收。
6寫代碼,而不僅僅是作為分配的任務
工作於個人編程項目有很多優勢。首先,它提供了一個學習工具和技術的途徑,而這些工具和技術在你當前的工作中是學不到的,但是這能讓你在找下一份工作時更有競爭力。無論你是致力於開源項目,還是為當地的社區組織提供無償的勞動,都可以讓你增加技術技能和自信。
為了好玩而寫代碼的另一個優點是,它迫使你靠自己去搞清楚這些事情。你不能將難的那部分留給別人去做,所以它可以避免你太快地向別人尋求幫助。
小貼士
不要選擇那些你永遠不會失敗的個人項目。你需要失敗!但你不會希望在工作中失敗,或者當項目有時間期限的時候。
7.盡可能一對一地和其他開發人員合作
這有助於仔細傾聽別人的思路和想法。方法可以是結對編程,可以是去參加編程馬拉松,也可以是加入一個編程用戶群。當你致力於一個開源項目時,要注意你從用戶和其他開發人員那裡得到的反饋。在他們的批評建議中有沒有什麼共同點?
你或許會很幸運地找到一個可以信任的個人導師,他會指導你從編碼技術到職業決定的所有東西。不要浪費這些機會。
8.學習技術,而不是工具
編程語言、工具和方法變化不定。這就是為什麼我們要積累盡可能多的經驗,使用盡可能多的語言和框架。專注於編程基礎,因為基礎知識永遠不會改變:要更注重結構,而不是編程。如果你覺得只有一種做事的正確方法,那麼可能是時候實戰檢驗了。教條會阻礙你學習新事物的能力,同時要試著讓自己慢慢適應變化。
還有很多,但是自我提高的一個關鍵原則是知道何時停止。
Ⅵ 找程序員去哪找
通常優秀的程序員在整個職業生涯中,可能會有4次求職。
那些最優秀的大學畢業生,他們會從教授那裡得到實習的機會,而教授跟業界有不少聯系。這樣,他們會早早地就從實習公司得到機會,根本不用去找其他工作。如果他們離開那家公司,那可能是因為同朋友一起去創業,或者因為他們跟著一個了不起的老闆一起跳槽到另一家公司,或者因為他們決定一定要換個工作方向。比如說Eclipse ,因為Eclipse很酷,所以他們想去BEA 或者IBM找一個Eclipse的工作,然後他們肯定會得到這份工作,因為他們是優秀人才。
如果某一天,你遇到了這樣的人出現在招聘市場上,那麼你很幸運,你真的非常幸運。可能的情況是,他們的配偶決定到安克雷奇 當一名實習醫生,他們就會發出簡歷,給少數幾個他們認為自己願意效力的位於安克雷奇的公司。
但是大多數時候,優秀的程序員(我幾乎是在重復了)是那麼優秀(對,我就是在重復),未來的僱主通常會一眼看出他們的優秀,這意味著,這些程序員基本上想去哪裡工作,就能去哪裡工作。所以,老實說,他們不會發出許多份簡歷,到處找工作。
聽起來,他們就是你想雇的那種人?當然。
這條規律(優秀的人才從不在市場上求職)有一個推論,那就是在人才市場上找工作的,大部分都是一些水平很差、完全達不到要求的人。他們一年到頭都在被解僱,因為他們不能完成工作。他們所在的公司也會完蛋,因為這些人水平太糟糕,以致於整個公司都會被他們拖垮。是的,這種事真的會發生。(公司完蛋的另一個可能的原因是,既然僱用了一個不合格的程序員,就可能僱用一大堆不合格的程序員,累積起來,就導致了最終的失敗。)
謝天謝地,這么糟糕的人很少能夠求職成功,但是,他們總是不斷地發出求職信。他們找工作的時候,就去Monster.com ,將所有的職位翻看一遍,300個或者1000個,試圖中獎。
從數量上說,優秀的人才很少,而且從不出現在招聘市場上,而那些不稱職的人,即使數量也同樣少,卻在整個職業生涯要申請幾千份工作。所以,老兄,現在讓我們回到你從Craigslist 上搞到的一大堆簡歷上來。你對他們中的大多數都看不上眼,有什麼好奇怪的?
我猜想,聰明的讀者讀到這里,會指出我遺漏了最大的一類人:那些可靠的、稱職的程序員。人才市場上這一類人在數量上多於優秀程序員,但是少於不稱職的程序員。不管怎樣,總的來說,在你收到的1000份簡歷中,他們的比例是很小的。在絕大多數情況下,幾乎所有此刻桌子上堆著1000份簡歷的Palo Alto 人事經理們都會發現,其中970份簡歷是出自同樣的那少數970個不稱職的程序員,內容都一樣,這些傢伙針對每一份工作都發求職信,也許會這樣幹上一輩子。1000份簡歷中僅僅只有30份是值得考慮的,其中可能偶然會出現一份優秀程序員的簡歷。OK,可能一份也沒有。請想一想,如何在一堆乾草中找到一根針。我們下面將會看到,這是可以做到的,但是比較難。
Ⅶ 通過怎樣的方法或者是工具可以查看網頁的源代碼這些源代碼有怎樣的作用
通過什麼樣的方法可以查看網頁源代碼?其實有很多工具和方法都可以查看網頁源代碼,這些代碼可以幫助學習編程或者研究對手網站的程序員有很大的幫助,因為源代碼基本上很難隱藏,所以這樣找尋更方便,下面我就來說一下我平時的一些使用方法,僅供參考。
問題總結
所以通過簡單地瀏覽器就可以查看網頁的源代碼,主要看你要用這個源代碼來做什麼,很多的人都是通過源代去仿製別人的網站,還有些人是用這個方法來學習,不管不過做什麼,這個方法都是最簡單的方法,希望可以幫助到大家,有些網站為了防止別人偷走代碼數據,會進行加密或者隱藏,不過這些也是可以通過技術手段來實現的,以上就是我的個人想法,僅供參考學習。
Ⅷ 如何成為一個程序員
想要從零開始成為程序員,先不要著急的去學習,而是先要去了解程序員。
1.隨便在招聘網站搜索就會發現程序員會分有很多類型,那你就需要確定自己將來想要發展的方向,自己的職業規劃是什麼?
2.通過搜索可以看到,剛剛起步的程序員工資並不是很高而且學習階段也會比較忙,那這個時候你是不是靠考慮一下如何兼顧生活和工作?工資如何支配合理等問題(沒有經驗限制的工作相對較低)
PHP程序員崗位要求
關於學習建議你這樣試試看:
學習的方式基本可分為兩個類型,一個是碎片化的學習,一個是系統進修。
你可以從網路上各機構大量的視頻或者書籍得到相關的學習資料。從大量的資料中,發現真正的干貨,從而不斷學習,這屬於碎片化的自習。由於自學周期比較長,還有不少小夥伴選擇是一邊工作賺取生活費,一邊再利用閑暇時間學習,當然如果你的精力充沛,這也是一個好辦法。
如果要報培訓班, 一定要找正規的培訓機構學習,不然容易被坑。培訓機構裡面的課程都是現在工作中需要用到的,時間短,基本上是可以讓你快速上手工作的。但是要把所有的知識點都消化就沒那麼快了,所以需要自己私下更加的努力,鞏固學習。
注意事項:
1. 自學要注意的是:自學入門時會很枯燥,不要兩天打魚三天曬網!!!切記
2. 在培訓機構里學習要注意的是:勤加練習、主動自學、有問題提,不懂的盡管問老師(把交的錢發揮到極致),不然之後再有問題就沒有這么好的機會能夠直接得到老師的指點了。
最後,祝願想要成為程序員的小夥伴都能心想事成哦(*^▽^*)~
Ⅸ 如何才能觀察得出一個人是不是程序員
首先我們都知道程序員是一個非常辛苦的職業,因為他們常常要熬夜,並且在電腦前一坐就是一整天對他們的身體影響是非常大的久而久之,他們就會發現他們有脫發的行為,在我們縣程序員的時候,我們會發現程序員的發際線一般都比較的高。這是因為他們不規律的生活習慣所造成的。因此,當我們看到一個年輕的人,但是她的頭發卻非常的少,那麼他一定是程序員。
Ⅹ 程序員提升個人能力的方法有哪些
一個人想要提升能力的方法有很多種,程序員在工作過程中華提升個人能力是非常關鍵的。對於程序員來說,不僅需要提升個人能力,提高自己對項目開發的實踐能力也是非常關鍵的。那麼程序員應該從哪些方面提高自己的能力呢?下面北大青鳥為大家介紹程序員提升個人能力的方法。
1、了解自己的興趣傾向
首先最重要的就是了解自己對什麼行業感興趣,自己想要在哪裡領域中進行發展。其實最重要的還是要了解自己對什麼事情更加感興趣,在學習過程中,興趣是非常重要的,它能讓你在遇到問題的時候積極解決問題,並且不斷的堅持學習。
2、個人的工作經驗
選擇決定這發展,你是想進行前端還是後端,是在大公司發展還是小公司發展,主要針對於用戶還是商業,偏向於設計方法還是決策方面。在考慮個人能力提升的時候,昆明IT培訓建議最好根據自身之前的工作經驗進行考慮。
3、個人的優勢和劣勢
正確認識自己的長處和短處是一個自我認識的過程,這是很多人希望能夠在對話中進行認識和准確定位的。在選擇就業的過程中,如果能夠很好的展示出自己的優勢,能夠具備更大的競爭力,但是在展示自己優點的同時,還需要認識到自己的缺點,雲南IT培訓認為只有清晰的認識自己,才能在工作中避免和不斷的提升自己。
4、個人成長規劃
事實上,每個人都需要有一個明確的願景,即其短暫的職業生涯、其增長道路、明確了解自己想要找到的方向、規劃或自我定位,這是需要非常清楚的,但是雲南電腦培訓認為隨著個人規劃的不斷明確,自己的目標也會更加清晰。