第一篇:程序員入門要學多久
程序員入門要學多久
程序員入門要學多久,那要看你通過什么樣的渠道去學習,而且還要根據(jù)個人的情況來定,比如說自制力、時間是否充裕、對程序員的熱情。程序員入門學習的方式主要有兩種:培訓和自學。某種意義上講視頻教學也屬于自學。
培訓:市面上程序員入門培訓的時間在3~12個月不等。只有個別的方向根據(jù)培訓內(nèi)容的不同在三個月以下、一年以上。而在3~12個月之間,又以四個月最為見長。這樣的一個時間段里,如果培訓機構(gòu)靠譜些,再加上你個人的努力,是可以勝任編程類基礎(chǔ)性的工作。
例如一些熱門的編程語如Java、HTML、Python等等,培訓時間基本都是四個月上下。這也是一些比較傳統(tǒng)的IT行業(yè)方向,基本都是以一門單一的編程語言作為整個工作的重點。
而對于一些復合性較強、應用范圍比較廣的崗位方向從業(yè)的程序員,入門學習的時間都在4個月以上。
比如IT里的新興行業(yè)大數(shù)據(jù)和底層信息安全等。
要想學好大數(shù)據(jù)最好是理工科成績過硬,這樣以后的發(fā)展天花板高得多。前期你要有編程語言的基礎(chǔ),后期要培訓自己的數(shù)據(jù)思維、統(tǒng)計學思維。
而底層信息安全,入門就需要有幾門編程語言做基礎(chǔ),中期的Windows原理方方面面知識、安全知識、最后的實戰(zhàn)技能,是一個知識量眾多的行業(yè)方向。
比如我們機構(gòu)15PB信息安全教育,培訓時間就是7個月。相信很多打算培訓或培訓過的小伙伴都會覺得時間很長,但是7個月,已經(jīng)是在保證授課質(zhì)量的前提下,能達到的最短時間了。
自學:由于個人自制力和悟性的不同,自學的時間也有長有短,就總體情況來說四個月的培訓課程一般的自學時間都在一年以上。我們機構(gòu)7個月的課程,如果個人自制力夠好、悟性夠高入門自學時間也要2~3年,深入一些時間就更長了。我們機構(gòu)的大BOSS任曉琿,自學時間長達4~5年。
個人建議:不管程序員入門學習要學多久,最終的目的都是獲得一份工作進入一個行業(yè)。
而要想快速而有效率的的進入一個行業(yè),培訓要比自學更合適一些,它能解決方向上的問題,避免自己在自學的過程中沒有側(cè)重點的去學習,對就業(yè)方面的問題也有一定的幫助。培訓機構(gòu)肯定比你了解掌握什么樣的知識、什么樣的技能能找到工作。
第二篇:php程序員入門必讀
php程序員入門必讀
php程序員入門必讀:
1.概要:學習任何語言都需要多看、多想、多寫、多問!寫編程是一種熟能生巧的東西!學習PHP也一樣,因為知識就那么多,你看多了就會覺得怎么都一樣。
程序員就是炒冷飯的,一遍又一遍。代碼多敲幾遍就可以閉著眼睛寫了,所以企業(yè)招聘都會問你寫過多少行代碼的!程序員最忌諱浮躁,有時候發(fā)現(xiàn)一段程序完全找不出錯誤,僅僅是因為少了或多了一個符號,程序員需要的是細心,粗心的人當不了程序員!
2.php參考手冊是必須熟知的,有的新手會問一些很基礎(chǔ)的問題,其實手冊上面都有,所以建議新手先把手冊看了,最好把常用函數(shù)抄幾遍!再敲幾遍手冊里的代碼。
當你把手冊里的東西都熟悉了,你遇到問題的可能性就很小了。當然mysql手冊,也要看一下,但可以不先看的那么細!至少要知道常用的sql語句,這是必須的!
3.覺得php最好的東西就是,網(wǎng)上能找的開源項目很多,而且一些都是大項目的。所以建議php程序新手可以看留言板代碼,先熟悉常用的數(shù)據(jù)操作,然后可 以去看一下簡單的企業(yè)網(wǎng)站或者博客,然后可以去研究一下ecshop之類,當你看懂這些,你可以去看看discuz,phpwind論壇源碼,帝國,PHP168等開源CMS系統(tǒng),里面的架構(gòu)都是相當強悍的,當然這不是新手需要去做的,但是 總要有個做將軍的理想!
4.要習慣,遇到問題自己先解決,在網(wǎng)絡時代,要學會用百度,這是必須的。當你實在沒法解決的時候再去尋求別人的幫助!
5.當你寫完一個程序的時候,要學會分享出去,因為你是新手,你的程序也許會有很多不完善的地方,所以分享你寫的程序?qū)δ愀幸?!多分享多交流!?/p>
會讓你寫的程序更精!
6.記住,學了php你要不只是學會php,你要學會分析一個項目的實現(xiàn)方式或者一個程序的實現(xiàn)方式。都說算法是語言的基礎(chǔ),要學好php,你還得去學習和運用算法去實現(xiàn)你的程序,學會用算法可以用于任何語言,學會用php你只能用php.
第三篇:PHP程序員入門Plus
PHP程序員入門Plus
這篇文章和MySQL的那個一樣,本文其實并不專指PHP,僅僅是因為搜索引擎的關(guān)系才用了這個名字。
我解除了很多新的不能再新的新人,發(fā)現(xiàn)新人的通病是不明白怎么做程序員,這是一個思想境界的問題,只能依靠頓悟,本文的作用也只是點撥,希望能對你有所幫助吧。
程序和語言
在我看來,哲學是一切知識的基礎(chǔ),藝術(shù)、語言、數(shù)學都是已不同的方式對哲學思想的表達,程序其實也是如此,它介于語言和數(shù)學之間。
程序,可以認為是過程和順序的簡稱。和那句名言“萬物皆對象”類似的,萬事皆程序。如果說物是名詞,那么事就是動詞,所有的事都是有序發(fā)生的過程。我們不承認“莫須有”的原因?qū)е碌慕Y(jié)果,只是可能我們還沒有搞清楚而已。
也許你會認為C、Java、PHP、Perl之類的東西寫出來的東西叫做程序,其實這只是表象。各種開發(fā)語言本質(zhì)上和漢語、英語沒有什么不同。也就是說,如果你能用漢語表達,那么就能用其他語言表達,最多可能需要借助翻譯軟件、詞典等工具而已。對于C、Java、PHP來說,翻譯軟件可能沒有,但是詞典還是很容易找到的,那就是開發(fā)手冊。不要迷信各種書籍、培訓、視頻,開發(fā)手冊才是真正能幫到你并一直陪伴你的東西。
什么是程序員
程序員是指掌握了某種計算機語言的家伙,程序員可以把自然語言翻譯為計算機可以識別的內(nèi)容。沒錯,就是個翻譯。
那么你就會問,我沒吃過豬肉還沒看過豬跑嗎?翻譯誰不會?可是為什么我還是寫不出程序呢?
答案就是你還沒頓悟。元芳你怎么看這句話知道嗎?樓主你媽喊你回家吃飯這句話你知道吧?甄環(huán)體知道嗎?都不知道?沒關(guān)系,其實我的意思就是,你需要按照計算機的方式組織你的語言,這樣的語言才能更容易的翻譯為程序語言。
非程序員是沒有這個覺悟的,這就是為什么開發(fā)之前都要進行需求分析的原因??蛻舾嬖V我們現(xiàn)實中發(fā)生了什么事情,需求分析的任務就是考慮怎么把這些事情在計算機上重現(xiàn)。
再舉個例子,“我想在屏幕中間顯示一個紅色方框”就是客戶的表達方式,而作為程序員,你應該這樣理解這句話:使用代碼為ff0000的顏色填充一個正方形并顯示在屏幕上,且正方形距離屏幕頂部的距離和距離屏幕底部的距離相等,正方形距離屏幕左側(cè)的距離和距離屏幕右側(cè)的距離也相等,然后立刻拋出問題,正方形的邊長是多少?客戶如果回答50,那么我們就得到了一個常量,如果客戶回答不一定,那么就知道邊長是個變量。
這是一個矯枉過正的例子,現(xiàn)實中絕對沒有這么二,但是其實差不多。
我該怎么做
計算機語言中的各種對象、函數(shù)其實就像是木匠手中的榔頭和錘子。但是唯一的麻煩就就是:如果你是個木匠,我讓你幫我做一套家具,你會明白一套家具至少包括柜子、床、書桌、椅子,因為你家有家具,而且你用過,并且知道大致的結(jié)構(gòu);可是你是個程序員,我讓你幫我做一個電子商城,誰家有電子商城,誰用過電子商城(指后臺),誰知道它是個啥東西拼起來的;這就是結(jié)癥。
初學者最缺乏的是經(jīng)驗,經(jīng)驗依靠累計,不要去思考我學了半天還不會做網(wǎng)站的問題。網(wǎng)站是個統(tǒng)稱,是個類,你應該已其實例為目標,比如,今天做個網(wǎng)頁,展示一下我家的裝修效果,明天做個網(wǎng)頁發(fā)表一下我的學習經(jīng)驗,后天做個網(wǎng)頁讓大家給我留言。這種累積式必不可少的過程。
如果你還不理解,我真的沒辦法了。最后嘗試用一種玄幻的風格告訴你答案:程序員就如修真者,而且是老厲害那種,言出法隨,我讓你輸入6個字母作用戶名你就不可能寫5個,我讓你填密碼你就別想空著,只要你想,你就可以去做,別人喜歡不喜歡是別人的事(不過悲催的是給不給工錢也是別人的事)。
親,加油吧,努力頓悟,早成正果!
如果你有什么意見和想法可以點擊這里打開原文地址并通過回復的方式告訴我,只有注冊用戶才能回復哦。呵呵。
第四篇:程序員入門進階手冊
這篇文章,我主要是讓你成為更為專業(yè)的入門程序員。請注意,此時,你可能需要讀一些比較枯燥的書,但我想說,這些是非常非常重要的。你一定要堅持住。
編程技能
在系統(tǒng)地學習編程技能之前,我希望你能先看一下 “ The Key To Accelerating Your Coding Skills”,這篇文章會告訴你如何有效地快速提高自己的編程能力。然后接下來是下面幾大塊內(nèi)容,但還只是入門級的。
編程技巧方面這個階段,你可以開始了解一下 Java 語言了,我個人覺得 Java 是世界上目前為止綜合排名最好的語言。你一定要學好這門語言。推薦《Java 核心技術(shù)(卷 1)》,除了讓你了解 Java 的語法,它還會讓你了解面向?qū)ο缶幊淌莻€什么概念(如果你覺得這本書有點深,那么,你可以降低難度看更為基礎(chǔ)的《Head First Java》)。然后,既然開始學習Java 了,那就一定要學 Spring,推薦看看《Spring in Action》或是直接從最新的 Spring Boot 開始,推薦看看《Spring Boot 實戰(zhàn)》。關(guān)于 Spring 的這兩本書,里面可能會有很多你從來沒有聽說過的東西,比如,IoC 和 AOP 之類的東西,能看懂多少就看懂多少,沒事兒。?
操作系統(tǒng)。這里你可以看看《鳥哥的 Linux 私房菜》,這本書會讓你對計算機和操作系統(tǒng),以及 Linux 有一個非常全面的了解,并能夠管理或是操作好一個 Linux 系統(tǒng)。當然,這本書有很多比較專業(yè)的知識,你可能會看不懂,沒關(guān)系,就暫時略過就好了。這本書的確并不適合初學者,你能看多少就看多少吧。
? 網(wǎng)絡協(xié)議你需要系統(tǒng)地了解一下數(shù)據(jù)庫設(shè)計中的那些東西,這里推薦慕課網(wǎng)的一個在線課程--“數(shù)據(jù)庫設(shè)計的那些事”。每個小課程不過 5-6 分鐘,全部不到 2 個小時,我相信你一定能跟下來。你需要搞清楚數(shù)據(jù)的那幾個范式,還有 SQL 語句的一些用法。當然,你還要學習和使用一下數(shù)據(jù)庫,這里推薦學習開源的 MySQL。你可以看官方文檔,也可以看一下這本書《MySQL 必知必會》。? 前端方面在你處理中文時有時會發(fā)現(xiàn)有亂碼出現(xiàn),此時需要了解 ASCII 和 Unicode 這樣的字符編碼。這里推薦一篇文章Character encoding。還有 Github 上的這兩個 Awesome 倉庫:Awesome Unicode 和 Awesome Code Points。?
為什么轉(zhuǎn)成 Java 語言?
相信你可能會問,為什么之前學習的 Python 和 JavaScript 不接著學,而是直接切到 Java 語言上來,這樣會不會切得太快了。這是一個好問題,這里需要說明一下,為什么我會切到 Java 這個語言上來,主要是有以下幾方面考慮。1.Java 是所有語言里面綜合實力最強的,這也是為什么幾乎所有大型的互聯(lián)網(wǎng)或是分布式架構(gòu)基本上都是 Java 技術(shù)棧。所以,這是一個工業(yè)級的編程語言(Python 和 JavaScript 還達不到這樣的水準)。
2.之所以,沒有用 Java 來做入門語言而是用了 Python,這是因為編程是一件比較費腦子的事,一開始學習時,興趣的培養(yǎng)很重要。Python 比較簡單,容易上手,能夠比較容易地提起興趣,而用 Java 則可能比較難。3.在你有了一些編程語言的基礎(chǔ)后,有了一些代碼的邏輯后,切到工業(yè)級的編程語言上來,更為專業(yè)地學習編程,是非常有幫助的。像 Python 和 JavaScript 這樣的動態(tài)語言用著是很爽,但是,只有像 C、C++ 和 Java 這樣的靜態(tài)語言才可以讓你真正地進階。
4.對于一個合格的程序員,掌握幾門語言是非常正常的事情。一方面,這會讓你對不同的語言進行比較,讓你有更多的思考。另一方面,這也是一種學習能力的培養(yǎng),會讓你對于未來的新技術(shù)學習得更快。很多時候,一些程序員只在自己熟悉的技術(shù)而不是合適的技術(shù)上工作,這其實并不好,這會讓你的視野受限,而視野會決定你的高度。綜上所述,這就是在入門的時候我故意讓你多學幾門語言的原因。
編程工具
編程工具方面,你需要開始學習使用下面這些工具了。
? 編程的 IDE。傳統(tǒng)一點的,你可以使用 Eclipse。當然,我推薦你使用 Intellij IDEA。這兩個工具都可以開發(fā)各種語言,但是主要用在 Java。如果你想玩得更時髦一些的話,使用 Visual Studio Code 也不錯,這個工具潛力十足,用其開發(fā) Python、JavaScript、Java、Go、C 和 C++ 都能得心應手(教程-本文發(fā)布時還基本沒怎么翻譯完)。
? 版本管理工具。版本管理工具是非常重要的編程工具。傳統(tǒng)的有 P4、SVN、CVS 等,但都會被 Git 取代,所以,你就只用學習Git 就好了。學習Git 的教程網(wǎng)上有很多,這里我推薦非常系統(tǒng)的 Pro Git 第二版(如 果你覺得 Pro Git 比較枯燥的話,備選猴子都能懂的 Git 入門),然后你要學會使用 GitHub。關(guān)于一些 Git 環(huán)境安裝和準備以及 GitHub 使用,你可以自行 Google(比如:這篇Github and Git 圖文教程 或是這篇Git 圖文教程及詳解)。
? 調(diào)試前端程序。你需要學會使用 Chrome 調(diào)試前端程序,Google 一下會有很多文章,你可以看看 超完整的 Chrome 瀏覽器客戶端調(diào)試大全。? 數(shù)據(jù)庫設(shè)計工具。你需要學會使用 MySQL WorkBench,這個工具很容易使用。相關(guān)的手冊,你可以看一下官方文檔。
實踐項目
這回我們需要設(shè)計一個投票系統(tǒng)的項目。業(yè)務上的需求如下:
? ? ? ? ? 用戶只有在登錄后,才可以生成投票表單。投票項可以單選,可以多選。
其它用戶投票后顯示當前投票結(jié)果(但是不能刷票)。投票有相應的時間,頁面上需要出現(xiàn)倒計時。
投票結(jié)果需要用不同顏色不同長度的橫條,并顯示百分比和人數(shù)。
技術(shù)上的需求如下:
這回要用 Java Spring Boot 來實現(xiàn)了,然后,后端不返回任何的 HTML,只返回 JSon 數(shù)據(jù)給前端。
? 由前端的 JQuery 來處理并操作相關(guān)的 HTML 動態(tài)生成在前端展示的頁面。
? 前端的頁面還要是響應式的,也就是可以在手機端和電腦端有不同的呈現(xiàn)。這個可以用 Bootstrap 來完成。?
如果你有興趣,還可以挑戰(zhàn)以下這些功能。
在微信中,通過微信授權(quán)后記錄用戶信息,以防止刷票。? 可以不用刷頁面,就可以動態(tài)地看到投票結(jié)果的變化。
? Google 一些畫圖表的 JavaScript 庫,然后把圖片表得風騷一些。?
小結(jié) 上面那些書和知識你要看完,還要能理解并掌握,我估計你最少也要花 1-2 年左右的時間。如果你能夠走到這里,把前面的那些知識都了解了,不用精通,能獨立地做出上面的那些實踐項目,那么,你就算是真正的入門了。
而且,你已經(jīng)是一個 “ 全棧工程師 ” 的樣子了,在這里我要給你一個大大的贊。如果這個時候,你對編程還有很大的熱情,那么我要恭喜你了,你可能會是一個非常不錯的程序員。加油啊!
上面的那些技術(shù)已經(jīng)算是比較專業(yè)的了。如果你已經(jīng)大致掌握了,我相信你可以找到至少年薪 20 萬以上的工作了,而且你的知識面算是有不錯的廣度了。但是深度還不夠,這個時候,是一個比較關(guān)鍵點了。
你可能已經(jīng)沉醉在沾沾自喜的驕傲的情緒中,那么你也可以就此止步,加入一些公司,在那里按部就班地完成一些功能性的開發(fā),成為一個搬磚的碼農(nóng)。你也可以開始選擇一個方向開始深入。
我給你的建議是選擇一個方向開始深入。因為你并不知道你未來會有多大的可能性,也不知道你會成為什么樣的人,所以為什么不再更努力一把呢?
后面,我們就開始非常專業(yè)的程序員之路了。這也是一般程序員和高級程序員的分水嶺了,能不能過去就看你的了。
第五篇:軟件工程師要學多久
軟件工程師要學多久
軟件工程師確實是個讓人艷羨的工作,每年都有大量的學習者,加入到軟件開發(fā)的學習中來,很多有想法,卻遲遲還未行動的人,都特別關(guān)注軟件工程師的學習時間,那軟件工程師要學多久呢?
其實答案不是唯一的,因為學習者的學歷、學習能力的不同,那學習起來的接收能力肯定不一樣,再加上每個學習者的基礎(chǔ)也不盡相同,所以學習的起點也會不一樣,那要討論軟件工程師的學習時間,我們不得不進行一下簡單分類。
首先我們來說大學生,大學生的學習能力自然是沒問題的,對于沒有編程基礎(chǔ)的大學生來說,如果選擇一個知名大品牌的培訓機構(gòu),差不多也就四五個月左右,就能熟練的掌握軟件開發(fā)技術(shù),同時在項目實戰(zhàn)中,積累下相當于工作一年左右的工作經(jīng)驗,那像計算機專業(yè)的學生,可能只需要三個月就足夠了,這對于大多數(shù)大學生來說,還是可以接愛的。那對于高中學歷的同學來說,很多人就有了學不學得會的擔憂,其實IT職業(yè)教育已經(jīng)發(fā)展近十年了,在這個過程中,一些老牌的培訓機構(gòu)積累了豐富的辦學經(jīng)驗,針對高中生的零基礎(chǔ)班在培訓市場上并不少見,很多高中畢業(yè)人群,也通過這種零基礎(chǔ)培訓班,最終找到了自己滿意的工作,那這些學生的學習時間就要長一些,可能要一年的時間。
最后,我們不得不說一下初中學歷的學習者,從現(xiàn)實情況來看,大多數(shù)初中生其實從來都沒有考慮學軟件開發(fā),有的想學廚師,有的想學挖掘機,還有想學電焊工的,原因是初中生人群覺做軟件開發(fā)太高端了,那做軟件工程師,更是沒想過的事。
當然,大品牌的培訓機構(gòu),像北大青鳥廣安門等,原則上是不招收初中生人群的,不過由于近年來,電腦越來越普及,很多初中學歷的學生,對于電腦操作也是很熟練的,那只要學生能夠通過學校的基本入學測試,符合學校招生要求,可由校長特批錄取,事實證明,初中生也能學會軟件開發(fā),并且找到相關(guān)的工作,而學習時間跟高中生相近,也是一年多的時間。
總之一句話,只要你對于軟件工程師有向往,并且愿意付出努力去認真學習,那你就能學出來,并找到滿意的工作。