導航:首頁 > 編程語言 > 如何吸引一個程序員

如何吸引一個程序員

發布時間:2023-04-10 07:38:51

⑴ 請問一下c++程序員要怎麼寫簡歷才能吸引人

第一:要強調你對基礎很好。巧前
第二:是有沒有項目經驗,也敗毀就是有沒有自己設計過什麼項目或者游戲。這是很重要的。項目經驗
第三:也就是為人孝枯清了。真誠、

⑵ 如何招到一個靠譜的程序員

1. 簡歷看人
閱讀簡歷永遠是面試的第一步。好的簡歷一定是正確、清晰並且能夠體現候選人最有價值一面的。我首先會過濾掉那些包含錯別字,文句不通或沒有邏輯性的簡歷,因為如果一個程序員連自己的簡歷都不願意去仔細檢查並完善的話,很難想像他寫出來的代碼質量會如何。接著,我便會重點閱讀簡歷中的項目經驗部分,在這里我能夠看到面試者的開發經驗,技能棧,並且判斷他們熟悉的技術框架、工具是否與目前公司要求相匹配。
這里,我還會特別關注面試者是如何來寫這部分項目經驗的,你需要用盡可能簡練的文字來描述項目的背景,你在項目中承擔的角色、參與項目的時長,你用到的技術、以及你在項目中的亮點等信息。優秀的程序員們往往有一個共同的特質,那就是善於歸納,並能夠一針見血的發現問題或把一個問題說清楚。我經常看到面試者在簡歷中像寫故事一般地描述他們的項目經歷,光這一個章節就有好幾頁,其實這反而會給你減分,因為這會讓面試官判斷你缺乏必要的歸納能力。
最後你的一些與編程有關的社會化活動,如:你在GitHub上的開源項目,在知乎、V2EX中給他人的解答以及你的個人技術博客等等都會給你加分,因為這說明你對所從事的工作有著極大的熱情,並願意在業余時間去學習和提高自己,就像在我之前的 「給職場新人的10點職業建議」 一文中提到的,如果你要成為一個領域的專家,那你必須花費超過10,000小時,而這光靠工作時間是遠遠不夠的。
2. 給面試者10分鍾介紹自己最擅長的
當面試者通過了筆試和HR面試之後,你就需要面對面地對候選人進行面試。我遠不是什麼面試專家,但我有一些自己的獨特方法。我討厭問一些很個人的問題,比如你的職業規劃是什麼?你為什麼想換工作?等等。我更願意給面試者10分鍾時間,讓他介紹自己最擅長和最感興趣的領域。這往往能幫助我很快作出下面的判斷:
這個人對他所做的事情是否充滿激情
他們是否能在團隊中很有效地進行溝通
他們是否在專業領域足夠擅長
你的團隊是否會樂於和這個人一起工作
這一招我在面試中用得很多,而實踐證明也確實非常有效。
3. 基礎打牢了嗎?
一般,有一定規模的公司都會為面試者安排機考或筆試,從而能首先篩掉一批未能通過的面試者。另一些規模較小的或初創公司則會讓面試官直接進行技術面試。其實,我覺得這兩者的差別不大,有經驗的面試官往往能夠通過幾個最簡單的技術問題,判斷出面試者的技術基礎是否牢固,這不是為了證明他有多優秀,而是用來判斷他是否是一名合格的程序員。對於我來說,並不看重機考的成績,因為機試的考題很多能夠在網上得到,特別對於一些外包公司,他們總是能夠通過各種途徑得到考題,從而使得他們推送的外包能夠順利通過筆試。
下面是我經常會問的幾個問題(java):
HashTable與HashMap有什麼區別?
Servlet是線程安全的嗎?
jsP中 @include跟jsp:include的區別
HTTP的response code 403和500分別代表什麼
......
這些問題都很簡單,但一些基礎不牢的程序員往往會在這個時候露餡。當然,根據面試崗位的不同,你還可以有針對性地問一些問題,例如,你需要找一個能寫核心演算法的程序員(比如 銀行的總賬計算,或者保險公司的保費計算),那麼你可以問一些演算法相關的問題。
4. 技術深度夠嗎?
具備牢固的技術基礎,一般就可以滿足項目中普通程序員的要求了,但如果你需要找的是一個資深程序員,那麼你還需要對面試者的技術深度進行考察。我們現在做項目時都會大量使用框架,這能使我們的開發效率和質量都得到提升和保障,但同時也降低了對於程序員開發技能的要求。因此我一般會詢問面試者下面的問題,來考察他對所使用框架的掌握程度。
請你描述一下,在這個項目中,從一個HTTP請求發起,到最終的Response返回,它在你的系統和框架內部是如何流轉的?
這個問題往往能夠判斷出面試者對於相關技術掌握的深度。較初級的開發人員描述的層級往往比較淺,比如使用Spring MVC框架的,只能說到實現一個Controller繼承BaseCommandController(甚至很多開發人員只知道繼承了一個公司內部框架的基類),至於再往下Spring框架是如何進行內部流轉的,就再也說不清楚了。而更資深的開發人員,往往能說出框架內部的實現機制,以及如何調用和處理的。在面試者描述的過程中,你還可以穿插詢問一些比較有深度的問題,比如框架中某個類這樣設計是哪一種設計模式的體現,採用這樣的設計有什麼好處等等。這比讓面試者默寫一個設計模式代碼要有效、自然得多。
除了技術層面上的考察之外,對於資深開發人員,還需要考察他們的設計能力。說到軟體設計,大部分面試者都能熟練地背出面向對象的三個基本特性:繼承、封裝、多態,也能把它們的概念描述清楚。但我一般會問下面的這個問題來考察他們的面向對象設計能力。
請用一段程序代碼描述我們所在的這間房間。
我驚訝地發現至少有一半的面試者都很難准確使用Interface和Class來給房間建模,也有一些人會將最基本的代碼語法或關鍵字寫錯。
5. 選擇適合所在企業文化的人
這一點也曾是我經歷的一個誤區,我總是希望能為團隊招到技術能力最強的人,而忽略了他是否與整個公司和團隊的文化相匹配。這往往會造成,雖然招到了人,但沒過多久就因為理念不同不歡而散的結果,反而給公司帶來了損失。讓我們看看GitHub的負責人是怎麼說的。
我們很嚴肅地看待我們自己關於招聘流程的哲學。我們希望每一個GitHub員工都了解他們所要面對的環境,並保證他們是能夠很好適應的。這包括我們所創造的文化、哲學、計劃、錯誤甚至是晚餐。比起他們的技能是否滿足要求,我們更看重他們的潛力以及是否能夠適應我們的企業文化。
我曾在具有鮮明文化差異的不同公司或團隊工作,看到許多崇尚開放、開源的程序員在一個相對封閉,具有很多流程以及規范限制的公司中很難發揮,最終選擇離開。因此在招聘程序員時,選擇合適的往往比選擇最優秀的更重要。
6. 行為面試法
行為面試法可能是我在整個面試過程中唯一用到的教科書面試方法。一個程序員是否能夠很好地工作,不僅取決於他能否順利地完成開發任務,更重要的是在遇到一些特殊場景或問題時,他能否合理有效地處理和解決。行為面試法能夠幫助我們從面試者描述的過去某一具體事件中,預測未來他在工作中可能的表現。下面便是一個我經常用到的問題。
請談談你在這個項目中遇到的最大困難或挑戰是什麼,你是如何解決的。
從面試者對上面這個問題的回答中,我能夠很好地判斷他是否有較強的獨立解決問題的能力,而我認為這是除技術能力之外,程序員最應具備的能力。

7. 給他們一個虛擬任務
經過上面的這些環節,你可能對面試者的整體情況已經比較滿意,但先別急著下結論。我曾見過能夠順利通過上面所有面試步驟,並且被僱傭的程序員,當他們進入實際工作後卻沒能把事情做好。
在你確定是否錄用他們之前,可以給他們一個虛擬任務。我不是說一個抽象的程序問題,而是指一個真實的,可能就存在於你當前項目中,並且需要在一兩個小時之內完成的一個開發任務。我曾經出過這樣的考題:
寫一個小程序將一個以特定格式(如CSV)存儲的文本文件轉換為XML格式,並存儲為另一個文件。
你可以給他一台已經配置好開發環境以及IDE的電腦,讓他當場編寫代碼。當然如果時間有限,你也可以直接詢問面試者的實現思路,並簡單用偽代碼來描述處理過程。通過這個測試,你能夠看到很多細節,比如面試者是否有良好的編碼習慣,異常處理是否規范,代碼邏輯是否縝密高效,以及他的開發效率是否足夠高。如果面試者給出了非常優秀的解答,那麼你就應該能夠判斷他確實是一個優秀的候選人了,因為我從沒碰到過能夠通過上面的測試,卻在實際工作中無法做好的人。

⑶ 程序員工作壓力大,身體也垮,為什麼還這么多人想做程序員

程序員的工作其實壓力非常大,經常都會有程序員因為壓力過大而患上抑鬱症,更有一些程序員因為長期高強度工作而導致猝死,但是每年還是很多人想要做程序員,在一些大公司,比如騰訊之類的大型公司,程序員的競爭也是非常激烈。壓力這么大,身體也很容易垮,但是為什麼還是有這么多人想做程序員呢?我覺得有幾個方面的原因。


第一,程序員的工資還是非常高的。在一些大的公司,剛畢業的程序員工資一萬塊錢都是很少的了,這個相對其他很多專業的學生來說,程序員真的是 一個高薪行業。努力兩三年都可以在小城市買房,在大城市也可以付首付了。所以程序員這個職位能夠吸引很多人進入的最大一個原因就是經濟原因,畢竟有錢賺的工作每個人都會喜歡。
第二,其實換過幾份工作的人都知道,沒有一個工作是不辛苦的,沒有哪個工作是沒有壓力的。程序員的工作雖然也是辛苦的,但是公司能夠給予程序員的一些福利待遇也比較好,相對來說除了辛苦一點其他的保障還是非常好的,所以這就是很多人堅持下來的原因。
第三,程序員的工作每天都是和機器打交道,很多時候不需要和太多的人溝通,這樣的工作對於比較內向或者不喜歡應酬的人來說還是非常不錯的。有一些人有社交恐懼症,而程序員的工作多數時候都是當碼農,所以他們在做這個工作的時候不需要和太多的人有牽扯覺得比較安心。
其實只要想把自己的生活過好,沒有一個人的工作是不辛苦的,只是在辛苦的同時能夠得到自己想要的東西我覺得就夠了。不過程序員的工作壓力大,所以日常生活當中也應該給自己找到合適的鍛煉身體的時間,找到適合自己發泄的途徑,這樣身體才能正常運行。

⑷ 如何追一個程序員

初看到這個問題感覺挺有意思的,因為我自己是學計算機的,畢竟我們班上就有一些大神一樣的存在,我想想他們其實是很好的人呢,樂於助人,他們幫助一些基礎不好的人學習編程啊,要是追他們的話,我還真我沒想過,畢竟我有男朋友哈,不過我認為追他們的話,可以先去聊聊天,多了解了解是不是真正是自己想要一輩子在一起的人,給自己一個肯定,一個信念,我也相信兩情相悅的人終究會在一起,當我們找到一個好時機,可以去向他們表白,告訴他們自己的想法,如果他是真的愛你的話,相信你們一定會幸福的。

現在這個時代,愛情有時候顯得很無用,有時候我們會被它傷的遍體鱗傷,有時我們會感受到溫暖和幸福,即使我們受到傷害,大哭一場以後,我們依然要相信愛情,相信世上有真愛的存在。

不管是不是追程序員,我們都知道程序員也是人,都有七情六慾,我們都需要愛和被愛,也希望程序員能多點時間去陪陪自己的家人和女朋友,對女朋友上點心,別讓她們受委屈,自己的女人自己不對她們好,有一天失去了也不要怪別人。

希望所有看到有情人終成眷屬。

⑸ 怎麼跟一個程序猿聊天,該聊些什麼話題

聊天要滿滿正能量,其實說白了,就是表現的樂觀積極。為什麼要表現的積極樂觀呢?從理論分析,可以體現你的高價值;從情感分析,大家都喜歡跟積極樂觀的人啊。之前知名把妹達人Tango在《壞男孩教你第一次怎麼約會才能吸引女生》里提到過,因為很多人的負能量太多了,悲觀、抱怨、痛苦,跟女孩剛接觸的時候塌高還好,時間一長這些都暴露出來了,最糟糕的是,不僅讓女孩心情不好,自己還特委屈:我不就說點實話/心裡話嗎。這種性格就好像漩渦一樣,把所有快樂都轉化為虛無。而性格內向的人,或多或少都有這個問題,所以要在這里說一說。

1. 聊天應該聊些什麼,忽略負面信息

想想為什麼我們特別喜歡那麼英雄式的人物?因為他們視困難於無物,徑直趟過。能這樣做的,有這樣的心態和能力,無疑是高價值的。所以不管是面對巨大的困難,還是生活中一點點不如意,你能夠體現出來這種視負面信息如無物,無疑也是高價值的;如果你做不到,則會讓對方覺得你很差勁

案例:很早之前看見過一個帖子,主角第一次請女孩吃飯,餐廳是他選的。結果到了餐廳見了面落了座之後,一半出於性格,一半處於不知道說什麼好團判尺,他就開始數落餐廳:桌布上有油漬啦、上菜太慢啦、服務員態度不好啦、菜太難吃啦。結果吃飯完出了門,他還繼續跟女孩說這家餐廳真差勁。然後呢,然後女孩就生氣走啦。令人哭笑不得的是,這個哥們發了帖子,把他說的這些話都寫了上去,卻還不知道錯在那裡。

錯在哪裡呢?1. 他說的都是負面信息,負面信息都是惹人煩的,而且這些負面信息還跟自己現在做的事情---吃飯是緊緊關聯的,你自己想像,要是吃飯的時候,旁邊的人跟你說,這家店的後廚多麼多麼臟和惡心,你還吃的下么? 2. 其次,這家店是男方自己選得,也就是說,在約會的初期,這家店的形象和男方的形象是綁在一起的!罵這家店不好,不就是罵自己,扇自己大嘴巴嗎?

面對負面信息,應該 1. 事前做到最大限度的調查,盡量避讓負面信息,說白了就是去餐廳前先上點評網多看看,別去那些坑爹的地方。 2. 如果面對不可避免的或者突然出現的負面信息,無視好了。比如,桌子上有半杯咖啡灑了,也不多。這要是你會怎麼做?忙不迭的找紙巾或者遞紙巾,手忙腳亂的擦拭一氣,如果粘到衣服上了還要擦來擦去擦個半天,還要聊上一小陣灑咖啡這個話題,大概是這樣吧。如果這件事情發生在大人物身上又會怎麼樣呢?這是我在一本書上讀到的例子,說是三個大人物在一起吃飯交流,一個人說話兩個人聽著,忽然間咖啡灑了,但是沒有任何的慌亂,灑咖啡的人順手拿起紙巾來擦拭乾凈,從頭到尾說的人沒有停頓,聽的人的注意力也沒有離開過講話人的身上,好像灑咖啡這件事情從沒發生過一樣。這就叫無視負面信息。

2. 聊天應該聊些什麼,能看到事物好的一面

我們從小就學習,事物都有兩面性,沒有絕對的好也沒有絕對的話。但是有些人天性就是看的想的都是壞的一面。自己這么想還可以,但是這么對待別人就太差勁了。

例如,朋友做生意,賠錢了。有些人就會說,你怎麼這么笨啊,這個事情那麼明顯,你就想不到嗎?這件事情賴不到別人,只能你自己人倒霉吧。你想想看,人家賠了錢,已經很難過了沖森,你還這么說,這不是讓他痛上加痛嗎?這時候你如果說: 做生意也要學習的,也要交學費的,你賠了錢,這就是學費,雖然失敗了但是你學到了東西,後面再做你就能不會再犯同樣的錯誤了,離成功就更進一步。你要這么說,你朋友準保會覺得心裡一寬,開心許多。

同樣的,女朋友丟了錢包,是說:「你怎麼這么笨,錢包都丟,自己東西自己不看好了!你看好了賊能偷走嗎!」這樣好,還是說:「丟個錢包不是什麼大事兒,人沒事兒就好,錢丟了再賺,不是什麼大事兒,你沒錢還有我呢,放心吧」這樣更能讓女友感覺到舒心安心放心?

3. 聊天應該聊些什麼,會說話

如果對方跟你說她喜歡某種東西,而你又不喜歡,甚至很厭惡,但是又不得不跟她說下去,你會怎麼做呢?說實話,我很厭惡這個東西,這樣嗎?

如果對方買了條裙子,但是你覺得不好看,她又非問你,你怎麼說?說這條裙子真不適合你,很難看,這樣嗎?

很多人思考事物,都是非此即彼,非黑即白的二元論,面對上面的問題,要麼就是說假話騙人,要麼就是說真話得罪人。這就是典型情商不高的表現。其實,會說話,而不是要說假話;會贊美,而不用阿虞奉承。

例如,女孩跟你說她不喜歡貓,那你就說:大家都說貓是奸臣狗是忠臣嘛。這句話,你並沒有表態,說我是喜歡貓或者不喜歡貓,只是說了一句人人都知道的話而已,但是女孩會覺得你是在肯定她的意思。對方問你裙子漂亮嗎,你不必說裙子很漂亮,很適合你,你可以說這個顏色很適合你,或者這個樣式很漂亮,一定很貴吧。這些回答都沒有說假話,同樣讓對方有你肯定她的感覺。

而有的時候,會說話僅僅表現在不說沒用的話,比如,鄰居家要出門旅遊,就不要跟人家說什麼天氣預報顯示那邊要下雨,或者那邊公路剛剛翻了輛大巴死了幾個人;朋友家的孩子出國留學,就不要跟朋友說什麼那個城市治安不好剛剛又被殺死了兩個留學生之類的。

4. 並非只能說好話,墊定正能量基礎

看了上面那些,有些朋友會問,難道我們聊天的時候只能說正面的、積極的好話嗎?當然不是啊。其實,人這東西,最喜歡聽刺激的,恐怖的,獵奇的信息,對於這些信息人的注意力可比那些正面信息高很多。那麼為什麼我一直再說聊天要有正能量呢?

A.墊定正能量的整體形象基礎。當你給了對方這種積極陽光的整體印象,那麼你說些負面能量的東西,別人更容易接受,而且對你的想法會是,看不出你也有這一面啊~~ 會感覺到你這個人有層次,不是一眼看透那麼簡單。而沒有正能量的整體形象,一味的說些負面信息很大的事情,對方只會認為你不成熟、不男人、心理扭曲等等。

B.正能量可以化解某些信息中的負面感,從而襯托出你的積極性格和見識能力。比如聊到聳人聽聞的社會案件,你可以跟對方分析,這件事情發生的社會原因是什麼,報道分析的盲點是什麼,我們怎麼做可以避免遇到這種情況或者在這種情況下保護自己之類的。

就好像太極圖中的陰陽,你看陽並不是純陽,中間是有個黑點的,這說明陰陽不是互相對立,而是互相依存在一定程度內互相轉化的。這里說的正能量也是一樣的,不是要求純粹的積極樂觀,只是需要保持一個整體積極樂觀的形象而已。其實我們在約會學里學的大部分的技巧的原理都是相似的,比如推與拉,打壓與贊美,可得性與不可得性。正能量與負面話題也是一樣,用正能量打造好自己的形象和吸引力,然後善用負面話題引導乃至突破對方底限,你會發現這也是個好搭配。

5. 該說的時候說,不該說的時候不說

有些朋友看了上面的部分,可能會有些疑問,比如,正因為是好朋友,所以才要跟他說怎麼賠的錢,所以才要告訴他他要去的地方下雨,所以才要告訴他他孩子所在的城市危險啊,難道這些也要歸入負面信息嗎?

對於這些,其實都是分時機,有時候你說,就是對的,有時候說,就是不對的。

一, 用正能量中和負能量,上面我說的賠錢那個例子,你可以跟他說他有什麼不對,做錯了什麼,但是最後一定要用正能量為他寬心,讓他覺得未來是光明的,小小的挫折不算什麼。

二, 有些事情,現在不能說,過了再說。比如約會吃飯,餐廳真的不怎麼樣,但是吃的時候別說,聊些開心的事情。等吃完了過一陣子,氣氛好的時候,你可以說,剛剛沒吃好,前面有個xxx店咱好好補補吧。或者跟她一起取笑餐廳的設施或者服務員的態度等等。在經歷不開心的時候,努力讓自己開心好了;等過了不開心的經歷,把不開心的感覺忘得差不多了,再拿它當話題開涮。

三, 有人在那篇經典的《第一次約會技巧之壞男孩如何讓她愛上你》里提到過,有些事情,沒發生的時候說,發生了就不要說。比如你的朋友想去旅遊,還沒有定呢,你可以告訴他,他要旅遊的目的地最近天氣不好;如果他已經定了,明天就要飛了,你今天也別跟他聊這些了,聊也改變不了他的行程了。或者,如果你的朋友想買手機,還沒買的時候,跟你說想買xx款,你可以罵這款手機很sb,什麼廠商優化不給力啊,攝像頭渣啊,運行起來卡的要死啊;但是如果對方已經買了,就別說這些了,買都買了,說不好聽的只能讓人家心裡添堵。

⑹ 如何追求男性程序員

這個問題有意思。

男追女隔座山,女追男隔層紗,所以如何追求男程序員,下面分享一些有意思的idea吧。


第五,放長線釣大魚。

給他發出了以上這些訊氏肢息之後,你就可以開始坐等魚兒上鉤了,你什麼也不需要做,只需要展示自己最好的那一面就行了。因為這個時候你應該做的都已經做了,如果他是真的喜歡你,那他一定會跟你表白的。這也是在給你一個冷靜思考的時間,也是一個互相選擇的時間。


最後,祝你成功!

⑺ 怎麼勾搭高冷的程序員

人都是有感情的,就算是再高冷,她也能被感動的。

在我上大毀禪稿學的時候特別的喜歡一個女孩子,她是計算機專業的,是一個程序員。自己長的特別的漂亮,表現出來很高冷,讓人不想接近,但是為了能夠追到她。自己每天都會按時到一個地方去等她,然後陪她一起下課,剛剛開始的那段時間她對自己不理不睬的,也沒給我好臉色看。

直到有一次她生病了住院,身邊沒有人陪她,我就請了假到醫院陪了她一個星期。一個星期回來以後,襲兆對我的態度360度大轉彎。雖然還是有點對我忽冷忽熱的,但是會主動和我打招呼,甚至會主動和我纖孝說話,就這樣堅持了半年的時間,終於被我感動了。

最終自己抓住機會表白,成功了。

要想勾搭高冷的程序員,最好還是感動她。

⑻ 如何追一個程序員

追程序員難道和其他的男生不一樣嗎,可能是我身邊的程序員都比較奇葩吧,我覺得他們並沒有傳說中的那麼死板,相比之下,我還覺得他們多了一逗比的氣息呢。

先說說我們的那兩個PHP吧,真是金句不斷,我差點咐純就有沖動給他們兩個做個金句語錄了。說話也很幽默,平時總是和我們一起聊天,在求助他們幫忙的時候也會義不容辭,而且我們的程序員都不矮呢。撩起女生來也是一個比一個強的,一點都不會遜色。

所以要想追一個程序員並不是什麼難事,因為做程序員的男生和其他的男生都是一樣的,並沒有真的很死板,碧猛他們在工作的時候很認真,不衡慧咐許有一點馬虎,但是在玩的時候,也是不會輸給任何人的。女追男隔層紗,其實程序員還是很好追的。

你可以先慢慢的對他表達你的喜歡,你喜歡人家總得讓人家知道吧,不能你在這暗戀了好久,被別人捷足先登了。你得讓他知道你對他有意思。程序員男生的反應可能不那麼靈敏,所以你可以多暗示幾次,然後也暗示一下身邊有威脅的同性。讓他們知道這個程序猿是你准備牽走了。

暗示了以後常常請他幫忙。讓一個人喜歡你,就要讓他常常幫助你。如果他很願意幫助你,而且在幫助你的過程中也並沒有表現出什麼不好的情緒,基本他也喜歡你。可以慢慢吸引他,讓他主動去追你。如果他Get不到你的信息,那就沒辦法了,只能你主動表白了。希望你能成功。

⑼ 如何成為一名程序員 6種方法來成為一名程序員

目錄方法1:網路編程1、了解網路編程的含義。2、瀏覽不同的網站,了解它們的外觀。3、學習至少一種頭腦風暴技術/方法,並學習一個用來實現頭腦風暴的軟體。4、熟悉網站結構。5、趕緊學一門圖形設計的課程。6、了解網路下部構造的基本情況。7、巧伍輪學習HTML和CSS語言。8、學習XML及其相關技術,比如XSL和XPath(不是必需,僅作推薦)。9、先建立簡單的靜態網站,直至你熟悉並習慣HTML語言。10、學習客戶端腳本語言。11、熟悉你所學的客戶端腳本語言。12、學習至少一種伺服器端腳本語言。13、學完伺服器端編程語言之後就開始創建一個試驗項目。14、獲得你的網站,開始用你自己的網頁實驗。方法2:桌面軟體編程1、弄清楚桌面軟體編程是怎麼回事。2、了解不同的電腦硬體結構。3、學習一種入門級(小孩子學的那種)編程語言。4、學習程序化、面向對象、函數設序設計規范的入門。5、學習一種程序化程式設計語言的入門課程。6、學習至少一種高級建模技術,比如UML 或ORM。7、開始編寫一些小的主控台應用程式或類似的應用程式。8、學習一門你選擇的編程語言的更高級課程。9、應用你所10、至少再學習一門編程語言規范的入門課程。11、試著比較你所學的兩門編程語言。12、利用你學過的一種語言來學習可視化編程概念。13、開始把你所學的知識運用到你設計的軟體小工程中。14、創建一個虛擬的"畢業工程"。15、通過學習更高級的課程、更加註意細節以及在網上學習搭建架構的技巧,來加深對你學過的可視化架孝信構/庫/包的理解。16、搜索其他含可視化元素的包/庫並學習它們。17、學習圖形學課程(而非圖形設計)。18、成為游戲程序員(不是必須的)。方法3:分布式程序設計1、處理分布式應用編程。2、快速了解通信系統及其硬體。3、熟悉網路硬體結構和設備,比如集線器、接線台和路由器。4、學習網路協議的課程。5、學習XML 語言,並熟悉它。6、開始學習一門shell腳本語言。7、開始時用上你學的腳本知識,只運用程序化程式設計。8、使用你所學的腳本語言,寫出實現機器之間通信的腳本。9、轉移到桌面腳本/編程語言。10、專注於語言的核心部分,尤其hi那些支持網路。11、學習分布式應用設計與結構的課程。12、使用你所學的編程語言來了解服務部分建構和服務。13、學習如下技術中一種或更多。方法4:庫/平台/框架/核心編程1、了解什麼是核心編程。2、學習一門支持創建可重復使用內容/包的編程語言,如果你還沒學過的話。3、學習一門UML 和ORM的高級課程。4、學習軟體工程的課程。5、學習至少一個模塊,基於內容的、面對對象的和 事件驅動編程技術和概念。6、進一步了解不同的操作系統及其支持的編程架構。7、集中學習獨立平台架構、編程語言和技術。8、如果到目前為止你學習的編程語言具有ANSI/ISO/EEE/W3C標准版本,那麼掌握這些標准。9、嘗試模擬簡單的、已經建立的庫,尤其是開源的庫。10、在你的編程領域內尋找開源的包。11、學習不同方法。方法5:系統編程1、了解系統編程的定義。2、跟著"桌面應用程序員"的前三個步驟。3、橘山學習線性代數的入門課程。4、學習微積分課程。5、學習邏輯學和/或離散數學課程。6、了解不同的"准操作系統"。7、學習計算機硬體結構的課程(或者作為替代,看看書)。8、深入理解不同的計算機硬體平台。9、初步熟悉你所選擇的硬體平台/操作系統的匯編語言。10、學習ANSI C 和 C++ 語言,還有程序化程式設計的一些概念。11、在你選擇的平台上理解並實踐C/C++標准庫。12、搜索網路資源、書籍和課程來理解你的平台獨特的C風格。13、用C/C++練習編寫高級代碼。14、學習更高級的Assembly。15、學習操作系統設計的課程。16、尋找並閱讀你所選擇的平台的相關文章。17、練習你已經掌握的知識。18、以最有益的順序學習語言。方法6:編程科學1、了解編程科學家是做什麼的。2、累積和四年制計算機科學學歷同等多的科學知識。3、選擇特定的領域。4、考慮獲取更高級的學歷。5、了解你選擇的編程領域的相關技術和編程語言。成為程序員是一個日積月累的過程,需要日復一日年復一年的技能增長。編程本身是有趣的,並且有回報(腦力層面、精神層面、經濟層面)。這份指南不能保證你輕松當上程序員。不要神化下面這些步驟,從中你大概能了解在現今編程界如何成為一名程序員。
方法1:網路編程
1、了解網路編程的含義。網路應用是指設計在網路結構頂層的軟體部分。這就意味著這些應用是通過諸如火狐或IE之類的瀏覽器來處理的。架構於網路結構的頂層並不一定要連接到網路。這就是說網路應用建立在如下標准網路技術的頂層:HTTP
FTP
POP3
SMTP
TCP
IP協議
HTML
XML
Coldfusion
ASP
JSP
PHP
ASP.NET
2、瀏覽不同的網站,了解它們的外觀。(右擊,選擇"查看源"或按F12。)尋找網站類型/內容的多樣性,而非數量。通常你需要訪問以下網站類型中至少一種: 團體網站(商業公司,非營利機構/組織,政府組織)
網路索引引擎(搜索引擎,meta搜索網站,專業化搜索引擎,目錄)
數據挖掘網站
個人網站
信息/網路全書式網頁(維基,數據單,技術規格,人工列表目錄,博客和日誌,新聞和新聞機構網站,黃頁,等等。)
社交網站(社交門戶,書簽網站,記錄筆記網站)
合作網站(這包含了上面提及的目錄,比如維基和博客)
3、學習至少一種頭腦風暴技術/方法,並學習一個用來實現頭腦風暴的軟體。例如:頭腦風暴圖和微軟Visio。
4、熟悉網站結構。指的是創建概念化網路範式、網路地圖和導航結構。
5、趕緊學一門圖形設計的課程。盡量學習至少一個圖形編輯/操作軟體包(不是必須的,但強烈推薦)
6、了解網路下部構造的基本情況。包括了解以下: 基本網路服務協議(HTTP,FTP, SMTP和POP3或IMAP4)
網路伺服器軟體(最好其中一個就是你以後主要工作的平台)
網路瀏覽軟體
郵件伺服器和客戶端軟體
7、學習HTML和CSS語言。或許你還想要"所見即所得"軟體包來編輯HTML。
8、學習XML及其相關技術,比如XSL和XPath(不是必需,僅作推薦)。
9、先建立簡單的靜態網站,直至你熟悉並習慣HTML語言。
10、學習客戶端腳本語言。多數人要麼學Java,要麼學VB,但也有一些人學習Perl和DHTML。
11、熟悉你所學的客戶端腳本語言。潛意識里提醒自己只用你學的那個語言。只有在你熟悉你的客戶端腳本語言之後才能進入下個步驟。
12、學習至少一種伺服器端腳本語言。如果你只用一種伺服器軟體,那就學其中一種編程語言。否則,你得每個伺服器軟體都學至少一種編程語言。
13、學完伺服器端編程語言之後就開始創建一個試驗項目。
14、獲得你的網站,開始用你自己的網頁實驗。
方法2:桌面軟體編程
1、弄清楚桌面軟體編程是怎麼回事。多數桌面軟體程序員都是編寫商務需要的代碼,所以好好了解一下商業及其組織和經濟結構將對節省時間、提高效率大有裨益。
2、了解不同的電腦硬體結構。看看數字電路設計和電腦結構的入門級課程,但是也有人認為這對於剛起步來說太超前了,所以看兩三篇說明的文章(比如 這一篇 和 這一篇)就夠了。學完第一種編程語言後你可以再返回這個步驟。
3、學習一種入門級(小孩子學的那種)編程語言。不要因為你不是個小孩子就不好意思去學。這些入門級語言能大大減輕你正式學習第一門編程語言時的痛苦和壓力。然而這一步也不是必須的。你也可以在上一步之前完成。
4、學習程序化、面向對象、函數設序設計規范的入門。
5、學習一種程序化程式設計語言的入門課程。無論你以後選擇何種編程語言,在某種程度上它都要求程序化程式設計。此外,據多數程序員反映,程序化程式設計總的來說是了解編程的一個很好的切入點。
6、學習至少一種高級建模技術,比如UML 或ORM。
7、開始編寫一些小的主控台應用程式或類似的應用程式。你可以利用編程書中的常見小練習。選擇一個工具,用你所學的編程語言編寫程序。
8、學習一門你選擇的編程語言的更高級課程。確保進展之前先理解下列概念,並能熟練運用。對程序用戶輸入輸出信息。
程式化設計語言寫成的程序中的邏輯流程和執行流程。
聲明、分配和比較變數
編程結構分支,比如if..then..else 和 select/switch..case.
循環結構,比如while..do, do..while/until, for..next.
創建、調用程序與函數的編程句法
數據類型及如何操控
用戶定義數據類型(records/structs/units)及其使用
如果你的語言支持超載函數,理解它。
你選擇的語言的內存處理方式(指針,變數窺視,等等。)
如果你的語言支持運營商超載,理解它。
如果你的語言支持delegates/函數指針,理解它。
9、應用你所學的高級技能 面向對象的規范
10、至少再學習一門編程語言規范的入門課程。推薦學習每種範式的編程語言,多數高級程序員確實是這么做的,然而,通常你開始時只學一種,應用所學知識訓練了一段時間,獲得了編程的鮮活經驗,然後接著學習另一種。試試下面的語言: 邏輯編程範式
函數編程範式
面向對象的範式
11、試著比較你所學的兩門編程語言。評估各自利弊。通常可按以下方法完成拿出你在學習第一門編程語言時編寫的簡單範例,現在用第二門語言重新編寫。
創建一個工程,盡量用上兩種語言完成它。有時取決於你選擇的工程和語言,你可能僅用一門語言還無法完成這個工程呢!
寫一份兩種語言之間相似結構和獨特之處對比的速查表或一覽表。
盡量使用另一門語言找到模仿這兩門語言中獨特之處的辦法。
12、利用你學過的一種語言來學習可視化編程概念。幾乎所有的編程語言都具有支持可視化編程和其他支持控制台或類似控制台編程的版本/庫。同時進行的包括: 初步了解事件驅動編程。在某種程度上,多數可視化編程依賴事件及事件處理(用上你選擇的語言)。
盡可能多的嘗試桌面軟體,理解軟體是做什麼的。多數軟體開發公司會提供產品的測試版,你可以拿來測試軟體。在完善用戶界面方面保持更新。
閱讀關於圖形用戶界面的文章或教程
13、開始把你所學的知識運用到你設計的軟體小工程中。盡量把你的編程專業知識運用到你日常生活中的問題上。比如,編寫程序,批量重命名文件,視覺上比較文本文件,復制目錄里的文件名到內存/文本文件之類的東西。剛開始簡單一點。
14、創建一個虛擬的"畢業工程"。把這個放到最後完成,用上你到目前為止學到的可視化編程技術。
15、通過學習更高級的課程、更加註意細節以及在網上學習搭建架構的技巧,來加深對你學過的可視化架構/庫/包的理解。
16、搜索其他含可視化元素的包/庫並學習它們。
17、學習圖形學課程(而非圖形設計)。對於想要寫出吸引人的用戶界面元素的程序員來說,這將大有裨益。
18、成為游戲程序員(不是必須的)。很大程度上游戲編程是被當作桌面編程的。如果你想成為游戲程序員,完成這些步驟後你需要進一步學習游戲編程。對於游戲程序員而言,圖形學課程是必須的,後續步驟中第二門語言應該選擇邏輯/函數編程語言(最好是Prolog或Lisp)。
方法3:分布式程序設計
1、處理分布式應用編程。分布式應用編程被許多人認為是最難學的一種,它要求計算機和通信技術中的不同知識。
2、快速了解通信系統及其硬體。這個步驟不是必須的,但是對於理解網路拓撲結構很有用。
3、熟悉網路硬體結構和設備,比如集線器、接線台和路由器。
4、學習網路協議的課程。在你開始分布式應用編程之前,你需要好好理解"開放系統互聯 (OSI) "模型、以太、IP、TCP、UDP和HTTP 。
5、學習XML 語言,並熟悉它。
6、開始學習一門shell腳本語言。對基於Windows的編程,可以是任何能與Windows腳本宿主兼容的腳本。對基於Linux的編程,Bash腳本和 Perl就夠了。對這兩個平台都強烈推薦Java,原因如下: 幾乎所有操作系統的都支持腳本宿主(Windows 腳本宿主默認支持java ,大多數Linux發行版都有支持java腳本控制的包)。
許多開發者認為它很容易學。
當你需要學第二門編程語言(C,C++,C#,Java和J#都有ALGOL開源句法)時,它擁有的ALGLO開源句法就能使你熟悉更多編程語言
通過學習java,你會熟悉網頁的客戶端腳本,這可謂一大福利!
7、開始時用上你學的腳本知識,只運用程序化程式設計。之後,根據你的腳本語言和它所支持的,你可以用上更高級的編程技巧和範式。所有的腳本語言在某種程度上都有程序化程式設計的一些方面。
8、使用你所學的腳本語言,寫出實現機器之間通信的腳本。學習完成這個所必需的東西。簡單的通信就足夠了。
9、轉移到桌面腳本/編程語言。一個比較好的是多範式語言,比如Python。簡單了解第二門語言。有許多理由讓多數程序員選擇java。然而,在這個領域內C#正在獲得多數優勢。Java和C#被青睞的原因如下:它們是面向對象的編程語言,使大量程序員免遭實現細節之苦,因為它們都支持組成部分(代碼單元、預編譯,它們可以執行特定任務,並被用到其他程序中)。
它們支持事件驅動編程,在某種程度上還支持OO和程式化程序設計。
建立語言的架構按屬性分布(比如Java)。
有許多現成的包來處理。社交網路同時作為開源代碼和架構內置包,這使得程序員繼續其他人工作更加容易。
10、專注於語言的核心部分,尤其hi那些支持網路。少注意用戶界面元素,比如輸出,窗口設計和技術等。
11、學習分布式應用設計與結構的課程。可以通過書本、網上教程或學術課程來完成。然而,十分有必要理解分布式應用的結構及其概念。
12、使用你所學的編程語言來了解服務部分建構和服務。
13、學習如下技術中一種或更多。推薦你每一種都了解以下。多數分布式應用程序員不會止於一兩門編程語言,他們會每個操作系統各學至少一種語言。這是因為如果你希望你的應用"分布式",你應該至少為每個主要的操作系統各提供一個版本。公共對象訪問代理體系結構(CORBA)
簡單對象訪問協議(SOAP)
非同步JavaScript和XML(AJAX)
分布式組建對象模型(DCOM)
.NET遠程處理
XML 網路服務
方法4:庫/平台/框架/核心編程
1、了解什麼是核心編程。核心程序員幾乎都是高級程序員,已經從編寫應用轉變為給其他程序員編寫代碼匯編。
2、學習一門支持創建可重復使用內容/包的編程語言,如果你還沒學過的話。
3、學習一門UML 和ORM的高級課程。多數庫開發者使用其中一種,或兩種都用。
4、學習軟體工程的課程。
5、學習至少一個模塊,基於內容的、面對對象的和 事件驅動編程技術和概念。你所學覆蓋越多編程範式和語言,你就能成為越成功的庫/包程序員。
6、進一步了解不同的操作系統及其支持的編程架構。
7、集中學習獨立平台架構、編程語言和技術。
8、如果到目前為止你學習的編程語言具有ANSI/ISO/EEE/W3C標准版本,那麼掌握這些標准。無論何時盡可能使用標准代碼。
9、嘗試模擬簡單的、已經建立的庫,尤其是開源的庫。這在成為庫/包程序員的早期階段十分有用。從簡單的包開始,比如單位轉換和中間科學計算包。如果你是大學生,利用你的非編程課程,嘗試把這些課程的方程式與核心科學用作庫。
10、在你的編程領域內尋找開源的包。首先下載包的二進制/可執行文件。盡量去用,並發現它的利弊。之後,下載源,盡量弄明白它是怎麼完成的。嘗試再創造這些庫或其部分。剛開始,看完代碼再做;之後,先做再看代碼。後期階段,嘗試完善那些庫。
11、學習不同方法。給程序員分發、配送內容。通常,庫/包程序員傾向於以遞歸和/或迭代的思想來思考他們面臨的所有問題 。盡量把每個問題當作一個小問題的匯編(一系列更小的任務)或一個重復的不斷縮小問題范圍直至把這些更小的范圍彼此堆到一起的處理過程去思考。
庫/包程序員傾向於概括化。也就是說,當面臨一個特定的簡單的問題時,他們通常會想到一個更為概括的問題,並努力解決這個更概括的問題,如此,小問題便不攻自破。
方法5:系統編程
1、了解系統編程的定義。系統編程處理的是編程的"科學",而不是具體的編程實現。不要把你自己栓到特定平台上。
2、跟著"桌面應用程序員"的前三個步驟。
3、學習線性代數的入門課程。
4、學習微積分課程。
5、學習邏輯學和/或離散數學課程。
6、了解不同的"准操作系統"。這可以通過以下途徑完成:了解操作系統是如何安裝的。
了解在一台PC上如何安裝不同的操作系統(不是必須的,但作為推薦)
安裝不止一種操作系統。不要在系統中安裝任何輔助包,相反,僅利用操作系統本身提供的函數。
7、學習計算機硬體結構的課程(或者作為替代,看看書)。
8、深入理解不同的計算機硬體平台。
9、初步熟悉你所選擇的硬體平台/操作系統的匯編語言。稍後你會學習其他平台/系統的匯編。
10、學習ANSI C 和 C++ 語言,還有程序化程式設計的一些概念。
11、在你選擇的平台上理解並實踐C/C++標准庫。尤其注意標准模板庫(STL)和活動模板庫(ATL)。
12、搜索網路資源、書籍和課程來理解你的平台獨特的C風格。
13、用C/C++練習編寫高級代碼。
14、學習更高級的Assembly。
15、學習操作系統設計的課程。
16、尋找並閱讀你所選擇的平台的相關文章。如果你選的是基於Unix的操作系統就會容易得多。充分理解你今後將要用來工作的系統。
17、練習你已經掌握的知識。首先創建小的系統軟體。如下通常很有用: 試著重創你系統中已有的小工具。
試著把其他系統中的應用移植到你的系統里。
18、以最有益的順序學習語言。此處是唯一強調第一門編程語言的地方。首先學習ANSI C 而不是 C++、C#、Java 、D。然後學習 C++。限制你第一門語言僅為C是因為系統編程要求程序員熟悉如下概念:源代碼真實、完全的編譯
低級對象輸出文件
鏈接二進制
低級機器語言/匯編編程。C語言被某些人認為是偽飾過的/更容易學習的匯編語言。只要你願意,它還支持插入匯編語言代碼,並且它只是程序化的(像匯編)。
方法6:編程科學
1、了解編程科學家是做什麼的。編程科學家是十分高級的程序員,他們不開發程序,但他們研究計算科學,比如密碼學、編程語言和數據挖掘演算法。沒有深入的學術研究是很難達到這個水準的。
2、累積和四年制計算機科學學歷同等多的科學知識。可通過如下其中一種完成: 獲得真實的學術學歷(這也是通常情況)。
從現代大學中獲得該學歷要求的課程大綱,自學課程或 分開一門門學。理論上這樣做也可以,但還是推薦第一種做法。
3、選擇特定的領域。越具體越好。這取決於你的偏好。但是這里給出計算機編程領域中一些主要的課題:演算法設計(例如搜索、分類、密碼、解碼、錯誤檢測 等)
編程語言/編譯器設計/最優化
人工智慧領域(模式識別,語音識別,自然語言處理,神經網路)
機器人技術
科學編程
超級計算
計算機輔助設計/模式(CAD/CAM)
虛擬現實
計算機圖形學(計算機圖形學通常和圖形設計或圖形用戶界面設計混淆,計算機圖形學是研究如何表示和操控計算機系統中的圖形的領域)
4、考慮獲取更高級的學歷。或許你想追求碩士學歷或博士學歷。
5、了解你選擇的編程領域的相關技術和編程語言。
小提示不管你想嘗試哪種編程,不管你想達到何種水平,考慮去學校或本地社區大學上課。不要被諸如「計算機科學」一類的術語嚇到。你參加的任何不需要預備課程的課程都應該集中教一些編程的基礎知識。在上課之前先咨詢一下老師或客服,確保這門課是你想要的,像「計算機文化」這樣的課很有可能更多地集中在教你更熟悉辦公應用之類。

閱讀全文

與如何吸引一個程序員相關的資料

熱點內容
maya粒子表達式教程 瀏覽:84
抖音小視頻如何掛app 瀏覽:283
cad怎麼設置替補文件 瀏覽:790
win10啟動文件是空的 瀏覽:397
jk網站有哪些 瀏覽:134
學編程和3d哪個更好 瀏覽:932
win10移動硬碟文件無法打開 瀏覽:385
文件名是亂碼還刪不掉 瀏覽:643
蘋果鍵盤怎麼打開任務管理器 瀏覽:437
手機桌面文件名字大全 瀏覽:334
tplink默認無線密碼是多少 瀏覽:33
ipaddgm文件 瀏覽:99
lua語言編程用哪個平台 瀏覽:272
政采雲如何導出pdf投標文件 瀏覽:529
php獲取postjson數據 瀏覽:551
javatimetask 瀏覽:16
編程的話要什麼證件 瀏覽:94
錢脈通微信多開 瀏覽:878
中學生學編程哪個培訓機構好 瀏覽:852
榮耀路由TV設置文件共享錯誤 瀏覽:525

友情鏈接