怎樣更好找的自己的專業方向?
現在大三下半學期,馬上要大四了,計算機科學與技術專業,感覺自己什麼都能說一點,什麼都不精通,對什麼都感興趣,比如手機開發,web app,網頁設計等等。是不是應該找一個方向,一心佔下去?
應邀答題,順便問一下,這樣很中規中距的題目,為什麼要匿名呢?
首先你應該先確認你畢業後的第一份工作是打算進創業公司還是進成熟的大企業,在這兩種地方工作,需要的知識體系是有區別的。在一家重視技術的創業小公司幹活,未必就比在知名大公司幹活要容易;在大公司做一顆微不足道的螺絲釘,未必就比在小公司獨當一面要掉價。要想把工作做好,這兩者的難度都是相當的,並沒有優劣之分,因此,請直接根據你個人的興趣愛好來做這個選擇。
如果你想要進大公司的話,你首先需要把本科的全部專業課再熟悉一遍,不需要精通到倒背如流,至少對於每門專業課里一些常識性的問題能有個大概了解,以便通過筆試篩沙。然後,你需要精通一門傳統編程語言,例如 C/C++、Java 或 C# 等,並需要進一步加強演算法功底,以便應付若干輪殘酷的面試。至於其它的具體的專業方向,例如網頁開發還是手機開發什麼的都不重要,可以完全不把精力放在那些事情上面。目前炒得非常熱門的動態腳本語言如 Python、Ruby 等,雖然在大公司內部使用也非常普遍,對於面試來說,其實也是沒有太多加分因素的。
在大公司里幹活,絕大部分時間裡你都在調用其它同事編寫的代碼,或者編寫代碼讓其它同事調用,很少有機會去直接近距離接觸某一項具體的技術。當你需要接觸某項具體技術的時候,你有大量充足的時間來查閱資料,在一個很小的點上把這項技術的一個小方面學到完全精通就行。從工作的性質上可以看出,大公司不需要你在進公司之前掌握任何實用性的技術,但是對於一些基礎性的知識和技能,要求則是很高的。
而如果你想要進小公司的話,那就又是另外一回事情了。小公司的產品體積較小,參與開發的每個人必然會在產品中負責更大比例的內容,因此需要接觸的具體技術比起大公司來說也會多很多。在小公司里,花一整個工作日查各種資料微調一個按鈕的外觀這樣的事情是不可想像的,也是不可接受的。因此,要想在小公司取得較好的成就,你需要有儘可能寬的知識面,了解儘可能多的東西,學習儘可能多的技術。各項技術不一定都需要學到非常深入的程度,但至少要做到有所了解。在廣泛涉獵的前提下,再深入掌握一到兩項具體的技術,就很好了。
手機開發和 Web 應用目前都是很熱門的技術,選擇任何一項你更感興趣學習都行,關鍵的是一定要做出一個完整的作品出來。當你從頭到尾完整完成了一項作品之後,對於這項技術自然也就會有了一個全局的概念,各種具體的技術自然也會掌握得牢靠很多。至於網頁設計,市面上的大部分崗位都太低端,上升空間非常有限,而高端崗位對技術和綜合素質要求極其高,沒有工作經驗的新人很難達到這樣的要求,因此我不推薦以網頁設計作為職業起步的方向。推薦閱讀: