从入门到卓越——大学生的软件开发成长之路
前言:
許多有志于從事軟件開發工作的學生經常會感到困惑,不是因為企業的要求過于苛刻,也不是因為認識不到自身的欠缺;而是,明明知道目標所在,卻始終無法靠近它;有著無限的熱情和毅力,卻找不到合適的道路。眾多學生艱辛的學習和求職經歷,促使我們進行深入的研究分析,并給出相應的指導和建議,以期能對更多的學生有所幫助。
從入門到卓越,一共經歷五個階段:
入門:體驗軟件編程開發
提高:進軍企業應用平臺
熟練:征服團隊協作開發
優秀:提升個人綜合素質
卓越:從容戰勝就業挑戰
我們將從一個學生的角度,用五篇短文分別描述這五個階段。
入門:體驗軟件編程開發
很快就要畢業了,是時候盤一盤我的家底了:
C語言:學過哦,考試還打了90分呢!現在呢?對了,printf!
Java/C#:選修課學過,聽說很流行。具體怎么用,基本沒了解。
數據庫:好像是select * 什么的吧。
項目經驗:非常干凈,無!
那么,從現在開始,下定決心,開始我的卓越之旅吧!
從哪里入手呢?先找回編程的感覺吧!從C/C++入手,瘋狂的寫代碼!不過,事情可沒那么簡單。望著電腦屏幕,兩眼發直;放在鍵盤附近,雙手發抖;拼命回憶代碼,腦袋卻一片空白,總之就是,各種不適的癥狀都來了。從每天幾十行代碼,到上百行,到好幾百行,慢慢的,感覺回來了!
這時我才發現,原來我竟然什么應用程序都還不會寫!讀寫文件?不會!網絡編程?不會!訪問數據庫?還是不會!做漂亮的界面?只能羨慕別人的了。我終于明白,學會了語法,只是萬里長征的第一步;一門語言最重要的部分,在于它背后強大的框架和類庫支持。我喜歡Java,也舍不得C#,但是看來時間緊迫,魚和熊掌不可兼得啊。頭疼了幾天,已經不記得是如何抉擇的(抓鬮?),不過最終我還是選擇了Java路線;現在想來,與其徘徊不定,不如先選擇一門試試,自己也許慢慢會愛上它的哦!不久,一個完整的即時通信系統躍然眼前,想來真是暗自得意啊。這是我的第一個作品,盡管不那么強大,盡管還有那么多缺點,但驀然回首,Swing、Thread、Socket、XML等等,都已經在我身后,我終于上路了!
?
你上路了嗎?來看看這個小測驗吧(Win32平臺,Visual C++):
已知:char? str[] = “Hello” ; char?? *p = str ; int? n = 10;
請計算:sizeof (str ) ,sizeof ( p ) ,sizeof ( n )
不做實驗,你能得到正確的答案嗎?
提高:進軍企業應用平臺
對于80后的我來說,Internet簡直成了生命的一部分??葱侣?#xff0c;關心天下大事和小道消息;寫博客,抒發豪情壯志和滿腹牢騷;搜網絡,尋找技術資源和旁門左道……如果我自己也能做這樣的網站該有多好啊?
且慢,還是謙虛一點,從基礎做起吧。于是,學習HTML當仁不讓的成為了第一要務;不過,為什么我做出來的網頁咂就這么寒酸呢?都不好意思拿出來見人了。沒關系,把CSS、JavaScript都用上,再借助Dreamweaver的強大支持,我的審美和藝術細胞都迸發出來了,慢慢的,我也可以在同學面前炫耀一下了。
當然,只是“一下”而已;因為馬上我就發現,我的頁面除了讓人家過過眼癮,什么都做不了:不能網上購物,不能發帖子,不能查數據……
于是,Java EE橫空出世了!Servlet,JSP,JDBC,再配合傳說中的“甲骨文”,感覺真不錯!我的網站終于飛起來了,自我陶醉一下吧!阿基米德說:給我一個支點,我就可以撬動整個地球;現在我也可以說,給我一些錢和時間,我就能辦一個網站!
老師適時的提醒我:別光顧著做一些花里胡哨的東西,整點更實際的!什么是實際的?企業信息網站啊!辦公自動化系統,知識管理系統,電子商務系統,訂單管理系統…… 哦,我太有才了!
嗯,我終于提高了一個檔次!各位看官,你是否也提高了呢?看看下面的小測驗吧:
怎么樣在網頁上控制,不讓用戶上傳超過10M的文件呢?
怎么樣做一個完整的購物網站呢?
熟練:征服團隊協作開發
??? 這年頭,什么事都講究個團隊協作;一個人單干?除非有楊過的天生麗質及傳奇遭遇,否則沒門。作為一個普通人,我還得腳踏實地,好好成為團隊中的一份子。
??? 一方面是人多力量大,另一方面,就是人多意見雜。我要往東,他要往西。沒有規矩,不成方圓啊。所以,首先要制定規范,編碼規范、數據庫設計準則、應用程序結構分層等等。這時我才發現,以前寫過的好多代碼都“羞于見人”啊!朋友,你是否也經常寫出int a1;int a2?是否也在一個函數中洋洋灑灑寫上一兩百行代碼?是否也曾直接在頁面上直接訪問數據庫呢?趁現在還早,打住吧,這種代碼會讓你的同事們看得暈頭轉向,郁悶至極以至于“破口大罵”。
??? 隊伍大了,項目卻更大了,擺在我們面前的問題是,基礎的Java EE框架此時顯得如此臃腫,乏味和低效。于是我們鳥槍換炮了,這便是Struts, Spring和Hibernate;傳說中的MVC、IOC、OR映射已經成為我們的老朋友。
??? 當然,還有不少仁兄仍然沉浸在游擊戰中,想到什么寫什么,打一槍換一個地方;然而效果并不樂觀,往往是今天攻下了一座城,明天又丟了一座山。都什么年代了,該專業一點了。做好計劃,分好任務,定好步驟,寫好文檔,開好周會,一個都不能差;單元測試,功能測試,源碼管理,Bug管理,一個都不能少。以前大學書本上軟件工程的理論知識,到今天終于變成了現實,真是相見恨晚啊!
??? 終于找到自己的組織了!有這么多戰友的感覺真好!親愛的朋友,你現在是否也能滔滔不絕的描述自己做過的一個團隊項目呢?好好準備一下吧,沒準哪天你的面試官就會成為你的聽眾哦!
優秀:提升個人綜合素質
??? 有了槍(SSH),有了炮(團隊),我應該是走遍天下都不怕了吧!正當我雄糾糾氣昂昂準備在職場里弄潮時,卻發現仿佛一夜之間,滿城盡是Java人!不是我不明白,這世界變化快。難道我苦讀十余載,苦練數月功,竟只落個“出師未捷身先死”?
??? 要想找到好工作,還得讓自己更出色,讓自己掌握大部分人沒有掌握的知識,讓公司看到我的“亮點”!
??? 那么,再向虎山行吧!第一式,直取AJAX;第二式,拿下Web Service;第三式,玩轉Java ME;第四式,攻克EJB;第五式,染指MQ;等一下,還有如日中天的Flex,打完收工!
?? ? 各位要問啦,這么多新東東,要學會它們,還不等到花兒都謝了啊?沒錯,剛開始的時候,我就像無頭蒼蠅,到處亂撞,四處碰壁;慢慢的,在高人指點下,摸著了門道,學會了怎么看文檔,找資料;再后來,有些問題竟然可以自己調試、推測出來了。在經歷了數個焦頭爛額、輾轉反側、殫精竭慮,而又屢敗屢戰、廢寢忘食的日日夜夜之后;最終盼來了峰回路轉,柳暗花明!是的,首先要毅力,但更要有恰當的方法和指引,這樣一定可以事半功倍。
??? 俗話說,藝高人膽大。技術水平上來了,做項目就像如虎添翼。不僅能夠按部就班的完成那些典型項目,也能研究和分析一些我未曾涉足的業務需求,并開始有了自己的Idea和Solution。
??? 至此,我已經釋然了。因為我能應對的,不僅僅是那些被克隆過無數次的項目,更是對那些未知需求的探索和分析;我所學會的,不僅是技術本身,更是一種快速學習的方法,一種能可持續發展的“原力”;正像“星球大戰”中所說:May the force be with you!
??? 快快發掘自己的“原力”吧!此時的你,也許已經是浩瀚星空中的一員,那么,一定要做亮的一顆星,才能讓好的公司,好的工作發現你!那時的你,是否能如數家珍般的把各種花花綠綠的技術娓娓道來呢?
卓越:從容戰勝就業挑戰
??? 優秀是卓越的大敵!
??? 怎么可能呢?難道優秀還不夠好嗎?看看我的項目吧:
??? 前端,AJAX & Flex;中間框架:SSH;為了趕時髦,還通過Web Service玩了一把SOA,通過MQ與可靠消息傳輸攀上了親戚…… 我就不信了,把最厲害的武功都合在一起練,就不能整出個天下無敵來!
??? 當然,結局是悲慘的:
?? ? 項目做完了,一個人用起來倒是挺爽的。拿出去讓大伙一塊用用,完了,大家都不會用,都望著我的花花界面只瞪眼。我可是費了九牛二虎之力,才給大伙解釋清楚。
慢慢的,用的人多了,網站卻像死在那了一樣,無論如何瘋狂的點擊,就是沒反應。
??? 我引以為豪的Web Service,竟然也被別人肆意調用,唉呀呀,這可是我的“專利”呢!
??? 安裝和配置MQ可把我折磨死了,每換一臺機器就得痛苦一次!更痛苦的是,無論我費勁口舌給別人解釋,人家就是不明白這個東西是干什么的。
??? 還有一個哥們更不給面子,不用IE,不用Firefox,硬是要用Opera瀏覽器打開頁面,結果界面慘不忍睹,更沒人性的是,他還在一旁竊笑。
??? 老師輕描淡寫得說了一句:加一個業務模塊吧。我一想,這還不容易?當然,是說起來容易。當時圖省事,自己寫的代碼沒寫什么注釋,更不用說文檔了,結果現在又得咬文嚼字看一遍;這還算好的,每當我修改幾行代碼,就發現現有的系統罷工了,原來,這些修改影響了它們;只好再多修改幾行,結果像滾雪球一樣,越改越亂,以致“走火入魔”,只得趕緊打住了。
??? 面試官要我描述這個項目,我卻支支吾吾,語無倫次;要我解釋幾個技術的原理,我更像茶壺里煮餃子,倒不出來!
?
??? 很郁悶,明明技術都會了,為什么項目還是失敗呢,為什么還是不足以打動面試官呢?
??? 項目的成敗,遠遠不只取決于技術:
??? 不站在用戶的角度考慮問題,無論技術架構多先進,用戶還是不會用!
??? 沒有豐富的表述能力,無論功能多強大,也不能很好的展現給客戶!
??? 沒有良好的代碼風格和注釋,時間一長,別人甚至自己都無法理解自己的作品!
??? 沒有規范的文檔,這堆代碼就像一臺沒有任何說明書的復雜儀器,只能擺看!
??? 不考慮細節差異,許多異構平臺就無法兼容!
??? 不注重性能,這個項目的用戶就永遠無法超過10個!
??? 不加強安全性,用戶的關鍵數據就可能丟失!
??? 不采用良好的設計準則,無疑堵死了未來給項目進行擴展的道路!
??? 沒有科學的知識管理方法,學過的知識就記不牢,表達不暢!
??? 沒有面試技巧的訓練準備,就會在緊張莫測的面試場上手忙腳亂!
??? ……
??? 沒有這些,就沒有卓越!真是撥云見日,茅塞頓開!卓越,我來了!
后記
??? 一路走來,從入門到卓越,多少坎坷,多有艱辛。找到了一份理想的工作,終于結束了嗎?這僅僅只是個起點,我正要以我掌握的這些知識為基礎,再學再厲,在IT行業的大潮中,掀起一個又一個浪花!
? 作者:中軟卓越北京ETC
轉載于:https://www.cnblogs.com/zretc/archive/2013/06/13/3133627.html
總結
以上是生活随笔為你收集整理的从入门到卓越——大学生的软件开发成长之路的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 百度网盘网页视频加速播放
- 下一篇: 计算机基础应用在线模拟考试,计算机基础在