-
1 # 大學生程式設計指南
-
2 # 塵世小學童
程式設計師其實是一個很大的行業,裡面細分方向很多,最基本的包括軟體工程師和硬體工程師,要先確定大方向。
硬體工程師,通常有嵌入式方向、ARM、DSP、FPGA等,通常情況下都會跟電路板打交道,會畫PCB電路板通常也是必備技能。大學期間,我是自動化專業,跟硬體工程師是相對比較吻合的,加上聽學長們講硬體工程師越老經驗越值錢,不像軟體工程師是吃青春飯的,於是,最開始的時候,我選擇了硬體工程師這條路,從51微控制器、430微控制器,到ARM板、FPGA,從1層的PCB電路板畫到4層的電路板。硬體工程師,既要搞硬體,又要搞一些驅動軟體等,這也增加了定位問題的難度,有時候硬體出問題,有時候軟體出問題,可能一根線斷了,整個系統就不工作了。學習的過程中,我發現自己是個毛手毛腳的人,經常犯一些低階錯誤,加上自己又對寫程式碼很感興趣,於是後面轉行到了軟體工程師方向。
軟體工程師,第一個問題就是你要學什麼語言,程式語言實在太多,php、java、c#、c/c++、vb、go、python、shell、purl等等,太多太多,想把一門語言學得精通就已經很難了。而且語言的選擇,也涉及到了你的工作方向,php、java等,通常都是前端的工作方向,c/c++等通常都是後端的工作方向,因此選擇語言跟你後面的工作內容息息相關。選擇好語言,首先要把語法學習好,要多敲程式碼,神槍手都是子彈喂出來的,因此多敲程式碼才能領會更深。後續還要學習各種演算法、各種常用庫、各種常用包等等。最後,就是筆試,面試,入職後,正式成為一名程式設計師。
-
3 # 猿小鍋
【必先苦其心志,勞其筋骨,餓其體膚,空乏其身,行拂亂其所為,所以動心忍性,曾益其所不能。】
譯文:
在專案開發過程中,難免會遇到難以跨越的技術難點。但對於專案交付的deadline來說,這是必須攻堅的堡壘,往往是專案成功與否的關鍵。攻堅戰過程中,連續的加班加點,對心志和身體是深深的磨鍊,
【人恆過,然後能改,困於心衡於慮而後作,徵於色發於聲而後喻。】
譯文:
每個人都難免會犯下錯誤,程式是人編寫的。bug在所難免,但是對bug要積極修復,知錯能改。發現問題,第一時間,少和測試和產品對質,多去主動確認問題是否存在。可能確認過程,內心疑惑煎熬,但是還是要理性衡量和考慮事實而做迴應,跟測試和產品,詳細有條理地解答,有必要,給出形象的圖表說明。
入則無法家拂士,出則無敵國外患者,國恆亡,然後知生於憂患而死於安樂也。
譯文:
沒有相對標準可落地執行的開發規範,也沒有可以實力相當的團隊激勵成員,促進團隊發展和創新,團隊往往就慢慢不思進取,在軟體開發競爭敗下陣來。
it行業技術更新換代快速,一個開發團隊或者一個程式設計師也一樣。沒有居安思危的思想,多與外界同行學習競爭,很容易就像溫水煮青蛙一樣,慢慢跟不上行業發展。
-
4 # 產品堂
1.要麼在找bug,要麼在寫bug。作為一個普通人,當然沒有大神那麼樣的頭腦,所以出現bug是在理所不過的了,一個專案開發時間可能80%都用在bug上。所以這是每個程式設計師都會經歷的事情。
2.源源不斷的需求。程式設計師總是跟著需求走,需求一直存在,所以才有工作,但看著一個個的專案寫了刪,刪了寫,真的很痛苦。
3.脊椎病。經常坐在辦公室,電腦前,一動不動幾個點,脊椎受損嚴重。
4.脫髮。重度腦力勞動,髮際線永遠在後退。
5.一直在學習。科技圈迭代速度異常的快,要想不掉隊,就得好好學習新的知識。
6.熬夜加班寫程式碼。程式設計師的工作量很大,所以加班熬夜什麼的都是很正常的。
7.獲得外人得不到的快樂與幸福。寫程式碼其實挺快樂的,尤其是看到程式按照你的意思執行時,那種快樂高過中彩票。
-
5 # 呆呆座的小宇宙
學軟體開發?那可不是鬧著玩的。不從事這一行的永遠不知道這行的艱辛,還咋巴著小眼睛問程式設計好不好學?
不知道LZ看沒看過聖鬥士星矢這部動漫,首先你得問問自己,想學程式設計,你有沒有像星矢一樣持之以恆百折不撓一步一個腳印忍受常人無法想象的困難和痛苦的品質,沒有?你說我開玩笑逗你,那好,下面的不用看了,因為你確實不適合學。
如果你只想著掙大錢,勸你別碰這行,一句話,別來找虐。為什麼?你看到的手機APP,各種應用,要想開發出來,不知道需要多少種技術。拿最常見的網站開發,需要後臺資料庫mysql,資料格式json,xml,各種網路協議,還有網站開發語言PHP, JSP,ASP.NET,等等不下十幾種技術。而每一種技術都是一本厚厚的五六百頁的書,需要最少一年多時間掌握一門技術。最要命的,每種技術互不交叉還跨度很大,每種技術都有自己的設計理念和很多很多“天坑”在等著你攻克,你問問你自己,你有這個恆心和意志力天天捧著本大部頭的書天天看,天天上機操作學嗎?你說有,那好,你看電視上那些富二代天天瀟灑地到處遊玩泡妞基本於你無緣了,因為你根本就沒時間,談個戀愛都困難,還想打網遊玩王者?那算了,你還是別碰這行了,別耽誤你玩遊戲享受生活了。
程式設計師加班很恐怖,工作制通常是996,即早9晚9週六還要上班,晚9下班還是早的,一般到晚上十點。你想那時夜深人靜了人家都休息抱著老婆睡覺了,你還在工作中,是不是很崩潰?
第2,程式設計師耗腦太嚴重。工作中需要十幾個小時大腦不停地運轉。需要設計演算法,不斷地把程式碼改來改去來適應客戶一天幾變的需求。很多功能沒有現成的解決方案,還經常遇到一些天書一樣的疑難問題,bug,實際工作中突發狀況千奇百怪,你可能見都沒見過的bug,崩潰,需要一點一點查幾萬行的log日誌。而且也需要百度,google,英文論壇尋求幫助,理解錯誤資訊是什麼意思。所以英文不好的沒耐心的還是算了吧,不適合這行。
第3. 程式開發首先是非常難學的,任何一門程式語言都有自己獨到的思想,概念設計,很多情況下一門語言與另一門語言沒有多大關係,知識經驗無法串用。而且工作中你還不得不用到這些技術你不得不去學。而且程式技術日新月異,新類庫新SDK每天都會推出,你需要日復一日不斷地學習新技術。如最新視訊解碼技術,遊戲引擎等等,而這些新技術可是國內沒有書和任何資料的,需要你到英文官方網站去找例項看文件去學,更要命的,新的技術和老的還沒太大關聯,你得重頭去學。而且老闆急趕專案不會給你什麼時間,一般三天就是極限了,你需要這麼短的時間快速掌握一項新技術...
綜上,你明白程式設計師為什麼總要加班了吧,也知道這行不是人乾的吧。為什麼說程式設計師幹到三十干不動。很簡單,以這種消磨人生所有時間狀態,你生命中只有加班加班工作工作學習學習,你將不能顧家不能跟朋友聚會不能再有自己一點點休閒時間,更別說談女朋友戀愛了,以這種狀態你能堅持到三十歲?我想那簡直是個奇蹟了
回覆列表
寫過幾年程式碼,到現在還記得當初剛入行的忐忑,屬於一直懷疑自己的階段,無數次內心拷問是不是能夠堅持下去,於是拼命的惡補基礎知識,甚至直接在網上下載面試筆試題目瘋狂的背誦,而真正面試通過了進入了第一家公司,因為自己的愚蠢還被主管罵過或者諷刺了多少回,好在挺過了試用期,有無數次的提醒自己要堅持住。
要成為一個真正的程式設計師需要經歷哪些階段?1.新手過渡期
這個階段可能還會有不服氣的地方,因為基本上真正的專案開發任務很少分配到自己身上,而那些老手即使非常忙也會安排到老員工身上,覺得自己是閒職人員,有過幾年的經驗之後就會覺得這麼做其實是非常正確的,在技術不成熟的階段做出的東西,補救的成本比做的成本要高的多。
2.專案磨練期
專案經驗的磨練在開始階段壓力比較大,模組功能不能僅僅能夠滿足單元測試,還要經得住測試組以及客戶的認可,基本上軟體初次提交之後經過測試之後發現沒有多大問題之後就開始提交給客戶,然後客戶根據自己的實際情況給出指導意見,後續意味著一堆新的需求或者修改意見就會到來,這個時候可能涉及到之前設計的模組框架不一定能經得住考驗的問題,還有新的功能增加能不能影響現有的功能,這些都是實際專案開發過程中遇到的問題,還會有客戶要的比較急實現起來比較倉促產生的一系列問題。
3.技術成熟期
經歷了專案的洗禮,技術上實現的功能會更加的實用,因為技術就是生活服務,技術體系也會更加完善,形成的技術經驗也會更加貼近生活,更加貼近實戰。也會意識到自己在哪方面的不足,明白需要哪些不足之處,建立的知識體系也會更加完善。
三個階段是每一個程式設計師都必須經過的階段,經歷過才知道行不行,在這期間一次放棄就會斷送之前的所有的努力,堅持是一個程式設計師必備的素質。