2020軟件開發(fā)程序員個人總結(jié)
先自我簡介一下,本人從事asp.com開發(fā)進一年,XX屆畢業(yè)生,XX年11月開始上班,之前做asp,XX年2月后開始做asp.com,由于公司轉(zhuǎn)型,現(xiàn)在帶十幾個人在一起搞asp.com開發(fā),主要是關于準金融行業(yè)的行業(yè)管理軟件。年度總結(jié)在會議上也寫了,但僅限于對于工作總結(jié)及2020年工作計劃,自我總結(jié)較少,因此今天專門做下自我的年度總結(jié),主要從技術、管理、人生上面談談這一年的收獲,前輩路過歡迎多多指正。
技術
我在學校里學的是電氣自動化,程序基礎僅限于C基礎課程的一些知識,后來由VB、HTML轉(zhuǎn)向asp,在asp上花費了不少時間,對asp比較熟悉,后來由于公司業(yè)務需要,將開發(fā)平臺轉(zhuǎn)向asp.com,開始對asp.com不是很感冒,以為就是asp的一點擴展(那時還不知道三層架構,數(shù)據(jù)數(shù)據(jù)訪問全在頁面里——!),后來招來幾個北大青鳥的過來終于意識到asp.com的強大之處,經(jīng)過個人的努力已經(jīng)逐步掌握了asp.com,現(xiàn)在層次上只能講個人覺得是入門而已,原因是多方面的,待會兒會講到。
相信從面向過程轉(zhuǎn)向面向?qū)ο蟮耐瑢W都有一種感覺:面向?qū)ο箝_始真的有點別扭,涉及到屬性,尤其是類之間的各種關系,那時老想用面向過程傳遞參數(shù)多方面啊。于是老在想對象這種東西,從概念中跳中來,以自己的方式去理解才逐漸體會到頁面對象的精華來,分層次展現(xiàn)、分級別訪問、封裝對象之間各種關系逐漸真正理解了,尤其是對象之間的關系,如對象a與對象b兩者之間的關系,有些需要完全公開,有些需要隱藏,有些需要通過第三方傳遞,有些需要給自己的下級可見,有些需要讓下級去完成具體操作——這不是現(xiàn)實的實際模型嗎?應該這么理解,面向?qū)ο髞碓从诂F(xiàn)實,它不是一種憑空空想出來的理論,這些對象之間的關系可以將其還原為父子、夫妻、領導下屬、同事、朋友之間的關系。相比之下,頁面過程往往像是一股腦全部推給用戶使用,其中的數(shù)據(jù)與數(shù)據(jù)訪問方法層次不清晰,在模擬現(xiàn)實上它與面向?qū)ο笙啾雀子谌腴T理解,實質(zhì)上難于準確直接地表述。
面向?qū)ο笊狭硪环矫媸撬脑O計模式,在之前的面向過程中對這個設計模式并沒有清晰地提出來,面向過程優(yōu)秀的代碼要求高內(nèi)聚低耦合,從個人的理解上,這僅是對軟件開發(fā)方法“技”上理論總結(jié);設計模式是達到了“道”的層次,因為它從更大的方向、更抽象的層次來去表述具體的代碼模塊之間的關系,可以認為設計模式是完全從實際的應用來不斷總結(jié)得來的經(jīng)驗,之間并沒有這種術語,但相信前人肯定也使用到這種思想,它從實際應用于來,當然要應用于實際工作中,認真思考不斷總結(jié)每個人都會有自己的“設計模式”,可以借鑒前人的思想來去提升自己,不可去為“設計模式”而設計模式。
具體到asp.com的實現(xiàn)模型中,真正理解它的機制與方法也就不難理解,記住b/s中離不開post或get,所有的AutoPostBack、SelectedIndexChanged……都是去調(diào)用Form傳值,加上runat=server的服務器控件打開它生成的源文件也是普通的HTML標簽,微軟的讓軟件開發(fā)更容易的思路是很好的,時代在前進,很多年前你使用C寫出MIS證明你很牛,很多年之后你不在使用C去寫“學生管理系統(tǒng)”、“圖書館管理系統(tǒng)”那只能說明你的腦子少一根筋,開發(fā)語言都有長處與不足的地方,因為它們適用的場合不同,類似不能拿匕首去跟炮彈比,也不能拿C與PHP比,程序員都有一種偏執(zhí)的心理,但一點要記住,你面對的用戶才有最終發(fā)言權,程序能不能滿足需要,易用性、穩(wěn)定性、成本才是應當首先放到重要位置來去談的。
管理
最開始擔任管理一職時開發(fā)團隊加我在內(nèi)只有四個人,那時只是抱著接受挑戰(zhàn)的心理去做管理,加上我本人比較重感情,團隊之間關系相處都不錯,但嚴重的問題逐漸顯露出來:工作的隨意性、團隊精神薄弱、工作方式蠻干,印象深刻的是有幾個開始承諾項目不能完工,于是最后天天加班,一直做到早上6點,睡一會7點半接著上班,幾個同事都是年齡差不多的小伙子,干勁十足。后來隨著時間的推進,問題越來越擺在眼前:項目遲遲不能完工,又由于公司待遇方面讓新員工感覺不值得,于是形成了老板抱怨員工也抱怨的狀況,我在中間兩點都要去“消火”,這期間是我們部門相對最累的時間但也是相對感覺最充實的時候,后來,之前的員工跟我說“再也找不到那種感覺了”,這是我能想像的。這期間主要是老總對我十分信任,工作上主要是管理方法上對我指點了不少。后來我逐步體會到,管理應該是“大家定規(guī)則去遵守”,而不應該是“人管人”。
人管人很容易陷入一個誤區(qū):領導去時時刻刻關注每個員工,這樣最后往往后造成員工對領導的敷衍了事,管理松了員工會責任下下降,管理緊了造成員工與領導關系緊張,另一方面領導時間精力有限必然耗費大量的精力在日常的監(jiān)督中而不能投入到全局的管理中。
于是“定制度-定分工-定進度”,明確日常所有的規(guī)章制度,這期間除了公司主要的工作規(guī)章制度外其他的日常工作紀律、日常管理等規(guī)章制度都是我本人制訂,然后征求大家意見最后去貫徹執(zhí)行。中間也遇到了不少問題,比如開始我們內(nèi)部是允許使用QQ的,后來員工用QQ閑聊的時間增多,大大影響了工作效率,最后決心禁止,開始阻力較大(貌似程序員都喜歡掛上幾個QQ去到群里搞個群主,雖然群里大多都是菜鳥),最后多次開會,逐個談話,闡明道理,形勢逐漸好轉(zhuǎn)。
項目分工上針對技術水平明確分工,制訂項目開發(fā)計劃,由于開始技術都不是很成熟,不少時間我這邊強勢要求,使用野蠻方法,完不成加班——我陪著加班,這段時間能感覺到員工對我稍有怨言但總體還是認可的。
這期間公司新招人員,人員的增多更使我意識到團隊管理的重要性,這期間版本控制、編碼規(guī)范、文檔管理、Bug管理等諸多問題都得到一一解決,技術水平上主要是我個人利用空余時間學習新知識充電,然后展開各種培訓,主要是photoshop、css、js、SQL等方面,培訓一方面提升了員工的技術水平,一方面我本人在學習培訓的過程中得到的最多,因為這個時候個人要求去思考的會更多,加上我本人對技術興趣比較深厚,所以后期工作慢慢踏入良性循環(huán)。
待遇低、條件艱苦、工作時間長、工作壓力大是團隊中最大的難題,這方面公司在某些方面決策層有著嚴重的錯誤思想,造成技術人員對公司埋怨增多,在這方面我本人只能以勸架婆的身價去安慰身邊的兄弟,因為我明白現(xiàn)在公司的問題與當前中國軟件行業(yè)的通病一樣,盲目追求利益最大化,不求質(zhì)量,但求速度,整個社會風氣造成軟件行業(yè)良莠不齊發(fā)展,整個中國三四個人的開發(fā)團隊組成的公司數(shù)不勝數(shù),整個程序員階層生存狀況可想而知,瘋狂加班、代碼質(zhì)量低下、維護成本大、穩(wěn)定性差、用戶體驗差……。當然我們本身不能去逃避這個現(xiàn)狀,對于個人來講任何假大空的口號都是沒有意義的,程序員作為技術人員最重要的是心態(tài),以良好的心態(tài)去面對各種問題,發(fā)現(xiàn)問題、解決問題,發(fā)現(xiàn)問題抱怨是解決不了問題的(“IT民工”是我個人認為IT人最沒有正確的自我定新位的一個稱謂,試想一個人連自己都看不起自己的職業(yè),他能做好自己的工作嗎?),最主要是解決問題。
我在面試員工時反復提到的三點是;工作態(tài)度、發(fā)展?jié)摿?、工作能力,由前向后排序,心態(tài)最重要,大公司大家都想削尖腦袋往里擠,但名額有限,所以廣大的程序員同志絕大多數(shù)都集中在二流三流四流的軟件公司,這個時候更應該做好個人職業(yè)定位。以我個人的經(jīng)驗,新員工選擇一家公司往往最看重工資待遇跟發(fā)展?jié)摿Γ绦騿T是一種不可以混日子的職業(yè),工作能力很重要,但不是最主要的,工作態(tài)度是最重要的,工作態(tài)度往往跟個人的思想認識還有職業(yè)所在的環(huán)境有關,我個人的體會是絕不能太過于情緒化,情緒化無論是對工作還是對個人的發(fā)展都是不利的,就是說哪怕是明天你要辭職,你今天都要把今天要做的事情認真用心做好。
對于工作責任心不夠的員工是尤其值得關注的,他們往往自我意識過于強烈,追求以自我為中心,很多時候伴隨著工作得不到認可、工作感覺不充實不開心,我會主動找他談話,我認識:你管理的是一個實實在在的人,他不是一臺任你擺布的機器,人會有情緒往往是有心結(jié),找到原因,多加開導,用心去關心每個成員。對于實在不適合在本團隊發(fā)展的員工要做好最壞打算。程序員這個職業(yè)與現(xiàn)在的大學生具有一致的特征,一個是從天之驕子淪為多余人,一個是從高智商人士成為今天中國通行的”IT民工“。另一方面是程序員往往年齡集中在20-25之間的男性中,情緒化、失落感、心理不成熟等一系列問題都會出現(xiàn)。但這個階段的人往往也最易溝通,可塑性也較強,適當?shù)囊龑?、合理的方式會比野蠻的管理效果強上百倍。