- 這個作業屬於哪個課程:軟件工程 1916|W(福州大學)
- 這個作業要求在哪里:第一次作業-准備篇
- 我在這個課程的目標是:了解並參與軟件開發的全過程,利用所學的有關知識,設計並構建一個優良的工程,為今后入職奠定基礎。
- 這個作業在哪個具體方面幫助我實現目標:了解軟件工程這個專業,看清了自身的具體情況。
寫在最前面
我上學期在選課的時候,選擇的是單紅老師的《軟件工程實踐》,所以我目前還不屬於這個班。但我想試試看自己能不能堅持得下來,聽說相比較單老師的課程,汪老師的課程可能需要做大量的工作,我想這個課程的工作量再大,也不會大過我以后參與工作時所要面對的工作量吧。如果這門課我沒辦法堅持下來,那我以后的工作也不會好到哪里去。所以我目前的打算是開學初看一下能不能改選,能改選的話我會把寒假的這份作業補完(目前應該只剩下將博客地址和 Github 地址填入在線文檔這一項了)並加入課程群,如果無法改選,那我也會盡量保持我的博客的更新(既然都開了博客了,那就好好利用起來)
對作業中問題的回答
-
回想一下你初入大學時對軟件工程專業的暢想
-
當初你是如何做出選擇軟件工程專業的決定的
除去對計算機本身的興趣,另外就是在高二的時候接觸到了一款手機輸入法:歲寒輸入法,這個輸入法的作者是一位大學生(現在應該已經畢業了),也是在這時候自己就在想:什么時候自己也能做一個自己的應用,讓別人用呢?這也促使我選擇了軟件工程這個專業。
-
你認為過去兩年中接觸到的課程是否符合你對軟件工程專業的期待,為什么?
總體上講,過去兩年接觸到的課程比較符合我對軟件工程專業的期待,甚至有點超出我的預期。我原以為專業的課程只會與軟件相關,但是卻有《數字電路與邏輯設計》這門有點偏向硬件的課。也有一些課我想學習但本專業沒有開設,比如《計算機圖形學》(不過根據后面了解到的情況,計算機專業那邊的圖形學似乎少有涉及編程,而我所關注的,大概是使用 OpenGL 或者 DirectX 這類 API 的圖形編程吧,和我預期相差得有點大)
-
你覺得軟件工程是你喜歡的領域嗎,它是你擅長的領域嗎?
其實相比較其他領域,只能說一般般,但是每當通過編程完成了一個目標,解決了一個問題之后,我還是蠻開心的。就自身而言,它算是我擅長的領域,不過和其他人相比,自己還是太菜了。
-
將來你會選擇從事軟件開發相關的工作嗎?是的話給出你想去的城市、公司和崗位,否的話給出原因
對此,我肯定是給出肯定回答的,畢竟專業擺在那里,跨專業就業再怎么樣都需要花費一定的時間“另起爐灶”。如果設定一個具體的目標的話,我想去上海的 bilibili 做 UWP 或者 Android 的開發(不過看起來像是個奢望呢)
-
-
即將大三的你,對照前人們走過的路和描述未來發展,現在的你
-
自我感覺你已經具備的專業知識、技能、能力有哪些?已經寫過的代碼量是多少?
Emmmm……從 C 到 C++ 到 Java/C♯ 感覺自己可以做到在一兩天內從語法上入門一種編程語言,然后借助 API 文檔上手寫一點東西。對一些簡單初等的數據結構(鏈表、棧、隊列)等能夠熟練應用。至於寫過的代碼量,撇開課程的一些大作業以外,自己到現在還沒寫過一行工程代碼,倒是在 OJ 上刷了不少題(福大藍橋杯的 OJ,LeetCode/LintCode),我通過這個學習數據結構與算法。
-
離成為一個合格的軟件工程專業本科畢業生,在專業知識、技能、能力上還差距哪些?
感覺自己最需要補充的就是實際的代碼能力,我急需一個實際工程來做練手。比如說博客 M[1] 的作者所做過的一些項目,以及他做的一個 C++ 的 UI 庫 GacLib。當然也有前文中提到的“歲寒輸入法”。另外我覺得我的數據庫原理這門課似乎修得不夠好,課程上下來也就只會寫寫簡單的 SQL 語句。還有就是一些算法還是沒有掌握(到現在自己還是寫不出 BFS 和 DFS 的實際代碼)。
-
-
大三是一個人生選擇的十字路口,考研、工作、考公、出國,不同的選擇在大三就有不同的努力方向。而無論考研還是工作的每條路徑,也有許多不同的分支。
-
對照以上你閱讀的前人們的經歷,你的選擇是什么?
我的選擇是工作,也只能是工作。首先,公務員不是我想要的菜,自身沒有任何條件出國,同時無實力保研,無信心考研。我是一個“四無”產品。同時我覺得我和博客 B[2] 中的主人公一樣,感覺自己沒學懂計算機,甚至更慘的一點,是本科階段的內容都沒消化。我覺得自己的精力,能把專業課的知識搞明白就已經有點艱難,更不要提考研要額外再復習三門課了。
-
在這種選擇下,你認為你相比其他同學來說有何優勢,有何劣勢?
優勢在於自己能夠提前積累經驗吧,同時自己也能盡早實現經濟獨立。劣勢的話,學歷的限制可能導致有些崗位根本投不出簡歷。(當然,強者恆強,像我這種鶸,讀了研可能帶來的提升也就那樣吧)
-
針對你的選擇,你給自己的大三設定的規划安排是什么?
博客 D[3] 的作者認為“進一線企業做一些實習確實對就業有幫助,但這樣做的前提是你掌握了大學課本上的知識”,所以我覺得首先還是打好基礎吧,把自己以前有缺漏的地方一一補全。另外就是自學一些修讀方案里沒有的東西,比如 Android 應用開發等。
-
-
針對上述問題(2)、(3),你對這門課的期待是什么?你打算平均每周拿出多少個小時用在這門課上,以達成你的期待以及你在(2)或(3)上的目標?
我對這門課的期待只有一個:最后課程結束時設計出來的作品並不僅僅只是一個大作業,我希望它能有維護的價值。就此打算平均每周拿 30 小時左右的時間在這門課上(少刷一會兒知乎微博,這時間會騰出來的)
-
據聞軟工實踐這門課非常辛苦,在開課前你了解過這門課嗎?你會以什么態度看待這門課?如果你加入的項目組中有隊友在中途退出你會怎么做?
對這門課的了解基本來自於學長學姐,我聽說那些學長學姐由於軟工時間,基本處於一種猝死的狀態,除此之外就沒別的了。在培養方案上,軟工實踐應該是大學前三年規模最大的實踐了吧,我個人是希望自己不要在這個過程中划水。如果碰到隊友中途退出,除了勸導以外我也想不出什么有效的辦法。
最后的最后
原本在此之前,我一直在考研與工作間躊躇不定,因為我不知道我在這二選一的選擇題里到底會選啥,直到有一次和同學聊天,聊到日后規划時,我不知道怎么地就打出了“我以后打算工作,並且走 Android,.NET 方向”這樣的話。我想這也許是我內心真實的想法吧,反正這兩個選項中無論選哪一個,路途都不會好走,既然已經做出選擇,那就一條路走到黑吧。