導航:首頁 > 程序命令 > 怎麼成為一位資深程序員

怎麼成為一位資深程序員

發布時間:2023-03-04 19:39:51

A. 怎麼做一個好的程序員

想成為一名優秀的程序員,往往需要具備以下特質:

1、始終保持工作熱情
只有熱愛才能做好一件事。尤其對於技術人員來說,程序員經常對著電腦一坐就是七八個小時,有時候趕項目還得在公司熬夜加班。如果不是真的熱愛這份工作,光靠賺錢這個驅動力肯定是不足以支撐下去的。如果你每天都是一副上班比上墳還沉重的樣子,哪怕你的技術水平再高,你的狀態也很難好到哪裡去,更不可能做出一個好的產品來。
2、提高學習能力,不斷提升專業水平
新技術層出不窮,每個程序員都必須堅持學習。只有不斷學習才能不斷提升。在空餘時間多掌握一些工具,多學習一些技術語言,技多不壓身嘛。而且技術都是相通的,多學習一些新東西,會讓你更融會貫通。這樣既可以提高自己的工作效率,也能提升自己的職場競爭力。
3、加強溝通能力,避免無效的工作產出
下手寫代碼前必須明確產品的目標和需求,如果有不理解的,一定要及時跟上級進行溝通,必要時還可以從技術層面給產品和老大提出優化意見。切忌光敲代碼不思考,這樣很容易做無用功。
只要能做到以上三點,你未來的發展空間會更大,也相信你一定能找到適合自己的平台!

B. 成為一名「高級」程序員的條件是什麼麻煩告訴我

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

C. 怎樣成為一個好的程序員

學習能力:互聯網是一個日新月異的行業,所以對於碼農來說,一定要具備不錯的學習能力。學習能力一般會從兩個維度來看:學一個新事物的能力,從經驗中學習的能力。學習新事物的能力,不同面試官考察會很多。可以從項目中用到哪些新技術,怎麼學的;或者讓候選人介紹自己學某個東西的過程,從這個過程中考察候選對新事物的接受程度,學習的一些思路。我個人更喜歡考察從經驗中學習的能力。比如這個項目,如果現在給你時間和資源,重新開始做,你會有哪些優化的方案?為什麼?碼農很多的經驗都是從實踐中來的,那實踐之後有沒有及時總結思考,是直接決定這個人成長速度的關鍵。
團隊協作:前面說過,我們做的事情不是原子彈實驗室,是需要高度團隊合作的。那面試中一定繞不過去的就是團隊協作能力的考察。比如你有沒有自己做過項目負責人?做負責人中都出現哪些問題,怎麼協調的?如果你是一個APP開發,那跟後端介面怎麼協商,改介面怎麼處理,各種校驗邏輯放在客戶端,還是服務端如何PK?產品改需求,怎麼處理?項目中你的方案被別人否了,怎麼處理?這些問題都是考察候選人在多人合作中出現問題,能否換位思考,能否有大局思維,以及一些基本化解沖突的經驗和技巧。
抗壓能力:碼農是一個非常燒腦的行業,特別是線上出問題的時候,一定是血壓飆升的時候,所以抗壓能力也是考察的一個重要維度。抗壓其實就看這個人為了一個目標能不能排除萬難,堅持下去,在某種程度上你過去的經歷可以體現你的抗壓能力。比如衛哲老師有一次分享,說問一個小孩,你這輩子最苦的事情是什麼?人家說有一次從杭州到上海的高鐵,居然沒有座位,我整整佔了1個多小時……這樣的人我肯定不敢要。所以面試中,面試官會經常問你做過一些有困難的事情是什麼?或者舉例說下自己如何堅持做一件事的。
綜合能力包括的面很多,比如我一直覺得優秀的人一個基本素質一定主動性,這是貫穿整個綜合面試中最重要的一個素質,可以從項目中看到你是否在積極推進項目進度,可以從你學習經歷中看你是否主動思考,可以再抗壓考察中看到你能主動排出萬難,達到目標。任何一家公司都不希望找一個只是被動等待分配工作,做好分內事情的人,一定希望這個人能有全局思維去推動事,還能不斷自我學習和總結。
此外,有的面試官會關注思維能力,比如我曾經校招面試時,就被問到一塊蛋糕切成18份,至少需要切幾刀?這個是見仁見智的一些考察方面,不做評價。OK,碼農除了技術之外的基本能力模型和素質:溝通能力、學習能力、團隊協作能力、抗壓能力,以及最最重要的主動性。

D. 如何成為一名程序員 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、了解你選擇的編程領域的相關技術和編程語言。
小提示不管你想嘗試哪種編程,不管你想達到何種水平,考慮去學校或本地社區大學上課。不要被諸如「計算機科學」一類的術語嚇到。你參加的任何不需要預備課程的課程都應該集中教一些編程的基礎知識。在上課之前先咨詢一下老師或客服,確保這門課是你想要的,像「計算機文化」這樣的課很有可能更多地集中在教你更熟悉辦公應用之類。

E. 怎麼成為一名程序員

1、有明確的職場定位
2、有好的計算機基礎
3、身體健康能頂住強大的工作壓力
4、保持敏銳的互聯網意識
5、Htmi語言
6、常見的編程軟體使用
1. 【有明確的職場定位】怎麼成為一名程序員?程序員也分為很多種,使用的軟體和工作范圍也不同。想當程序員,就要做好職場生涯規劃,然後朝著自己的目標進發。
2. 【有好的計算機基礎】搞程序不是簡單的工作,寫好程序需要很全面的計算機知識,一個好的程序員需要懂很多東西,比如一些基礎語言等等,這就要求程序員必須要有好的計算機基礎,否則學個幾年依舊一事無成。
3. 【身體健康能頂住強大的工作壓力】搞程序是對著電腦的工作,有著互聯網工作經驗的人都知道,從早到晚對著電腦很累人。而程序員不僅需要對著電腦,還要經常加班熬夜。身體不好是幹不了程序員的。
4. 【保持敏銳的互聯網意識】好的程序員不是「死魂靈」,之前小編從事的互聯網公司有位程序員被炒魷魚了。理由是「太笨,學不會。叫干什麼就干什麼」。這樣的程序員只能拿死工資,好的程序員會創新,有敏銳的互聯網意識。
5. 【html語言】當程序員需要學什麼?html語言也叫超文本語言,是最基本的計算機語言,不要說後台需要滾瓜爛熟,就連做前端web的人都需要熟練。如果這個不會,一輩子也當不了程序員。
6. 【c語言】c語言也是編程的基礎。其實很多搞程序的人只懂c語言的皮毛。的確c語言不一定要會。但是小編想說的想成為最頂級的程序員,肯定要會c語言的,如果說會e語言而不會c語言,這沒關系,學起來非常快。
7. 【常見的編程軟體使用】程序員要會的軟體並不固定。每個程序員都有適合自己的軟體,哪個高效便捷就用哪個。甚至有的程序員還保持用txt寫代碼的習慣,只要自己覺得好就行

F. 怎樣才能做一個優秀的java程序員呢

盡管當下java行業在未來很長時間內的發展前景都是相當的可觀,但是在當下一個不思進取的java程序員是沒有前途可言的。作為一個java程序員,你不逼迫自己變得優秀,那麼北大青鳥http://www.kmbdqn.cn/介紹你就只有等待被java行業淘汰。那麼如何才能做一個優秀的java程序員呢?

1.善於溝通

一個優秀的java程序員是要善於溝通的。溝通其實是件很平凡的小事,但是善於溝通的人卻不是那麼多,作為一個優秀的java程序員,你總得跟你的團隊合作跟你的同事打交道,這時候需要良好的溝通,你們之間的工作效益會大大提升,工作氛圍也會相對愉快。當你的客戶需要你為他講解下你的方案時,跟他做對接的時候,一個優秀的java程序員總不能怯場,說我不善於溝通讓其他人去吧,是你的方案當然是你去比較有誠意。

2.挑戰自我

一個優秀的java程序員不是完成好公司交給你的任務,你圓滿的完成了就算優秀了。一個優秀的java程序員不但能敲得了代碼、解決得了難題,而且還會主動自己不斷地挑戰自己,比如說這個項目做過,一般的程序員就是圖簡單直接把以前的處理模式套在這個項目上,而優秀的java程序員則是不斷思索看看還能不能在以前的基礎上做的更好,不斷嘗試新的解決方案。所以,一個優秀的java程序員要不斷的挑戰自己,而不是每天完成公司交給的任務就OK。

3.學習最新java技能

有的java程序員進入了職場,總覺得在公司一天到頭忙這忙那,還得時不時加班,哪裡有時間去學習新的java技能,現學的java技能在公司夠用就好,再說處理公司日常工作也能學到新的java技能,沒必要自己再去學習新的java技能。這種想法真的就是鼠目寸光,你能保證你所在的公司你能待上一輩子,你能保證在這個公司能學到最新的java技能保證你不被市場淘汰嗎?所以,一個優秀的java程序員是會不斷自己主動學習最新的java技能,不斷保持自己的競爭力,懂得居安思危,不斷讓自己變得優秀更優秀。


閱讀全文

與怎麼成為一位資深程序員相關的資料

熱點內容
安卓快手下載怎麼沒有下載到本地 瀏覽:228
怎麼在安卓手機登繪旅人 瀏覽:404
桌面文件全部加密 瀏覽:401
6s怎麼外接u盤需要什麼app 瀏覽:131
linux查看文件許可權命令 瀏覽:685
安卓手游存檔怎麼用 瀏覽:761
linuxyum安裝ftp 瀏覽:690
村委會主任可以推行政命令嗎 瀏覽:102
電腦文件夾封面多張圖片 瀏覽:263
網吧總伺服器叫什麼 瀏覽:922
多個演算法解決同一個問題 瀏覽:455
小車解壓後我的購車發票呢 瀏覽:977
做app開發用什麼雲伺服器 瀏覽:177
linux網卡子介面 瀏覽:985
21歲職高畢業學程序員怎麼學 瀏覽:321
vs如何對單個文件編譯 瀏覽:6
為什麼有的電腦不能安裝python 瀏覽:75
金蝶迷你版加密狗檢測到過期 瀏覽:186
硬體描述語言編譯結果 瀏覽:655
程序員逆天改命 瀏覽:19