軟件開發(fā)工程師在行業(yè)外大眾的眼里, 或許是一個出眾的職業(yè),收入不低, 技術(shù)含量還挺高,就連我自己剛?cè)胄袝r也是這么認為的,但事實上并不確切。任何行業(yè)中,只要是在金字塔頂端的那部分,都是令人羨慕的,然而,那是需要天賦、機緣、心血、實力的。 但如果僅僅只是想入行,就沒那么苛刻了, 尤其是軟件開發(fā)行業(yè),更容易。
做一件事情輕松還是堅難, 使用什么樣的方法不可忽視,我以一個過來人的身份分析能如何正確快速的踏入軟件開發(fā)這個行業(yè)。
許多人認為開發(fā)軟件是一件只有聰明人才能做的事情, 這只是一個刻板印象,跟IT行業(yè)發(fā)展的速度太快有關(guān)系 。二十年前, 在中國絕大部份人可能連電腦是長什么樣的都還不知道,僅僅幾年后,電腦飛速普及,每家必備。 然而, 要使用這部機器, 必須經(jīng)過專業(yè)的培訓(xùn),連開關(guān)機時先按顯示器開關(guān)還是先按主機開關(guān)都有很深的學(xué)問,這不僅難度高,而且還很神秘。更別說里面裝的軟件了, 不經(jīng)過長期專業(yè)的指導(dǎo),根本玩不來。 從正常的邏輯上的看「使用軟件都這么難了, 那制造軟件門檻不是要高到天上去了」
事實上, 開發(fā)軟件和使用軟件之間并沒有什么必然的關(guān)聯(lián),更不是老子和兒子的關(guān)系 。 有時候使用某個軟件會很困難,而開發(fā)某類軟件卻很容易,還有的時候卻是相反的,因為開發(fā)軟件的工具和編程語言, 也只是一種軟件而已。至于倒底是先有軟件和還先有編程語言,那就是先有雞還是先有蛋的問題了, 這里不作詳細討論 。
首先解釋幾個常見的疑問
編程是不是需要具備較強數(shù)學(xué)能力?
完全不用, 只需要你掌握普通的加減乘除、算絕對值、指數(shù)等最最基礎(chǔ)的知識, 編程的數(shù)學(xué)要求也就滿足了。 這毫不夸張, 我寫了五六年的代碼 , 唯一一次用到上學(xué)時學(xué)到的數(shù)學(xué)公式是三角函數(shù)相關(guān)的知識,那時候需要讓一個點在網(wǎng)頁上轉(zhuǎn)圈,而且這并不是工作上的需要, 只是我自己沒事耍著玩而已。
英語不好能編程嗎?
理論上最低的要求是認識26個英文字母即可, 也就是說你只要上過初中英文課程就行了。 這并不是說編程并不需要會英語, 而是因為現(xiàn)在翻譯軟件滿天飛, 看不懂用軟件翻譯就能解決問題了。
找軟件工程師的工作有學(xué)歷要求嗎?
學(xué)歷自然是越高越好, 然而, 只要技能掌握扎實,就絕對會有公司要你。 現(xiàn)在這種職位行業(yè)需求大, 很多公司根本招不到人, 學(xué)歷不是他們首要考慮的入職要求。
編程職業(yè)是不是到年紀大了就不能做了?
沒有人會原地踏步, 只要你不斷努力就總會有你發(fā)揮價值的空間, 反之, 干任何工作都會丟飯碗
編程這種工作是不是需要經(jīng)常加班?
在任何行業(yè)中, 總有加班現(xiàn)像特別嚴重的公司, 政府機關(guān)和國企也不能例外, 不想加班只要不去那樣的單位就可以了, IT行業(yè)也有工作很輕松的企業(yè)。 反正我做了這么多年, 加班次數(shù)數(shù)都數(shù)的過來。
至于最重要的收入方面,這個需要看地區(qū), 如果在一二線城市, 那絕對高于普通傳統(tǒng)行業(yè)。
講了一大堆廢話,接下來進入正題,聊聊如何快速成為一名前端開發(fā)工程師, 這里的前端開發(fā)指的是網(wǎng)站的前端。
網(wǎng)頁前端開發(fā)技術(shù)是所有軟件開發(fā)技術(shù)中入門最簡單的, 沒有之一。前端開發(fā)其實并不是純粹的編程,它的的工作分為兩塊, 一塊是制作網(wǎng)頁, 一塊是制作網(wǎng)頁上的動態(tài)效果, 制作網(wǎng)頁是不需要編程的,制作動態(tài)效果是需要編程的。 因此, 制作網(wǎng)頁是非常簡單的一件事, 而稍微有點難度的是寫網(wǎng)頁動態(tài)效果 ,但和其它編程技術(shù)比起來還算是很簡單。
上面說過, 想在零基礎(chǔ)的前提下入行做一名前端開發(fā)工程師(軟件工程師),是不需要擁有很高的學(xué)歷的,也不需要很強的數(shù)學(xué)能力, 更不需要玩的很溜的英語水平。 然而, 卻需要具備
對編寫代碼有強烈的興趣,非常想自己去制作一張網(wǎng)頁、編寫一段特效,或者說用代碼實現(xiàn)一個自己想要的功能
較強的自學(xué)能力, 能不通過別人的幫助,自己尋找方法學(xué)會某一類知識、玩轉(zhuǎn)某一種技術(shù)。
養(yǎng)成看書的習(xí)慣, 因為看書是最好的系統(tǒng)的學(xué)習(xí)知識的方法。 一名前端開發(fā)工程師, 最低標準也需要看完兩本600頁的專業(yè)知識書籍。
能持之以恒,不輕言放棄,因為從零基礎(chǔ)到可以通過掌握的前端技能謀生, 最起碼需要經(jīng)過3-6個月不間段的學(xué)習(xí)和訓(xùn)練, 這也許是一個枯燥寂寞痛苦的過程
前端技術(shù)分為兩塊, html、css和JavaScript,html和css用來制作網(wǎng)頁頁面, JavaScript用來編寫網(wǎng)頁特效
html和css相對簡單, 其中內(nèi)容深度較淺,易于理解,而且這兩種技術(shù)的學(xué)習(xí)過程中并不會牽扯出其它相關(guān)聯(lián)的知識,換句話說,你學(xué)好了html和css就等于學(xué)好了頁面制作的全部。 此外, 學(xué)習(xí)html和css并沒有多少需要深刻理解的知識,僅僅是花時間記憶和練習(xí)就足夠了。 大致上使用html和css編寫網(wǎng)頁是以如下方式工作的
在頁面的左上角放置一個方塊,將長度設(shè)置為100像素,將寬度設(shè)置為100像素,將背景設(shè)為淡藍色,將邊框設(shè)為深藍色
在頁面頂部放置一行文字 , 將字體設(shè)置為微軟雅黑,將字體大小設(shè)置為14像素,將字體顏色設(shè)置成淡黑色
在頁面中間放置一張圖片, 圖片地址設(shè)為xxx,圖片寬為100像素,高度自適應(yīng),鼠標移至圖片時變?yōu)槭中?/p>
在頁面底部放置一個鏈接,鏈接地址為xxx,點擊鏈接跳轉(zhuǎn)至百度首頁,并且需要另起一個新窗口
試想一下, 一張網(wǎng)頁不就是以這種形式構(gòu)成的嗎
html其實并不需要通過看書來學(xué)習(xí),因為它非常的簡單, 內(nèi)容也不多, 在網(wǎng)上看一些專門講解html知識的網(wǎng)站的內(nèi)容就可以了,這里推薦一個公認的適用于初學(xué)者學(xué)習(xí)的網(wǎng)站, 地址是HTML 教程。
css的學(xué)習(xí)就要復(fù)雜多了,必須要通過專門的書籍來學(xué)習(xí),因為css的知識量相對較大,各大瀏覽器對css的支持又不盡相同, 如果不通過系統(tǒng)的閱讀書籍來循序漸進的學(xué)習(xí),很難窺其全貌,在真正工作實踐使用時,也很難靈活高效正確的應(yīng)用。有的同學(xué)可以會想通過看視頻來進行學(xué)習(xí),我不是很推薦這種方法, 原因如下
css的內(nèi)容很多,一般網(wǎng)絡(luò)上的視頻很難覆蓋所有知識, 試想一下, 上學(xué)時老師給學(xué)生上一門課也需一個學(xué)期, 可見對某一類知識進行系統(tǒng)的學(xué)習(xí), 信息量有多大了
視頻中講解者的水平很難保證, 導(dǎo)致時間精力花下去了,效果卻看不到
看書這種習(xí)慣必須要養(yǎng)成,學(xué)css或許可以看視頻 , 那學(xué)JavaScript呢? 學(xué)習(xí)知識如果依賴視頻,那在這個行業(yè)中走不遠
學(xué)習(xí)css推薦使用《css權(quán)威指南》這本書, 我當初看的就是這個, 內(nèi)容很全講,而且講的通俗易懂,現(xiàn)在已經(jīng)出到第三版了,內(nèi)容質(zhì)量應(yīng)該勝過我之前看的地個版本
看書的過程中還需要做筆記, 不要太信任自己記憶力, 一些不常用但又很重要的知識, 如果不記下來, 隨時溫習(xí) , 隨著時間的推移,肯定會漸漸的忘記。 最好要把書中講解的每一個要點, 都作記錄。 在學(xué)校里, 如果不關(guān)心考試成績, 那么完全可以左耳進右耳出, 因為學(xué)校里學(xué)的知識 , 上了社會已后, 不一定用的上。 然而, 在學(xué)習(xí)技術(shù)過程中忘掉學(xué)過的內(nèi)容就太吃虧了, 因為這些知識完全可以在工作中用的上, 說的優(yōu)雅一點就是對自己的職業(yè)生涯有幫助 , 說的現(xiàn)實一點就是可以升職加薪賺錢。
然而, 學(xué)習(xí)過程中, 看書只能占百分之四十, 另外百分之六十是動手實踐。首先, 你可以參考別人網(wǎng)站上的網(wǎng)頁, 找一張覺得自己有能力可以實現(xiàn)的頁面, 然后照著樣子自己寫一張, 不管使用什么方法, 查書、網(wǎng)上資料,或者參照目標網(wǎng)頁已實現(xiàn)的版本的做法, 總之動手去做, 把網(wǎng)頁做出來就可以了,然后不斷的重復(fù)這個過程,直到可以不借助任何外部手段, 徒手能把一張網(wǎng)頁畫出來, 這樣就有找工作通過面試的資格了。 不要小看這一張做出來的網(wǎng)頁, 因為從不會到會的這一個過程中, 在尋找解決問題的方法時, 學(xué)到的不僅僅是解決方法本身, 還有因為解決這個問題而被牽扯出來的其它知識也被一并學(xué)會。 因此, 看似只是做了一張簡單的網(wǎng)頁, 然而做網(wǎng)頁的來龍去脈已經(jīng)爛熟于心了。
學(xué)會制作網(wǎng)頁后, 就已經(jīng)是一名合格前端工程師了, 但在實際工作時卻還沒有辦法獨當一面, 只會制作頁面, 肯定只能是協(xié)助人家工作, 打打下手。 只有學(xué)會使用JavaScript, 才能算的上是一位真正的前端開發(fā)工程師。
這里說的JavaScript也叫原生JavaScript
寫JavaScript可就是正兒八經(jīng)的編程了,如果想做一個優(yōu)秀的前端工程師, 百分之七十的精力都需要花在這個上面。 花3-6個月成為JavaScript高手顯然不現(xiàn)實, 3-6年或許差不多。 然而,如果僅僅是入門和應(yīng)付工作,那就足夠了。 要知道很多網(wǎng)頁的動態(tài)效果都是別人寫好的,我們只需要拿過來使用就可以了。常見的JavaScript應(yīng)用場景如下
驗證表單輸入的內(nèi)容是否符合規(guī)則
網(wǎng)頁中的滾圖片滾動效果
網(wǎng)頁中的標簽切換效果
關(guān)鍵字搜索時的向?qū)崾?/p>
無刷新頁面內(nèi)容更新
這些是最常見和簡單的應(yīng)用。復(fù)雜的應(yīng)用包括
JavaScript網(wǎng)頁游戲
炫酷到能上天圖片預(yù)覽效果
網(wǎng)頁版Office軟件
也就是電腦有的軟件,用JavaScript在瀏覽器都能做出同樣的效果。幸好,這些你根本不需要會,只會上面說的基礎(chǔ)內(nèi)容, 就足以讓你找到一份前端開發(fā)工程師的工作。
JavaScript基礎(chǔ)入門的學(xué)習(xí)一般都是先拿別人做好的東西來用, 然后照著樣子自己修改或?qū)崿F(xiàn)一人,最后再以自己的思路,實現(xiàn)一個更合適或者更優(yōu)秀的?,F(xiàn)在互聯(lián)網(wǎng)行業(yè)內(nèi), 前端開發(fā)工程師招聘對于JavaScript的最低標準是會使用網(wǎng)上現(xiàn)成的特效完成工作,而并不要求你會自己寫。
學(xué)習(xí)JavaScript推薦的書籍是《JavaScript權(quán)威指南》,也就是鼎鼎大名的「犀牛書」
我當初看這本書時還是第四版 ,現(xiàn)在已經(jīng)出到了第六版 。 這本書寫的非常精深, 想要一遍就看懂是不現(xiàn)實的。 它適合初學(xué)都也適合高手,在不同層次閱讀這本書都會有不同的領(lǐng)悟, 我就看過三遍,而且每一遍看后感覺都不一樣。 在初學(xué)閱讀這本書時, 可以只看很少的幾章, 其中只包括核心JavaScript中講解的一些基本語法和瀏覽器文檔對象模型這兩部分內(nèi)容就可以了。 當能在前面提到的幾個簡單場景中運用這幾章中的內(nèi)容完成任務(wù)時,就說明閉關(guān)修練可以結(jié)束了, 有了出關(guān)去江湖上闖蕩的資格了。
還需要說到的一個東西叫jQuery, 這個東西的介紹在這里就不展開了。 舉個簡單的例子, 如果把JavaScript技術(shù)當成是「九陰真經(jīng)」的話, 那前面講到原生JavaScript相關(guān)的東西就是「九陰真經(jīng)」的前半卷,而jQuery就是后半卷, 如果沒學(xué)前半卷就去練后半卷的話, 那就會和梅超風(fēng)一個下場 。 切記, 一定要學(xué)了原生JavaScript后再去學(xué)習(xí)jQuery, 這關(guān)系整個前端職業(yè)生涯的發(fā)展和成就。
最后,不能不知道,學(xué)習(xí)前端的三把利器
看書
使用搜索引擎
不懂上技術(shù)論壇提問
用好這三把武器,行走江湖將能如虎添翼。
我不建議去培訓(xùn)班學(xué)習(xí),如果想做一個優(yōu)秀的前端開發(fā)工程師,自學(xué)能力是必須要掌握的,既然如此,那不妨在入門的時候就可以開始自學(xué)了,何必多此一舉去上培訓(xùn)班。而且,上培訓(xùn)班可能會使你過度依附外力,削弱自學(xué)和獨立思考的能力,還浪費錢。此外,現(xiàn)在培訓(xùn)班的教學(xué)質(zhì)量真的很難保證,很可能的結(jié)果是吞了你的錢還教不會你技術(shù)。
透露點敏感而現(xiàn)實的東西, 如果把上面介紹的內(nèi)容學(xué)到位, 那么在杭州地區(qū), 月薪資應(yīng)該能拿到6-8K, 一到兩年后會破萬, 再之后就看自己修行道行的深淺了。
-
編程
+關(guān)注
關(guān)注
88文章
3689瀏覽量
95284 -
開發(fā)工程師
+關(guān)注
關(guān)注
1文章
91瀏覽量
15141
發(fā)布評論請先 登錄


硬件工程師看了只會找個角落默默哭泣#硬件工程師 #MDD #MDD辰達半導(dǎo)體 #產(chǎn)品經(jīng)理 #軟件工程師

如何成為一名合格的KaihongOS北向應(yīng)用開發(fā)工程師
如何成為一名嵌入式軟件工程師?

嵌入式軟件工程師就業(yè)好不好?
如何成為一名合格的北向應(yīng)用開發(fā)工程師

不同時期的硬件工程師,最怕發(fā)生的事 #電子工程師 #硬件工程師 #內(nèi)容過于真實 #YXC晶振 #揚興科技
為什么嵌入式驅(qū)動開發(fā)工程師可以拿高薪?
我國軟件開發(fā)者數(shù)量突破940萬
嵌入式工程師常用的開發(fā)工具有哪些?

評論