標籤:

什麼時候開始做項目比較合適?(軟體工程)?

上大學已經幾個月了 軟體工程這個專業並不是自己特別喜歡的 但是也沒有反感 畢竟它的「性價比」比較高 大一學習了 C和C++ C學的不慍不火 C++剛接觸不久 感覺也不是輕鬆可以駕馭的 各種級別的比賽也參加了好多 只是得到了些划水獎 感覺自己在演算法這方面沒有太大的天賦 與身邊的人比有一定的差別 想早點做點項目 但是只學習了這點底層的東西又不知道從何下手 現在比較迷茫 是在演算法的這條道路上繼續走下去 但畢竟演算法只是實驗室的產物對於就業幫助不大 還是自學些其他語言 跟著同學學長們做點項目比較好?


你的問題的核心是軟體理論、技術學習與項目實踐練手間的關係問題,其解決原則很簡單:因地制宜而不強求。

上面這個回答比較含糊,下面我舉些例子展開說明一下,相信你能明白我的意思。

比如你學了C語言中的遞歸,就可以試著編寫一個計算組合數的小程序,或者是編寫一個能列出磁碟上所有文件的小小資源管理器。

你學了數據結構,能不能用你己經掌握的開發技能,弄個支持四則運算、進位轉換、函數求值等功能的科學計算器出來?

學了計算機網路,能不能自己寫個Web Server?

喜歡玩手機遊戲,那能不能開發個「泡泡龍」、「俄羅斯方塊」之類的小遊戲?畢竟你學過了Java嘛,再順手把Android也學了,就能開發出這個小遊戲。

因為動手寫了一個100%的原創作品而興趣高漲,從而擁有繼續學習與提高的強大動力,設計與開發就越來越強,之後進入正向循環……,這種情形,我己經見過N次了,乃開發能力強的好學生普遍有的經歷和必經學習階段。

上述這些練手都是你一個人就能搞掂的。其基本原則就是:你會多少就用多少,會得越多,能做的東西就越多。

另外,有些練手的機會則取決於外部因素了,比如你想弄個機器人出來,沒相應的實驗設備你就沒辦法,這時,你就得想辦法到學校的實驗室里,或者找老師參加相應的課題與項目,這種機會就不是什麼學生都有的了,如果你有了,要抓住並用好它。

還有些機會甚至學校都不具備,你必須要業界中才行。

比如你想弄大數據,但真正的大數據在哪?它們多半在企業中。

而沒有真實的數據和應用場景,你又玩什麼大數據?難道光靠看書能掌握?

這時你怎麼辦?

對策就是:在學校里打好能打好的基礎(比如把大數據所需的數學基礎弄好,明白常用的演算法有哪些,一些現在就可以學的東西,什麼Python,R,Spark之類,現在就學),然後最關鍵的來了,你要找機會到相應的公司去實習,只有接觸到真實的場景,你才能真正學好……,所以,你的努力應該圍繞著能在相應公司找到實習機會這個目標轉。

總而言之,在練手這塊,自己能做主的就自己練,非自己能弄的,就想辦法到能提供相應條件的地方去,如果外部環境不允許,你沒有這種機會(比如你所在的城市連家象樣的軟體公司都沒有),那你就要調整你的自學內容而不要硬著頭皮去學那些你根本沒機會練手的東西,「空對空」地學理論,然後腦補其具體應用場景,我可以肯定,基本上學不會,多半在浪費時間。


碰到個講道理的甲方開始做項目比較合理


不要問。。。不要糾結。。現在就去做,遇到不懂的去想辦法解決。我認為這樣的提升是很快的。

找不到項目做就先從班級方面入手,比如班級作業管理中心之類的,這樣初始用戶肯定不少方便你改進


編程不是知識,是一門手藝,手藝在於實踐 實踐不斷的實踐,但是和誰學手藝進步速度快,當然是最官方的文檔,其實英語才是編程基礎.


找個知名的培訓班的學習路線

按著學習路線學習

不要加入培訓班!!!

按照他的路線學習一遍,(不是說大學的學習路線不好,而是太慢了,其實大學可以擠出很多時間學習)在學習過程中找書籍看

期間去網上找相關代碼項目之類的,自己重現一遍

這樣你可以在以後的大學學習過程中,有更多時間去學習基礎知識


推薦閱讀:

代碼人生1002
《人月神話》讀書筆記④:解決問題

TAG:軟體工程 | CC |