時間:2023-03-06 16:01:13
序論:寫作是一種深度的自我表達。它要求我們深入探索自己的思想和情感,挖掘那些隱藏在內心深處的真相,好投稿為您帶來了七篇程序員總結范文,愿它們成為您寫作過程中的靈感催化劑,助力您的創作。
總結主要寫一下重點的工作內容,取得的成績,以及不足得出結論,下面就讓小編帶你去看看程序員季度個人總結報告范文3篇,希望能幫助到大家!
程序員季度總結報告1
我是一名程序員,在過去的一年里,軟件研發部團結協作,以及在公司這充滿奮斗的環境下,我以嚴肅認真的工作態度和百折不饒的精神,努力的完成了公司的各項工作,在軟件研發、團隊協作和個人成長上也取得了一定的成績。在公司一年的工作已經結束,特向公司總結匯報如下:
一、軟件研發
根據公司的安排,項目的需要。在自身的努力、伍經理的幫組,團隊的合作下,克服重重技術困難,增長了工作經驗,收獲豐盈:
1、asp開發
以前我在其他公司也做過一些開發,但是底層和架構與頁面樣式我都是沒有涉及到的。通過這一年在本公司的的這些項目程序中的鍛煉,我成長了,我學會了很多很多。
首先,面向對象語言的收獲。對于當前編程的主流思想是對象,任何事物都可以用對象來表示。以前理解這些話很費解都是從表面上理解,沒有從中的體會,通過這次asp項目的開發,不管是數據還是外部一些條件我們都可以抽象成對象,都可以用對象來表示,具體可以用語言中的類方等。asp如此,c#如此java也同樣如此。
其次,具備獨立完成vb知識方面的能力。以前沒有做過vb的東西,加上這次asp的做,這次涉及到的領域也非常廣,常用的重要的都有涉及,并且還補充__ml,java實際操作中空白的部分。通過這一年的開發,我能勝任這方面的工作,能獨立完成這方面的工作。
再次,c#方面存在一些不足。LocALhOST通過c#這次軟件的開發,也發現自己的不足,如基礎知識掌握不牢,缺乏編程整體思想。這些都是需要在工作中完善和改進的。
2、數據庫開發
數據庫是伴隨著項目以來用的最多最平凡的技術。以前對數據庫只是會一些簡單常用的操作,經過這一年項目的實戰,對數據庫的操作增加了一些豐富的經驗。為以后的工作和經驗的積累都奠定了堅實的基礎。同時在項目中還用到了oracel與access數據庫,這是我的收獲。
優點:
能熟練的運用數據庫技術進行開發。特別是對sql數據庫的操作,經過這么長時間的積累,基本上能合理的設計和新建數據庫,同時在數據結構上也加強了對數據庫的理解。通過項目的實踐現在能熟練使用和編寫多種sql語句。還掌握了一些關于數據庫優化sql語句優化的方法,能進行一些簡單的優化。
缺點:
數據是一門比較先進的技術,并不是你會寫一些sql語句,能建幾個數據庫你就是數據庫工程師。要成為一個好的數據庫管理員是要經過長時間的工作積累。針對自己的不足,在以后的工作和學習中多接觸,多運用新的知識點。充實自己的經驗和知識儲備。
二、團隊協作
上面的成功與收獲,除了自身努力外,以及公司的支持。是這個團隊鑄造了我。我們這個團隊也是因為有了我們這些拼搏協作的隊員,使得它成為一個具有務實、拼搏、創新精神的團隊。我與軟件研發小組是一個整體,這里的團隊總結也就是我在這個團隊中的收獲。
務實:公司下發的任務,下發的工作,件件都是用心去做的。我們這個團隊中沒有一個人在工作的時候做了工作以外的事情,都是實實在在的做跟工作相關對公司有益的事情。相信在伍經理的帶領下現在是這樣,以后同樣也是這樣。
拼搏:公司給的每一個任務不管它多難,如果工作沒有完成我們會晚上加班,也要盡可能的完成當天的工作。如果工作實在忙,為了趕進度我們放棄周末休息時間也要盡可能的使項目提前。
創新:現在我們開始項目的時候都會進行研討,一般都會進行一個效率和邏輯的分析與討論,保證程序正確的前提盡可能的提高程序的效率。
互助:我們小組內只要任何一個人出現技術或其它的問題,我們都會彼此都會盡可能的去幫助他。不會因為某一個人而拖住整個項目滯后。
交流:我們在項目中會及時溝通自己的收獲,特別是一些針對性的技術問題。這樣可以省了很多重復研究的時間,這是一筆很可觀的時間。
在交流中只要我會的,我懂的,我不會去吝嗇。我會積極的去與你交流,我的團隊名言“人強團則強,人弱團則削”。
三、個人成長
通過公司這快一年的鍛煉與學習我真的進步了很多,不管從技術上還是做事上,都不像以前那樣了。我在公司學到的懂得的使我飛速成長。
技術上:不管從語言上還是做事的邏輯上都得到了很大的的提高?,F在在軟件小組里面自己能獨立完成一部分工作,承擔自己的責任。
程序員季度總結報告2
光陰如梭,一年的工作轉瞬即將成為歷史,伴隨著新年鐘聲的臨近,我們依依惜別碩果累累的過去,滿懷熱情的迎來即將到來的新的一年。在這年終之際,現對來公司一年的時間里所作的工作總結如下:
一、____項目的編碼工作
從了解____項目的背景、及計劃安排,熟悉____公司制度及業務流程,再到熟悉新能開發模式,之后我根據需求調研報告,從基本的數據庫創建,到編碼,完成了銷售部、生產部、采購部、質檢部四個模塊的基本單據的制單、審核、選單、查詢、打印等系列的編碼工作;完成了____項目的模塊測試及流程測試。
通過這段時間的努力,使我個人的耐心、細心程度及對工作的合理安排得到了鍛煉,學會了在繁忙之中找條理,危難之中找希望。同時自己也有一些不足之處,一些細節地方技術上還不太成熟,還需加以學習與鉆研。
二、erp項目的實施工作
從__月初開始進行____項目的實施,每天早起趕在企業上班前趕到企業進行erp的實施。實施期間主要是軟件的安裝實施及對企業的erp系統的使用人員進行軟件使用培訓;紀錄客戶使用過程中出現的問題,晚上下班后加班加點將每天的小錯誤及客戶變更修改完畢。通過這項工作,使我原本欠缺的業務能力得到了很大的提高,并學到了很多與客戶交流的技巧及業務上的知識,更加明晰了erp系統的流程。但離一個成功程序開發人員的標準還差得很遠,在今后工作中,定會多多注意,加以改善。
三、幫助和使用手冊文檔的編寫
幫助的編寫使我熟悉了____的使用,為后期的oa開發也奠定一定的基礎,使用說明的編寫,使我更加加深了項目開發的整體思路與技術要點,總結了前期開發和實施中碰到的問題,并又一次的對軟件整體進行了測試,對暴露出的小bug進行了最后的修改。
四、利用工作之余的休息時間加強學習
注意收集有關____方面的資料文件,提高自己的處理新問題和解決新問題的能力,并加強學習java及oa方面的知識,為后期的工作打好基礎。
展望臨近的新一年,我會更加努力、工作上認真負責,再接再厲,更上一層樓。相信自己會完成新的任務,能迎接新的'挑戰。
程序員季度總結報告3
在過去的一年中,我擔任公司開發部的一名程序員,主要從事著____項目的開發工作,這一年來我低調努力工作著,不求閃亮顯眼和光芒四射,只為平靜和淡定;這一年中所做的成績如下:
一、獨立開發方面
____項目中本人獨立負責開發會計處的三個子系統:會計人員信用查詢系統。記賬機構信用查詢系統。會計人員網上報備系統。這三個子系統上線后,方便了社會各界查驗會計人員的真實信息、方便了查詢合法的記賬機構信息,以及方便了各單位對會計人員的報備。
二、團隊開發方面
餐飲行業項目,在團隊開發項目中直接參與了____餐飲有限公司總部的信息綜合管理平臺項目,主要負責的系統有:房屋租賃合同管理系統。短信收發管理系統。會員管理系統?;A信息管理系統和人事管理系統的部分功能模塊。系統應用后,____在管理全國各門店房屋租賃合同上,一定程度上提高了管理效率,并且及時有效提供了相應預警信息;短信收發系統方便了總部及時傳遞各項信息;會員系統更好的管理全國各門店的會員信息;人事系統在管理中減少工作量等。
三、項目管理方面
金融行業項目,我參與了____銀行____分行,企業轉賬管理系統中的部分模塊開發。本系統方便了企業快速實現大量和復雜的轉賬工作。____項目正在負責和開發的是住房貨幣化補貼網上申報審核系統。本項目采用了新技術,使界面更加大方美觀,很大程度上改善人機交互平臺的效果。
四、總結不足
java程序員試用期個人工作總結范文一
領導您好,來咱們公司已經兩個月,在緊張的工作與學習中,感覺時間過得很快。轉眼到了試用期結束的時侯了。我在這兩個月的工作中,從技術層面,到與項目組的融合度契合度,這兩方面上講都有了一定的提高。這與公司的各位領導,同人的支持與幫助分不開。在這里說一聲:謝謝您!
在兩個月工作中,初期熟悉公司技術,鉆研項目業務,配合項目組完成階段性的任務。
從主要職責具體上講:
1.負責時代項目的模塊編碼工作,完成功能應符合設計的功能及性能要求,符合部門相關規范;
在時代項目組基本完成了公告管理模塊,與部分特配單模塊,正在進行主界面菜單的完善與更新;
在地質調查局項目組,完成了審批與全文搜索功能,與修洪海經理共同完成遠程數據庫同步更新功能,與賈俊奎經理完成了CMS站點遠程實時更新功能;
所完成功能符合設計的功能與性能要求,符合規范;
2.負責對所分配模塊的單元測試,同時應配合測試人員進行系統集成測試
所作模塊完成時,先做測試,然后提交組內測試人員集成測試,遇到錯誤能夠及時修改。
3.協助實施人員進行系統實施,并在項目經理的組織下進行問題的修改;
還沒有實施任務;
4.負責編寫相關模塊的開發文檔,文檔應符合部門的開發文檔規范;
能夠根據模塊編寫開發文檔,基本符合部門開發規范;
5.完成上級交辦的其它工作。
能夠及時完成上級交辦的其他工作;
從工作要求上講:
1.自覺遵守公司各項規章制度
認真完成工作,遵守員工守則;
2.努力學習、掌握并能熟練應用崗位相關業務知識,以飽滿的工作熱情、積極的工作態度投入到工作中,按要求完成崗位工作;
在工作中,做到努力學習不懂就問,及時與項目組同時之間的溝通,避免失誤。工作熱情高,不遲到不早退,能夠按要求完成崗位工作;
3.高度的責任感和良好的團隊合作精神;
在工作中敢于承擔壓力,有責任感。與同時之間關系融洽。共同合作完成本職工作。
4.對公司外部的工作要高度保持公司形象,對公司內部的工作要高度保持部門的良好形象;
能夠做到維護公司形象,與部門形象,有主人翁意識;
5.按公司要求提交周報、完成各種公司流程。
可以按公司要求提交給上級部門周報,做事安公司流程規章制度;
6.按時提交項目階段性成果。
基本能夠及時按質按量完成項目階段性成果;
以上是我試用期的工作總結,還有技術與能力還有很多地方需要改進,需要加強。以后會多多學習,多多提高。努力工作。為公司盡一份自己的力量!
java程序員試用期個人工作總結范文二
伴隨著充實緊湊的工作生活,兩個月的時間已經過去了。這一段時間里有工作上的收獲,知識的豐富,經驗的增長,同時也暴露出很多問題和不足??偨Y經驗,吸取教訓,本文將主要從幾個方面來對工作進行總結:工作的主要內容;其中的失敗和教訓以及成功和經驗;展望下一階段的工作,確定自己的目標。以此作為懲前毖后的記錄。
來到一個新的工作環境,最能發現自身的不足,這幾個月,抱著虛心學習的態度,學習公司的開發流程,熟悉公司的企業文化,了解公司產品框架,主要技術,主動和同事溝通、學習經驗,希望能更快的融入公司、融入開發團隊,能夠全心的投入工作。試用期期間完成的工作還十分有限,簡單列了一些:掌握java開發語言和環境,由于在校學習時主要是以.net作為開發語言,所以在剛入職時通過一段時間學習并基本掌握了java開發技術。
熟悉公司開發流程,熟悉cbp產品框架。了解了核三框架的總體結構和開發流程,并能在核三的基礎上進行項目開發。
參與了社保電子支付項目的開發。主要負責web端的模塊開發,通過開發的過程,學習和掌握了flex界面開發,hibernate和oracle數據庫
因為自己在經驗上的不足,所以,在項目的開發過程中碰到開發進度慢的問題。綜合起來看原因在于:
1、沒有項目經驗,沒有經歷過系統和完整的系統開發。
2、對于技術的學習和掌握還不夠深入。
3、發現問題的能力不夠,在自己以往的學習方式中,欠缺一種主動發現問題的能力。今后,我會多注意在這些方面的學習和積累。
這兩個月的工作生活是充實且富有樂趣的,結識了很多同事和朋友,公司的氛圍是非常輕松愉快的。感謝兩個月來經理的關心,感謝部門同事的悉心指導,感謝公司各位同事的熱心幫助,希望能在接下來的工作中能懲前毖后,總結經驗,吸取教訓,做到個人與公司共榮辱同進退,共同實現中地的輝煌。
java程序員試用期個人工作總結范文三
回首這一年的工作,有碩果累累的喜悅,有工作當中的艱辛,也有遇到困難和挫折時的惆悵。在項目可開發的過程中,難題一個接一個的出現,自信心不止一次的受到過打擊,雖然自己早就知道,要做到符合公司的要求,做一名合格的程序員,這些是遠遠不夠的。每天我都會不斷勉勵自己,好好學,以后會好的。在此同時,公司也給了我很多學習的機會,這是我對以后的編程之路又有了信心。在擔任公司程序員一職已經有一年多的時間,在這一年時間里,我學到了很多東西。每個人都是在不斷的總結中成長,不斷的是審視中完善自己。在這一年里自己也是在總結、審視中腳踏實地完成好自己的本職工作,現將這一年的工作總結如下:
思想方面
嚴格按照一個程序員應有的素養來約束自己,愛崗敬業,具有強烈的責任崗和事業心,積極主動認真的學習專業知識,工作態度端正,聽從公司的安排,積極配合客戶完善數字化校園系統。
工作方面
熱愛自己的本職工作,能夠正確認真的對待每一項工作,工作投入,熱心為大家服務,認真遵守勞動紀律,按時上下班,有效利用工作時間,堅守崗位,需要加班完成工作的要按時加班加點,保證工作能夠按時完成。在這一年多的時間里面,我本著把工作做的更好這樣一個目標,主動了解公司的開發項目流程,請教他們開發技術上的問題。
工作心得
1. 在這一年多的時間里面,我參與的都是團隊合作的項目,無論是自己還是同事,我們都將就團隊精神。在信任自己和他人的基礎上,思想統一,行動一致,這樣的團隊一定會攻無不克戰無不勝。我們的很多工作是一起完成的,在這個過程中,大家互相提醒和補充,大大提高了工作效率,所有的工作中溝通是最重要的,一定要把信息處理的及時,有效和清晰。
2. 每一個項目在開始著手的第一步,一定要和客戶把需求溝通清除,只要了解項目的需求,才有可能真正做好一個項目。我們需要向客戶提出,要求客戶提供所有涉及該項目的資料,每次與客戶見面都需要熟悉業務與程序的程序員隨時記錄需求。
3. 工作中,將任務詳細化,詳細到每個頁面,甚至是一個頁面中的圖片什么時候做好,做好到什么程度,這樣把工作進度有計劃有方向的定下來,做事很有效率。
4. 每天的工作小結真的很重要,這讓我們每天都有計劃的知道自己干了什么,不是漫無目的的工作,所以我們應該養成,日記、周記、月記、年記的工作習慣。
5. 工作并不是一成不變的,也許有一天你要去其他崗位幫忙,所以同事之間的技術要相互學習,也許有一天,公司需要你發揮其他的技能幫忙,所以相互學習也是很重要的。
工作教訓
在公司工作的期間,我也發現了自己離一個符合公司要求的程序員還有很多差距,主要體現在工作技能與工作經驗的不夠,也是我以后要在工作中不斷磨練和提高自己的地方。仔細總結一下,自己在工作中主要有以下方面做的不夠好:
1. 工作的條理性不夠清晰,要分清主次和輕重緩急。
在開發時間很倉促的情況下,事情多了,就一定要有詳細而主次分明的計劃,哪 需要立即完成,哪些可以緩緩加班完成,在這方面還有很大的優化空間。
2. 對流程、業務需求不夠熟悉。
在工作中,發現因為流程或業務需求的問題而不知道如何下手的情況有點多,包括錯誤與缺漏還有當時設計考慮不到位的地方,對于這塊的控制力度顯然不夠,平時總是在開發,但說到底對業務很熟悉才是項目很好完成的前提。
3. 缺乏工作經驗。
4. 學習的知識不夠廣泛。
一個項目中,涉及的技術往往有很多種,知識多了,就會靈活變通,以后我也會加強這方面的學習。
工作計劃
1.
2.
3.
4.
5.
6. 要提高工作主動性,做事干脆果斷,不拖泥帶水。工作要注重實效、注重結果,一切工作圍繞著目標完成。 要提高大局觀,是否能讓其他人的工作更順暢作為衡量工作的標尺。 把握一切機會提高專業能力,加強平時知識總結工作。精細化工作方式的思考和實踐。 虛心請教比我做的優秀的其他同事,向他們學習技術或經驗。
其實作為一名員工,所有的地方都是需要學習的,多聽、多看、多想、多做、多溝通,向每一個員工學習他們身上的優秀工作習慣,豐富的專業技能,配合著實際工作不斷的進步,不論在什么環境下,我都相信這兩點:
一、選擇你,讓我充滿向往
當我在北京年首屆招聘會(首體招聘會和國展招聘會)投出我的求職簡歷時,我并不知道,這幾份簡歷會把我帶進一個怎樣的世界,我將走上一條怎樣的路。心底的自信強溢在臉上,又帶著那樣的迷惑、不安和好奇。我參加了五個公司的面試,由于我前期的精心準備,獲得了五個公司的錄用機會。在選擇與自己的傾向愛好中,命運讓我走近了你,公司,走近了你,也更讓我充滿了向往和渴望。
二、一點一滴,溫暖在心田
這里給我的第一印象是公司的人性化制度,對于上下班的時間比較靈活,采用隊列的模式,可以早到早下班;其次是公司規范化管理,對于新來的員工就如同一張員工信息表中添加一條記錄那么簡單,因為有規范的框架,所以員工入職自然也方便很多;再者就是同事們團結合作的氣氛,公司有一批年輕且充滿朝氣的血液,在這里每個人都很上進,大家都很友好;在這里大家都是朋友,互相幫助,互相關照;還有就是公司的福利會的完善,公司竟會給每個月過生日的員工發放一份小禮物,而且還在公告欄留有一個空地,給本月份過生日的員工張貼生日快樂標語。對于新來的我來說,自然喜歡上了這個公司,同時得到了很多他們最真誠的幫助。前輩們對我的指導,總是無私的毫不保留,親切、耐心,讓我心里熱乎乎的,讓我很快融入到了這個年輕的集體。
實習期間,除了淺層次地學習了專業技能外,我還感受和體會到了很多技能之外的東西。首先是公司的敬業和那種生機蓬勃的工作氛圍。走進這樣的一個集體中,你的心會不由自主地年輕起來,你的腳步會不由自主地跟著大家快起來,而你的工作態度更會變得努力、認真,再認真一些,再努力一點。也許,這就是一個集體的凝聚力,這就是一個企業寫在書面之外的“特殊文化”!
三、公司,我能為你做些什么
記得第一天到所在原來的地址辦公地點時,一種從未經歷過的緊張彌漫在心頭,因為看到的是公司員工忙碌的身影;聽見的是電腦鍵盤劈啪作響聲與電話洽談的話語聲。在我擔心自己會跟不上公司要求的同時又企盼自己能夠盡快的跟上公司的步伐,向其他員工一樣步入工作正軌。
我自己的實習生涯就從.2.21日這天報道開始了。進行了報道填寫相關的手續后,我開始打掃清理著屬于我的辦公桌椅。緊接著在指導老師的安排下,我開始進入了練手熟悉項目階段。接觸的第一個培訓任務是全英文的任務文檔,大概意思是在C++中自己編寫動態鏈接庫DLL并且實現調用該DLL。這是任務里有點熟悉的知識,因為C#語言中有接觸過DLL,但新的開發環境和陌生的開發語言C++讓我很不適應。在David的熱情指導下和同事Andy的啟發下,用了不到一周的時間,我順利的完成了第一個培訓項目。
工作一周后正趕上公司發工資,我領取了屬于我的第一份工資:710.18元(.2.21—.2.28)。好高興,看到自己的勞動果實,有無法言比的高興。
第二周又開始了第二個培訓項目,又是純英文的文檔,內容挺多,看了一遍沒理解什么要求,反而發蒙。大概包含Service服務的的編寫,多線程同步和串口通訊與UPS通訊。這個任務涉及到的每個知識點都需要認真研究,查好多資料,因此,這段期間遇到很多問題,最突出的是心態,曾有多次否定自己,有的時候甚至有放棄的念頭。在David的先搭好框架,然后一點一點填充內容的啟發下,我理順了思路,又開始認真研讀文檔要求,經過冷靜的研讀,能看懂任務的具體要求了。于是我開始了一個知識點一個知識點的攻破,在經歷了放棄,重來的曲折之后,這個任務用了兩周的時間完成了,控制在時間進度內,沉重的心情算是輕松了很多。通過這個項目的鍛煉,使我意識到在做一個項目的時候肯定會有很多不懂的知識,但一定要穩住,不能急躁,不能慌張,每天要有合理明確的日程安排,要有挑戰自己的信念,要對自己有信心,理論聯系實際,不怕出錯、虛心請教。這樣切實體會到了工作的真正意義。這意義來源于堅持。
工作一個月恰逢趕上公司搬家,對于熟悉公司是一個好的機會,而且還有了一個動手制作網線的機會。由于學校網絡課上親自制作網線的失敗陰影,對自己的動手制作網線的能力總感到懷疑。通過一個下午的練習,更多的學習,制作網線的成功率有很大長進,而且一直記不住的排線順序連夢里都在說排線順序。
做完了兩個練手項目后,正好趕上有個HTML5網頁游戲的新項目,是iPod手機的一個游戲項目,我們公司負責web服務器(java)和客戶端(javascript+html5)。安排我和另一個比我晚一周報道的同事Avel在一個有著很多項目經驗、思維靈活的Maco帶領下開始
該項目。興奮之余又帶著緊張,興奮的是可以參與項目研發了,緊張的是懷疑自己能否勝任。不知不覺中html5項目已經接觸4個星期了,接觸項目的這段日子里,每天神經弦都蹦緊緊的,這是我接觸的第一個具有金錢利益關系的項目,而且還有很多要學的新知識,所以每天很早就來上班,晚上也時常主動加班??粗椖抗δ芤稽c點完善,看著自己的思路或者是代碼在項目中有用武之地,不大不小的成就感油然而生,經過一番努力,在Maco的帶領下,第一階段的任務順利完成,用戶也很滿意,我也很高興,也挺佩服自己,雖然我在項目中出的力只能算是九牛一毛。在項目的研發工程中,學到的知識是有限的,但更多是提高了我解決問題的能力和調整了面對困難的心態。項目的第二個階段馬上就要開始了,我期待著新的任務,新的挑戰。
四、謝辭
光陰荏苒,回顧自己剛來公司那會兒,自信滿滿的樣子。經過了這段時光沉淀,青澀的影子漸漸消逝,留下的是知識的積累與踏實的厚重。實習期間,我是以積極的心態投入工作。每天上班早到晚退,在指導老師與同事的幫助下,我慢慢克服了不自信的態度。
軟件心理學的發展史
軟件心理學發展大致可分為兩個階段[7],第一階段是軟件心理學的創立和初探階段,第二階段為軟件心理學的豐富和發展階段。兩個階段的主要區別是理論基礎、研究對象和研究方法不同。20世紀70年代為軟件心理學研究的第一階段,研究學者主要由計算機科學家組成。1971年,Weinberg出版了《程序開發心理學》一書,開辟了軟件心理學的新領域。該書從人類行為、社會行為和個人行為等3個角度審視程序開發。但是溫伯格坦言,該書中的許多思想未找到“科學依據”,沒有很好的理論基礎。該階段采用實驗手段研究的代表是Shnei-derman,他采用內省、案例研究和實地研究等手段,對編程風格、項目組織、團隊進程、程序員能力傾向和人格特質因素等方面進行了探索[4]。但是,Shneiderman的實驗缺乏認知模型的支撐,面臨設計問題簡單、編程環境失真等問題。20世紀80年代至今為軟件心理學發展的第二階段,吸引了計算機科學家、心理學家和人素工程學家的參與。該階段以認知模型的構建為特征,采用客觀的行為分析作為嚴格試驗方法的補充。從認知心理學引進理論框架,并將其研究成果引入到軟件工程中,以促進軟件工具的研發,改進編程活動。該階段彌補了第一階段的不足:研究對象擴展到專業程序員,而第一階段的研究對象幾乎都是學生;考慮了軟件開發的集體性及協作性;所涉及的活動不只是編碼,也研究需求規格說明及軟件設計;考慮了語言和編程范式對編程活動的影響。縱觀軟件心理學的發展史,軟件心理學的研究方法漸趨成熟、研究內容逐漸豐富、研究學者日益多元化。軟件心理學的發展過程是軟件工程與心理學融合程度逐步提高的過程。
軟件心理學研究體系
從學術文獻來看,軟件心理學研究的熱點主要集中在7個領域:程序設計的認知機制、程序理解理論、專家與新手的差別、程序員人格特質與績效的關系、程序員情感與績效的關系、程序員能力傾向測試和人機界面設計。筆者分析了各項研究內容之間的關系,如圖1所示。軟件心理學的研究從3個層面展開:第一層面為認知活動機理層,第二層面為根源因素層,第三層面為應用層。第一層面從軟件生命周期的核心活動出發,研究其認知機制,主要包括軟件設計活動的認知機制,以及編碼、測試、維護中的程序理解機制。第二層面在第一層面的基礎上,研究影響主體績效的根源因素,一方面研究情感、人格特質對主體績效的影響;另一方面從“主體的能力是由學習和訓練得來的”這一觀點出發,研究專家與新手在知識、策略和元認知方面存在怎樣的差別。第三個層面是將前兩個層面的研究成果應用到軟件工程相關的活動中,如將根源因素層的研究成果與心理學測量方法相結合,研究程序員能力傾向測試,用于選拔適合從事軟件開發的人員。將程序員的行為和認知機制的研究結果用于指導軟件開發環境的人機界面設計。將專家與新手的差別的研究成果應用于軟件工程人員的教育與培訓。軟件心理學在人機交互中主要應用于用戶建模及可用性的設計與驗證,關注用戶描述,對用戶的感知、認知和動作進行建模,并構建感知-認知-動作的集成建模。該方面的應用旨在了解和支持人與計算機的交互,使設計的軟件或系統的可用性更高。該領域是軟件心理學與計算機科學結合最成功的研究領域,存在的評述較多。本文接下來對前6個領域的研究現狀及其對軟件工程領域的啟發展開論述。
主要研究進展
1程序設計的認知機制
研究進展程序設計認知機制主要包含3類元素:知識、策略和過程組織。程序設計知識分為句法知識、語義知識和圖式知識[5]。前兩類知識與程序語言緊密相關,而圖式知識是程序設計的核心。圖式(Schema)是主體內部的一種動態的、可變的認知結構單元,是由舊知識組成的無意識的心理結構。圖式理論的核心思想是,將主體過去的經歷形成模式,在解決問題的時候無意識地匹配和調用與目前情況相符的模式。圖式的存在使得人類的認知具有自動加工的特點,同時也是認知失誤的重要原因[6]。程序設計圖式包括編程圖式、結構圖式和問題域圖式[13]。編程圖式是編程領域特有的圖式,包括編程基礎知識和算法知識等。結構圖式是生成和理解文本的重要知識,如1個功能程序的結構圖式由3個角色組成:輸入、計算和輸出。問題域圖式是程序要解決的特定問題的領域知識。根據圖式理論,程序設計的核心活動是相關圖式的激活。程序設計過程就是程序員激活儲存于記憶中的適合解決當前問題的若干圖式,并對這些圖式進行組合的過程。以圖式為核心的程序設計模型以Adelson模型[7-9]和Détienne模型[10]為代表,將程序設計認知活動視為圖式檢索、圖式匹配、解決方案評價、調試和通用化[7,8]的過程。程序設計的策略[11-13]包括:①自頂向下和自底向上。自頂向下是指將總體問題逐層分解為小問題解決的策略,自底向上是從細節到總體逐步構造的策略。②向前和向后。向前設計模式即程序解決方案按照執行方向設計,向后設計模式即程序解決方案按照與執行相反的方向設計。③廣度優先和深度優先策略。廣度優先策略是先解決完一個層面的所有問題,再解決低一個層面的問題,深度優先策略是將一個問題從上到下解決完成后再解決其它問題。④過程式和聲明式策略。若編程方案是規程控制,則是過程式的。若編程方案用于聲明靜態屬性,如對象、角色等,則是聲明式的。⑤心理模擬,用于評價問題解決方案。程序員在不同情境下會使用不同的策略,策略的觸景包括編程語言的認知維度[14]、編程環境特征、問題類型和程序員自身思維方式和已獲得的圖式,程序員趨于選擇自己熟悉和使用頻率高的策略[15]。程序設計的過程組織有兩種方式。一種為結構化組織方式,認為程序設計是按照自頂向下、寬度優先的方式組織的。但是實驗發現,實際的程序設計過程并不是嚴格按照這種結構化的過程進行的。程序員設計或編程過程中會出現機會性的偏離[16],即程序員(設計師)以實現目標為第一要務,不受規則的限制,自頂向下和自底向上、深度優先和寬度優先策略都會用到,取決于具體的情景。存在許多支持該模型的實驗研究結果,如程序員有時會優先實現他認為最重要的功能。這種認知策略會被多個因素觸發,如資源限制。當工作記憶超出容量時,結構化的工作模式就會失效,由寬度優先策略跳變為深度優先策略,產生機會主義偏離,即機會主義組織方式。
應用與啟示從程序設計認知機制可以看出,良好的知識結構(設計模式)、恰當的策略和過程組織將促進設計工作的開展?;诖耍稍O計出更適合程序員使用的軟件開發工具。在軟件開發環境中提供可視化的結構圖式和知識圖式支持,對程序員具有重要的輔助作用。如在面向對象編程工具中提供一個通用化的對象圖式,包括創建、初始化、讀、寫、輸入和輸出功能;在開發工具中提供控制流、數據流和功能分解圖等。同時,領域知識庫的構建對軟件開發具有重要意義,也是軟件開發工具面臨的一個新挑戰[17]。程序員機會偏離現象說明,編程環境不能過分強制程序員按照自頂向下的方式編程[18]。編程環境應提供相對靈活的導航工具,以便程序員在不同對象之間快速切換。在支持機會主義偏離的情況下,同時也要提供未完成任務的追蹤功能,因為發生機會主義偏離后,被中斷的任務擱置后容易被遺忘。
不足與展望程序設計的一個重要特點就是解決的問題是“不明確的問題”(ill-definedproblem)[13,18],存在需求描述不清晰、缺失等問題;并且,一個問題可能存在多個解決方案,無法通過單一的標準進行評價,甚至無法評價。因此,對所要解決的問題的表征(representation)非常重要,問題表征中生成的情景模型直接影響設計方案的生成,也與設計方案共同演化,是造成個體差異的重要活動之一[19]。而目前的研究都是假設所有程序員對問題的表征是一致的,缺乏對程序員問題表征的研究。分析程序員的問題表征,將其集成到程序設計認知模型中,是未來的研究趨勢[13,19]。目前的認知模型將設計的核心活動簡化為圖式檢索、匹配和評價的過程。而實際項目中,程序員可能面臨知識不足的問題。因此學習成為程序設計中一項重要的認知活動。學習中理解和集成圖式將占用大量的工作記憶資源(germaneload)[20],對程序設計的其它活動存在重要影響。而目前的認知模型均缺乏對學習活動的研究,這將是未來研究的一個重要內容。最后,人類認知的一個重要特性就是具有主動監控和調節的高級能力,即關于“認知的認知”———元認知能力。元認知能力與認知失效調節及問題解決能力密切相關[21],而目前的認知模型幾乎都沒有考慮這一全局性的認知活動。研究程序設計元認知能力對程序設計其它活動的影響機理及其評價和訓練方法,對程序員的選拔和培訓具有重要應用價值,將是未來一項重要的研究方向[22]。
2程序理解機制
程序理解可謂是程序開發心理學最古老的課題之一。它解決的核心問題是,程序員如何處理源代碼和構建高效的軟件系統[23]。研究程序員程序理解的行為和策略,以此指導軟件可視化編程環境的開發[24]。
研究進展程序理解理論最初從文本理解理論借鑒而來。文本理解是通過信息加工構造表征的過程。該過程翻譯文本中包含的顯式信息,并調用經驗知識得到推斷信息,再將兩類信息綜合為一體。即信息加工過程的信息有兩個來源:外源,編碼在文本中的信息;內源,存儲在記憶中的知識。Letovsky模型[25]使用知識庫、心智模型(內部表征)和同化過程,從較高的抽象層次描述了這一過程。程序理解模型包括3類:功能方法,理解程序等價于利用知識圖式;結構化方法,理解程序等價于構造關系網;心智模型方法,理解程序等價于構造詳細的情景表征。功能方法的核心假設是,程序理解就是激活和實例化知識圖式。程序理解的活動包括:激活儲存在記憶中的圖式,利用從程序代碼中提取的索引,并從援引的圖式出發推斷程序所包含的某些信息。功能理解模型的主要代表是Soloway模型[26]。結構化方法認為,理解程序就是構造命題之間的關系網。程序可以用順序、迭代和條件等控制結構的基本單位來描述。專家利用結構圖式識別結構單元(順序、迭代和條件),然后構造不同層次的表征。結構化方法的模型主要有Shneiderman&Mayer模型[27]。心智模型方法認為,程序理解就是構造情境表征。這就需要區分兩類模型:程序模型和情景模型。程序模型與自然文本理解中的命題模型和文本庫概念類似,反映程序在命題層次包含什么內容。而情景模型反映問題領域的實體及其關系,即問題目標及數據流。程序的理解首先需要構造程序模型,這依賴于結構化知識,特別是編程語言的語義和句法知識;在此基礎上,構建情景模型,從而達到對程序的理解。心智模型主要有Pennington模型[28]。Mayrhauser集成元模型[29]將Soloway模型和Penning-ton組合起來,并且實驗證明,程序員在3個理解過程中轉換。該模型由4個部分組成:自頂向下、情境模型、程序模型和知識庫。前3個部分反映理解過程,知識庫是構建其它3個部分的必要因素,為程序理解過程提供相關信息并存儲推斷得出的新信息。
應用與啟示對程序理解原理的研究,可指導程序理解輔助工具的設計[30]。如在程序瀏覽方面,對于自頂向下的理解過程,需要提供從頂層的抽象信息到底層的細節信息的瀏覽;對于自底向上的理解過程,需要提供控制流和數據流瀏覽;工具還需要同時提供寬度優先和深度優先的瀏覽,才能同時滿足專家和新手的要求。除此之外,工具代碼及注釋檢索功能將大大提高程序理解效率[31]。同時需要提供能夠讓程序員詢問變量角色等的詢問功能。最后,應考慮為程序理解提供一些其它認知支持手段,如為專家提供外部便簽薄,為新手提供教學輔助,使其能夠實時地獲得語言和領域知識。集成領域知識將提高程序理解效率[32]。
不足與展望首先,在實際的軟件項目中,維護人員很可能不是程序編寫者,程序理解過程中通常伴隨新知識的學習。因此,隨著編程人員和技術的變化,終端用戶相關的學習理論將成為一個研究趨勢。第二,從理解模型可以看出,領域知識在程序理解過程中發揮重要作用。領域知識的集成是一大難點,也是未來的重要研究方向之一。第三,目前程序理解理論主要研究個體的認知機制,程序理解將向社會化組織化的方面擴展,同地合作和分布式合作方面將受到關注。第四,在工具方面,未來程序理解輔助工具將向快速改進、綜合化、集成建議和搜索功能、接口高適應性、可視化、支持團隊合作等方向發展[30]。
3專家與新手的差別
研究進展程序員的技能在很大程度上是一種習得性能力,因而研究專家與新手的差別對程序員的教育和培訓有著重要意義。專家和新手的差別主要表現在4個方面:知識、策略、熟練程度和元認知[33]。專家與新手在領域知識和編程知識方面存在較大差別。Adelson&Soloway[7]和Burkhardt等人[34]發現,新手在領域知識方面的欠缺將導致其在構建情景模型方面存在困難,但是并不影響其構建程序模型。Schraagen[35]發現,即使都是有經驗的程序員,領域知識欠缺的程序員的解決方案也會比領域知識豐富的程序員給出的方案差。因此,區分專家與新手的一個重要因素就是領域知識的掌握情況。在編程知識方面,Rist[36]發現新手更關注語言句法等表面細節信息,而專家更關注于語義信息或設計模式等深層次的信息。Soloway和Adelson等人發現[7],專家在解決模式化問題時的表現比新手好,而在解決非模式化問題時卻不存在顯著差別。Wiedenbeck[37]同樣發現專家傾向于記住程序的語義等抽象表征信息,而新手傾向于記住程序的函數和語義等具體信息。Ye[38]指出,專家比新手擁有更大的圖式組塊(chunks),在他所研究的樣本中,與新手相比,專家在C語言方面的概念塊更抽象,組成元素更多。由于知識的組塊,對新手是多個圖式,對專家卻可能只是一個圖式,這使得專家的工作記憶能夠調用和處理更多的信息。專家與新手除了在知識的數量與組織結構上存在差別之外,在知識的使用策略方面也存在顯著差別。經驗豐富的程序員傾向于使用自頂向下、寬度優先和向前的策略,而新手傾向于使用自底向上、深度優先和向后的策略[7,33,40,41];并且專家的編程策略可以在不同的問題上重用。Schraagen[35]指出,即使面臨新的問題,良好的策略也能保障他們以較為結構化的方式解決問題。Ko[42]發現,即使在陌生的編程環境中,也不會影響專家程序員的問題理解策略。專家與新手在元認知方面存在重大差別。研究[33]發現,專家能夠更好地意識到所犯的錯誤,并及時對生成的問題解決方案進行驗證。專家元認知能力也表現在專家更善于利用外界記憶輔助設施(如筆記)作更多的注釋[43]。
應用與啟示專家和新手不只是存在知識占有多少的差別,在知識的組織、知識的使用策略、熟練程度和元認知方面也存在差別,這對軟件工程人員的培訓和學習以及專家系統的設計有重要指導意義。對程序員的培訓不能只灌輸編程語言規則等顯性知識,還需要啟發其分析知識之間的關系,以及不同解決方案使用的場景,進而形成高層次的圖式;還需對知識使用策略和元認知進行訓練;在培訓的方式上,僅采用書本和授課方式是不夠的,由于專家具有實用主義和自動化的特點[44],因此需要設計具體的任務對其進行實戰訓練。
不足與展望在弄清專家與新手的差別,特別是找到新手存在的缺點后,新手的學習和教育就成為重要的研究課題[45,46]。面向對象編程教育及可視化教育工具的開發成為近年來的一個研究熱點[47]。
4程序員人格特質與績效的關系
大量證據表明,軟件開發中程序員的生產率和能力存在著巨大差別。具有相似背景的程序員在編程績效方面存在巨大差別,學者們猜想,只有存在某種“固有的人格特質”才能解釋這種差別。該領域的研究對程序員的選拔具有重要指導意義。
研究進展目前軟件心理學領域主要采用邁爾斯-布里格斯類型指標(MBTI)和五因素模型[48]來研究人格特質類型與程序員績效之間的聯系。根據MTBI理論分析[49]:①在思考(thinking)/情感(feeling)維度方面(T/F),要檢測和修改編程錯誤,克服語言錯誤,編程工作需要邏輯和分析能力,思考型比情感型更能勝任編程工作。②在感覺(sensing)/直覺(intuiting)方面(S/N),感覺型人更傾向于一步一步達到目標,對工作和細節更有耐性;而直覺型人工作更依賴于預感和直覺;但是直覺型人對復雜任務更感興趣,感知型人更適合簡單任務。③外向型(extrovert)/內向型(introvert)維度(E/I),內向型人更注意細節,在行動前喜歡徹底思考事情;外向型人思考問題傾向于表面化。在E/I維度的實證研究方面:David研究了MBTI與代碼審查能力之間的關系,實驗證明,E/I維度與代碼理解能力之間存在強關聯關系[50];Capretz[51]研究結果表明,軟件工程人員大部分都是內向型性格;Chandler等人[52]發現,計算機專業的研究生主要都是內向、感知和判斷型的;在程序員人格特質調查中,Turley發現軟件行業樣本中90%是內向型人[53]。在SN維度實證研究方面:Bishop[54,55]發現直覺型人在解決問題中表現得更好;Whitley[49]發現直覺型的學生確實更具編程潛能;Capretz[56]研究發現,他的專業程序員樣本中直覺型人所占比例遠遠超過一般人群,他認為直覺型、思考型,特別是直覺-思考型在編程相關任務中能夠工作得更好;Devito研究了MBTI與代碼審查能力之間的關系[57],發現直覺型人比感知型表現好,直覺-思考型表現尤其好。在TF維度實證研究方面:Bishop[55]認為,完成軟件開發中的一些任務(特別是問題解決相關領域的任務),需要在規定的限制條件下執行標準化過程,需要進行客觀的邏輯的分析,思考型人更能勝任;Turley和Bieman[53]的研究表明,他們的樣本中85%是思考型人;Capretz的專業程序員樣本中81%是思考型;Chandler等人的計算機專業學生中86%是思考型;Myers研究表明,思考型人更適合于與邏輯思考有關的任務[58]。
應用與啟示在現代軟件人員選拔和項目管理中,人員的性格因素不容忽視。人員選拔需要根據角色的任務特點,選擇適宜性格的人員,如直覺-思考型人普遍更適宜作編程工作;而需求分析更偏重交流能力,外向型性格比內向型性格更為適宜。實驗表明,如果IT企業能夠根據雇員的性格特點和潛能進行優化組織,生產效率和質量都可能得到提高[56,59]。
不足與展望正如Whitley所說[49],人格特質與績效方面的研究是相關性研究,而不是本質上的實驗研究,不能得出因果關系推論,不能說編程潛力、態度和行為的差別是由于人格類型導致的。需要對這種相關關系進行深入的機理研究,給出人格特質與績效之間的相關關系的合理解釋,這將是未來的一項重要的研究內容。在找到性格類型與能力偏好的關系的基礎上,對于一個特定任務,如何選擇和搭配團隊成員以形成更加和諧、高效和多樣化的團隊也是未來一項重要的研究內容[48]。
5程序員情感與績效的關系
情感(moods)是指“心境或主要情緒的意識狀態”[60]。Merriam-Webster字典將情緒(emotion)定義為“意識的情感方面,一種感覺狀態,是一種有意識的心智反應(如憤怒或恐懼),對特定對象的強烈感覺體驗,一般伴隨有身理的和行為的變化”。情感和情緒都是感情狀態。情感持續的時間更長,引起的原因沒有情緒明確。情感可以持續一兩天或者更久,而情緒在幾分鐘或者幾秒鐘之內發生或者消逝。大多數心理學家認為情緒和情感在本質上是一樣的。幾乎所有的日?;顒佣际艿角榫w的影響,從駕駛飛機到編程,無一例外都能感受到正面或者負面情緒。情緒可能破壞日常任務,通常會對精力、睡眠和思維造成干擾,嚴重的可能導致疼痛。研究發現,情感會影響人類的多種活動,如創造性、記憶、推理、行為、認知加工、信息加工、學習、決策和工作績效[60]。
研究進展雖然情感與績效關系方面存在大量研究,但是很少有針對IT專業人士的情緒研究。近年心理學領域開展了情緒對行為的影響研究,情緒對IT專業人士的影響的研究卻很少[60]。情緒心理學相關研究表明,情感影響推理。而推理是編程的必要元素,如果情感能影響推理能力,那也可能會影響程序員的績效。Khan[61]設計了實驗來測試情感對程序員調試任務的影響。其方法是讓程序員在開始調試任務之前,先觀看幾組激發特定情緒的錄像帶,比對各組任務績效。結果表明,情緒的覺醒水平對調試任務存在重大影響,而情緒的效價對任務的影響卻不明顯。即程序員檢測和改正錯誤的能力依賴于情緒的覺醒水平。Good等人[62]意識到情感對程序員績效的影響,在計算機實驗室中引進了表達和監控學生情緒的設備。實驗表明,此設備有助于學生的情緒表達、交流與修復,進而促進學業成績,獲得了良好的反饋。
應用與啟示情感對編程績效存在影響,該領域的研究對程序員的管理有著重要指導意義。如情緒的覺醒水平對調試任務存在重大影響,企業管理中就需要盡量避免員工情緒出現大幅波動,過于高興或悲傷都對工作不利。需要避免員工帶著負面情緒工作,思維受到影響可能引入嚴重的軟件缺陷。情感波動對編程績效存在較大影響,組織在選拔程序員過程中可參考此因素,優選那些情緒穩定型人格特質程序員負責關鍵性任務。可用大五人格測量中的神經質維度(neu-roticism)問卷衡量情緒穩定性。
不足與展望針對程序員情緒的研究目前還處于實驗室研究階段,這與實際工程項目中程序員的工作環境存在巨大差別;并且情緒具有實時性和積累效應,如何在不侵擾程序員編程工作的條件下,實時地檢測程序員情緒進而幫助其調節情緒是未來的發展趨勢。文獻[63]提出通過程序員使用鼠標和鍵盤的信息來監測程序員的情緒。文獻[64]提出通過增加人機界面的情感意識(emotionawareness)設計來促進用戶的正面情緒。
6編程能力傾向測試
眾所周知,有些人認為學編程很困難,而有些人卻覺得很簡單。要可靠地將這兩類人識別出來卻是一個大問題。編程能力傾向測試旨在解決這樣的問題。
研究進展Wilson&Shrock[65]研究了12個預測因子后發現,有3個預測因子與編程能力有著重要的相關關系,依次是:舒適水平、數學和歸因(把成功歸因于運氣的學生編程能力較差)。Beise等[66]考察了年齡、種族和性別與編程入門課程之間的關系,從統計學上表明,性別和年齡都不是有效的預測因子。Nathan等人發現學生的預期是一個重要影響因素,那些預期自己能得“A”的學生更容易成功[67,68]。Lister等[69]、Fincher等[70]、deRaadt等[71]、Simon等[72]、Tolhurst等[73]指出,在編程入門課程中表現差的學生缺乏問題解決能力。Stuart實驗發現,系統商數(SQ)-移情商數(EQ)與編程存在強正相關[74]。Simon等人[75]、Sue&Gary[76]、Tolhurst等人[73]都發現,學生的空間觀想能力與編程能力存在正相關,地圖描繪實驗中畫俯瞰圖的學生在課程中得分更高,畫路線圖的學生成績比俯瞰圖的差,畫路標圖的學生成績最差??臻g觀想能力與代碼導航能力有關,進而關系到程序心智模型的構建。
應用與啟示編程能力傾向測試可以提供學業和就業方向咨詢,選擇那些適合學習編程的學生,提高編程課程的通過率,減少計算機學生的退學率[77];為企業選拔更適合編程的員工,并識別哪些員工需要進行計算機相關訓練。
不足與展望可以看出,目前該領域的研究未能取得公認統一的結論。學者們對預測因子的選取具有較大隨意性,各自提出的預測因子繁多且缺乏系統性。究其原因,研究者們未能對軟件工程中各種角色所需的認知能力進行機理層面的分析。相關性分析不能說明因果關系。學生在某種任務中的績效與編程績效相關只能說明該項任務與編程任務在所需的認知活動上存在某種程度的交疊。因此,用這些因子預測學生將來的編程表現是不夠合理的。作為編程能力潛力的預測因子,需要選取與編程認知活動密切相關且相對穩定的因素。本文前幾節的分析和總結對編程能力傾向測試的未來研究方向具有重要啟發:1)編程能力在很大程度上是習得性能力,知識與經驗的差異是程序員個體差異的最主要原因。因此在個體經歷和其它條件相同的情況下,學習能力的差異是影響程序員未來編程能力的一個重要因素。同時,學習能力是一項較為穩定的能力,可作為編程潛力預測因子之一。2)軟件工程的核心認知活動是問題解決(problemsol-ving),而元認知對問題解決活動進行監控與調節。元認知能力的高低對問題解決績效起著重要影響[78],并且元認知能力也是較為穩定的高級能力[21],可作為編程潛力預測因子之一。3)情緒、動機(motivation)等因素對認知活動存在較大影響。同樣,在外界刺激條件下,人格特質是個體情緒動機差異的決定因素,且人格特質具有長期穩定的特點,可探索部分人格特質維度作為編程潛力的預測因子,如情緒穩定性??傊?,編程能力傾向測試的未來研究應著眼于分析軟件工程的任務活動特征,識別那些對編程活動有著因果關系且較為穩定的因素作為預測因子,才可能達到“潛力測試”的效果。
結束語
述職報告的主體要選擇幾項主要工作,細致地將過程、效果或失誤及認識表述出來。下面是小編為大家整理的關于程序員個人述職報告范文,希望對你有所幫助,如果喜歡可以分享給身邊的朋友喔!
程序員個人述職報告范文1在過去的一年中,我擔任公司開發部的一名程序員,主要從事著--項目的開發工作,這一年來我低調努力工作著,不求閃亮顯眼和光芒四射,只為平靜和淡定;這一年中所做的成績如下:
一、獨立開發方面
--項目中本人獨立負責開發會計處的三個子系統:會計人員信用查詢系統。記賬機構信用查詢系統。會計人員網上報備系統。這三個子系統上線后,方便了社會各界查驗會計人員的真實信息、方便了查詢合法的記賬機構信息,以及方便了各單位對會計人員的報備。
二、團隊開發方面
餐飲行業項目,在團隊開發項目中直接參與了--餐飲有限公司總部的信息綜合管理平臺項目,主要負責的系統有:房屋租賃合同管理系統。短信收發管理系統。會員管理系統?;A信息管理系統和人事管理系統的部分功能模塊。系統應用后,--在管理全國各門店房屋租賃合同上,一定程度上提高了管理效率,并且及時有效提供了相應預警信息;短信收發系統方便了總部及時傳遞各項信息;會員系統更好的管理全國各門店的會員信息;人事系統在管理中減少工作量等。
三、項目管理方面
金融行業項目,我參與了--銀行--分行,企業轉賬管理系統中的部分模塊開發。本系統方便了企業快速實現大量和復雜的轉賬工作。--項目正在負責和開發的是住房貨幣化補貼網上申報審核系統。本項目采用了新技術,使界面更加大方美觀,很大程度上改善人機交互平臺的效果。
四、總結不足
駐--總部做項目時,由于團隊內部某些原因,加之外面的其他因素,一定程度上影響了工作效率、影響開發進度和影響最終軟件質量;這是包括我在內項目組中的每個成員都必須檢討的地方。
通過總結一年來的工作,盡管有了一定的進步和成績,但在一些方面還存在不足,個別工作做得還不夠完善。在今后的工作中,我將努力找出工作中的不足,以便在日后的工作中加以克服。自我不斷的學習吸收新技術,認真學習好規范規程及有關文件資料,并且及時的把新技術應用在實際的項目中,進一步提高項目的技術含量。
程序員個人述職報告范文2光陰如梭,一年的工作轉瞬即將成為歷史,伴隨著新年鐘聲的臨近,我們依依惜別碩果累累的過去,滿懷熱情的迎來即將到來的新的一年。在這年終之際,現對來公司一年的時間里所作的工作總結如下:
一、--項目的編碼工作
從了解--項目的背景、及計劃安排,熟悉--公司制度及業務流程,再到熟悉新能開發模式,之后我根據需求調研報告,從基本的數據庫創建,到編碼,完成了銷售部、生產部、采購部、質檢部四個模塊的基本單據的制單、審核、選單、查詢、打印等系列的編碼工作;完成了--項目的模塊測試及流程測試。
通過這段時間的努力,使我個人的耐心、細心程度及對工作的合理安排得到了鍛煉,學會了在繁忙之中找條理,危難之中找希望。同時自己也有一些不足之處,一些細節地方技術上還不太成熟,還需加以學習與鉆研。
二、erp項目的實施工作
從-月初開始進行--項目的實施,每天早起趕在企業上班前趕到企業進行erp的實施。實施期間主要是軟件的安裝實施及對企業的erp系統的使用人員進行軟件使用培訓;紀錄客戶使用過程中出現的問題,晚上下班后加班加點將每天的小錯誤及客戶變更修改完畢。通過這項工作,使我原本欠缺的業務能力得到了很大的提高,并學到了很多與客戶交流的技巧及業務上的知識,更加明晰了erp系統的流程。但離一個成功程序開發人員的標準還差得很遠,在今后工作中,定會多多注意,加以改善。
三、幫助和使用手冊文檔的編寫
幫助的編寫使我熟悉了--的使用,為后期的oa開發也奠定一定的基礎,使用說明的編寫,使我更加加深了項目開發的整體思路與技術要點,總結了前期開發和實施中碰到的問題,并又一次的對軟件整體進行了測試,對暴露出的小bug進行了最后的修改。
四、利用工作之余的休息時間加強知識
平時注意收集有關--方面的資料文件,提高自己的處理新問題和解決新問題的能力,并加強學習java及oa方面的知識,為后期的工作打好基礎。
展望臨近的新一年,我會更加努力、工作上認真負責,再接再厲,更上一層樓。相信自己會完成新的任務,能迎接新的挑戰。
程序員個人述職報告范文3來公司擔任程序員一職已一年多時間,在這一年時間里,我學到了很多東西。每個人都是在不斷的總結中成長,在不斷的審視中完善自己。在這半年里自己也是在總結、審視中腳踏實地地完成好本職工作,現將這半年的工作總結如下:
一、思想方面:
嚴格按照一個程序員應有的素養要約束自已,愛崗敬業,具有強烈的責任感和事業心,積極主動認真的學習專業知識,工作態度端正,認真負責,聽從公司的安排,積極配合全友家私完善ERP系統,任勞任怨。
二、工作方面:
熱愛自己的本職工作,能夠正確認真的對待每一項工作,工作投入,熱心為大家服務,認真遵守勞動紀律,按時上下班,有效利用工作時間,堅守崗位,需要加班完成工作按時加班加點,保證工作能按時完成。在這半年里,我本著把工作做的更好這樣一個目標,開拓創新意識,積極圓滿的完成了以下本職工作:
配合全友家私開發并完善SRM系統
獨自開發全友家私SAP日志維護系統
三、存在不足:
公司領導以及部門領導同事的幫助和指教,使我的工作有了很大提高,當然我還存在著很多不足之處,處理問題思路簡單,不夠成熟,工作中容易產生急躁情緒,需要更加學習專業知識,提高自己的工作水平。
程序員個人述職報告范文4我是一名程序員,在過去的一年里,軟件研發部團結協作,以及在公司這充滿奮斗的環境下,我以嚴肅認真的工作態度和百折不饒的精神,努力的完成了公司的各項工作,在軟件研發、團隊協作和個人成長上也取得了一定的成績。在公司一年的工作已經結束,特向公司總結匯報如下:
一、軟件研發
根據公司的安排,項目的需要。在自身的努力、伍經理的幫組,團隊的合作下,克服重重技術困難,增長了工作經驗,收獲豐盈:
1、asp.net
開發
以前我在其他公司也做過一些開發,但是底層和架構與頁面樣式我都是沒有涉及到的。通過這一年在本公司的的這些項目程序中的鍛煉,我成長了,我學會了很多很多。首先,面向對象語言的收獲。對于當前編程的主流思想是對象,任何事物都可以用對象來表示。以前理解這些話很費解都是從表面上理解,沒有從深入的體會,通過這次asp.net項目的深入,不管是數據還是外部一些條件我們都可以抽象成對象,都可以用對象來表示,具體可以用語言中的類方等。asp.net如此,c#如此java也同樣如此。其次,具備獨立完成vb.net知識方面的能力。以前沒有做過vb的東西,加上這次深入的做,這次涉及到的領域也非常廣,常用的重要的都有涉及,并且還補充-ml,javascript實際操作中空白的部分。通過這一年的開發,在.net方面我能勝任這方面的工作,能獨立完成這方面的工作。
再次,c#方面存在一些不足。LocALhOST通過c#這次軟件的開發,也發現自己的不足,如基礎知識掌握不牢,缺乏編程整體思想。這些都是需要在工作中完善和改進的。
2、數據庫開發
數據庫是伴隨著項目以來用的最多最平凡的技術。以前對數據庫只是會一些簡單常用的操作,經過這一年項目的實戰,對數據庫的操作增加了一些豐富的經驗。為以后的工作和經驗的積累都奠定了堅實的基礎。同時在項目中還用到了oracel與access數據庫,這是我最大的收獲。
優點:能熟練的運用數據庫技術進行開發。特別是對sql數據庫的操作,經過這么長時間的積累,基本上能合理的設計和新建數據庫,同時在數據結構上也加強了對數據庫的理解。通過項目的實踐現在能熟練使用和編寫多種sql語句。還掌握了一些關于數據庫優化sql語句優化的方法,能進行一些簡單的優化。
缺點:數據是一門比較先進的技術,并不是你會寫一些sql語句,能建幾個數據庫你就是數據庫工程師。要成為一個好的數據庫管理員是要經過長時間的工作積累。針對自己的不足,在以后的工作和學習中多接觸,多運用新的知識點。充實自己的經驗和知識儲備。
二、團隊協作
上面的成功與收獲,除了自身努力外,以及公司的支持。是這個團隊鑄造了我。我們這個團隊也是因為有了我們這些拼搏協作的隊員,使得它成為一個具有務實、拼搏、創新精神的團隊。我與軟件研發小組是一個整體,這里的團隊總結也就是我在這個團隊中的收獲。
務實:公司下發的任務,下發的工作,件件都是用心去做的。我們這個團隊中沒有一個人在工作的時候做了工作以外的事情,都是實實在在的做跟工作相關對公司有益的事情。相信在伍經理的帶領下現在是這樣,以后同樣也是這樣。
拼搏:公司給的每一個任務不管它多難,如果工作沒有完成我們會晚上加班,也要盡可能的完成當天的工作。如果工作實在忙,為了趕進度我們放棄周末休息時間也要盡可能的使項目提前。
創新:現在我們開始項目的時候都會進行研討,一般都會進行一個效率和邏輯的分析與討論,保證程序正確的前提盡可能的提高程序的效率。
互助:我們小組內只要任何一個人出現技術或其它的問題,我們都會彼此都會盡可能的去幫助他。不會因為某一個人而拖住整個項目滯后。
交流:我們在項目中會及時溝通自己的收獲,特別是一些針對性的技術問題。這樣可以省了很多重復研究的時間,這是一筆很可觀的時間。
在交流中只要我會的,我懂的,我不會去吝嗇。我會積極的去與你交流,我的團隊名言"人強團則強,人弱團則削"。
三、個人成長
通過公司這快一年的`鍛煉與學習我真的進步了很多,不管從技術上還是做事上,都不像以前那樣了。我在公司學到的懂得的使我飛速成長。
技術上:不管從語言上還是做事的邏輯上都得到了很大的的提高?,F在在軟件小組里面自己能獨立完成一部分工作,承擔自己的責任。
程序員個人述職報告范文5回首過去,展望未來
回首這一年的工作,有碩果累累的喜悅,有工作當中的艱辛,也有遇到困難和挫折時的惆悵。在項目可開發的過程中,難題一個接一個的出現,自信心不止一次的受到過打擊,雖然自己早就知道,要做到符合公司的要求,做一名合格的程序員,這些是遠遠不夠的。每天我都會不斷勉勵自己,好好學,以后會好的。在此同時,公司也給了我很多學習的機會,這是我對以后的編程之路又有了信心。在擔任公司程序員一職已經有一年多的時間,在這一年時間里,我學到了很多東西。每個人都是在不斷的總結中成長,不斷的是審視中完善自己。在這一年里自己也是在總結、審視中腳踏實地完成好自己的本職工作,現將這一年的工作總結如下:
思想方面
嚴格按照一個程序員應有的素養來約束自己,愛崗敬業,具有強烈的責任崗和事業心,積極主動認真的學習專業知識,工作態度端正,聽從公司的安排,積極配合客戶完善數字化校園系統。
工作方面
熱愛自己的本職工作,能夠正確認真的對待每一項工作,工作投入,熱心為大家服務,認真遵守勞動紀律,按時上下班,有效利用工作時間,堅守崗位,需要加班完成工作的要按時加班加點,保證工作能夠按時完成。在這一年多的時間里面,我本著把工作做的更好這樣一個目標,主動了解公司的開發項目流程,請教他們開發技術上的問題。
工作心得
1.在這一年多的時間里面,我參與的都是團隊合作的項目,無論是自己還是同事,我們都將就團隊精神。
在信任自己和他人的基礎上,思想統一,行動一致,這樣的團隊一定會攻無不克戰無不勝。我們的很多工作是一起完成的,在這個過程中,大家互相提醒和補充,大大提高了工作效率,所有的工作中溝通是最重要的,一定要把信息處理的及時,有效和清晰。
2.每一個項目在開始著手的第一步,一定要和客戶把需求溝通清除,只要了解項目的需求,才有可能真正做好一個項目。
我們需要向客戶提出,要求客戶提供所有涉及該項目的資料,每次與客戶見面都需要熟悉業務與程序的程序員隨時記錄需求。
3.工作中,將任務詳細化,詳細到每個頁面,甚至是一個頁面中的圖片什么時候做好,做好到什么程度,這樣把工作進度有計劃有方向的定下來,做事很有效率。
4.每天的工作小結真的很重要,這讓我們每天都有計劃的知道自己干了什么,不是漫無目的的工作,所以我們應該養成,日記、周記、月記、年記的工作習慣。
5.工作并不是一成不變的,也許有一天你要去其他崗位幫忙,所以同事之間的技術要相互學習,也許有一天,公司需要你發揮其他的技能幫忙,所以相互學習也是很重要的。
工作教訓
在公司工作的期間,我也發現了自己離一個符合公司要求的程序員還有很多差距,主要體現在工作技能與工作經驗的不夠,也是我以后要在工作中不斷磨練和提高自己的地方。仔細總結一下,自己在工作中主要有以下方面做的不夠好:
1.工作的條理性不夠清晰,要分清主次和輕重緩急。
在開發時間很倉促的情況下,事情多了,就一定要有詳細而主次分明的計劃,哪 需要立即完成,哪些可以緩緩加班完成,在這方面還有很大的優化空間。
2.對流程、業務需求不夠熟悉。
在工作中,發現因為流程或業務需求的問題而不知道如何下手的情況有點多,包括錯誤與缺漏還有當時設計考慮不到位的地方,對于這塊的控制力度顯然不夠,平時總是在開發,但說到底對業務很熟悉才是項目很好完成的前提。
3.缺乏工作經驗。
4.學習的知識不夠廣泛。
一個項目中,涉及的技術往往有很多種,知識多了,就會靈活變通,以后我也會加強這方面的學習。
工作計劃
要提高工作主動性,做事干脆果斷,不拖泥帶水。 工作要注重實效、注重結果,一切工作圍繞著目標完成。要提高大局觀,是否能讓其他人的工作更順暢作為衡量工作的標尺。 把握一切機會提高專業能力,加強平時知識總結工作。 精細化工作方式的思考和實踐。虛心請教比我做的優秀的其他同事,向他們學習技術或經驗。
其實作為一名員工,所有的地方都是需要學習的,多聽、多看、多想、多做、多溝通,向每一個員工學習他們身上的優秀工作習慣,豐富的專業技能,配合著實際工作不斷的進步,不論在什么環境下,我都相信這兩點:
一是:三人行必有我師
關鍵詞:項目導向;理實一體化;Web應用程序開發;學習領域;課程開發
中圖分類號:G712
文獻標識碼:A
目前國內職業院校計算機應用技術專業存在所教非所用、職業教育與社會需求脫節的培養機制問題。這主要是因為這些專業在教學內容的選取上存在較大的隨意性,在職業能力的塑造特別是動手能力的培養上存在較大的隨機性。如何針對職業崗位培養學生職業能力,開發出一大批工學結合的計算機應用技術專業課程,從而有效推動學生高質量就業,這是目前高職計算機應用技術專業面臨的重大挑戰。下面是對高職計算機應用專業《軟件開發技術》工學結合課程開發的實踐探索。
1 計算機應用技術專業及其就業崗位
計算機應用技術專業主要面向IT行業的軟件開發工作的一線程序員崗位,培養能在IT行業的軟件開發領域內從事計算機程序開發、軟件編碼測試、軟件技術服務和管理、軟件銷售和推廣等崗位的高素質技能型人才。
與傳統的計算機應用技術專業相比較,它注重培養學生知識、能力與素質。把基礎知識與專業技能相融合,培養“素質+能力+專長”的應用編程能力和創新能力。
計算機應用技術專業(.net方向)就業崗位包括:Web應用軟件開發企業中的銷售人員、實施及維護人員、系統開發人員、系統管理人員。通過對這些崗位進行歸納總結,確定Web程序員、Web應用軟件產品支持技術員、網站開發程序員、Web產品工程師作為學生就業的主渠道。
2 《軟件開發技術》課程的地位和作用
《軟件開發技術》在專業課程體系中起核心骨干作用,是培養基于.net技術Web程序員的主要支撐課程。同時也是計算機網絡技術專業、計算機多媒體技術專業重要的拓展課程。通過課程學習使學生具備適應Web程序員崗位的專業技能和職業素養,并掌握一定的理論知識,為就業后的可持續發展奠定基礎。
本課程的先修課程有《C#程序設計》《計算機網絡》《數據庫原理與應用》等課程,這些課程屬于職業準備課程和職業技能訓練課程,為學習本課程和職業崗位準備基本技能,后續課程是《軟件項目實踐》和畢業設計,屬于崗位技能應用課程,與學生畢業后的職業崗位任職要求相一致。
如何讓學生利用Web應用程序開發的基本方法,使用.net技術進行中小型Web應用程序開發;具備較強的自主學習和創新能力,并形成良好的編程習慣和團隊合作精神?;谶@一背景開設的《軟件開發技術》課程,正是為了解決這類專業核心能力的培養問題而開設的。
3 課程設計理念與思路
3.1 課程設計理念
《軟件開發技術》課程開發以Web應用產品行業的需求為導向,以Web應用開發程序員等職業崗位能力培養為重點,與Web應用軟件開發公司緊密合作,按照項目導向、任務驅動教學模式,設計和開發一系列基于工作過程的教學標準和教學資源,實現教學做一體化的課堂教學。
3.2 課程設計思路
根據軟件開發市場、軟件企業、行業對Web開發程序員的需求,確定“Web程序員”的職業崗位培養目標。按照Web應用項目開發流程(生產過程),確定工作任務。歸納出完成工作任務所必須掌握的技能,梳理成課程教學模塊所需的知識點、技能點、素質點,最終選取煤礦安全資格考試系統作為教學載體。在教學實施過程中通過“項目導向、任務驅動”教學模式,結合一體化教學、角色扮演、項目訓練等教學方法和教學手段,達到培養Web程序員應具備能力的課程目標。構建課程模塊如下圖1所示。
4 教學內容的針對性與適用性
4.1 面向就業崗位
根據企業調研和畢業生跟蹤,明確本課程培養的學生主要面向的就業崗位包括Web應用軟件開發企業中的銷售人員、實施及維護人員、系統開發人員、系統管理人員。通過對這些崗位進行歸納總結,確定Web程序員、Web應用軟件產品支持技術員、網站開發程序員、Web產品工程師為課程重點針對的教學崗位。
4.2 以職業能力培養為目標
課程教學內容的選取是根據職業崗位實際工作任務所需要的知識、能力、素質要求。專業建設指導委員會專家共同分析面向就業崗位的崗位職業能力,確定了以下崗位職業能力。
確定課程內容主要包括以下幾部分內容。課程能力模塊選取如圖2所示。
4.3 選取企業煤礦安全資格考試系統作為教學載體
為了使學生能夠體驗完整的項目開發流程,提高學生的適應能力、應用實戰能力、團隊協作能力與持續發展能力,選取煤礦安全資格考試系統作為課程主要教學案例。因為煤礦安全資格考試系統是與合作企業合作項目,素材全面,包括源代碼、數據庫設計、相關維護配套工具、說明等資料齊全。煤礦安全資格考試系統案例涵蓋了Web應用程序設計的核心內容,能涵蓋各崗位的職業能力要求。
5 教學內容的組織與安排
5.1 按企業WEB應用項目開發實際工作流程,序化教學內容.
以真實煤礦安全資格考試系統為載體,以職業能力培養為重點,以“做中學”為實現途徑,以煤礦安全資格考
試系統開發流程中每個工作任務要使用的技術為依據,以工作過程的循序漸進原則設置,將課程內容序化為8個學習情境、16個工作任務。教學內容的組織與安排如表1所示。
5.2 單個學習任務教學內容的組織
下面以學習情境四煤礦安全資格考試系統設計中工作任務系統數據庫設計為例進行說明:
(1)任務導引:數據庫設計。教師引導復習煤礦資格安全考試考試系統概要設計,并引出新任務:數據庫設計。學生思考教師提出的問題。
(2)案例演示:煤礦安全資格考試系統數據庫設計。教師演示教學案例,學生觀看演示案例。
(3)任務提出與分配:設計煤礦安全資格考試系統數據庫。教師下發開發任務,學生分組討論本階段的任務,進行任務劃分,設計煤礦安全資格考試系統數據庫。
(4)實施。學生閱讀煤礦安全資格考試系統概要設計文檔,學習Power Designer工具的使用,使用Power Designer設計煤礦安全資格考試系統數據庫,編寫數據庫設計報告。項目經理審批數據庫設計報告。創建并生成煤礦安全資格考試系統數據庫。教師點評學生設計過程中存在的問題,學生根據教師的點評完善自己的作品。
總之,通過以企業真實的開發項目煤礦安全資格考試系統為載體,設計8個學習情景、l6個學習型工作任務,實施項目導向、任務驅動學習,讓學生能實際經歷Web應用軟件開發流程和規范,養成良好的團隊協作職業素質,有效提高了課堂教學的質量和效率。
參考文獻:
[1] 鄧澤民,陳慶.職業教育課程設計[M].北京:中國鐵道出版社,2006
技術
我在學校里學的是電氣自動化,程序基礎僅限于C基礎課程的一些知識,后來由VB、HTML轉向asp,在asp上花費了不少時間,對asp比較熟悉,后來由于公司業務需要,將開發平臺轉向,開始對不是很感冒,以為就是asp的一點擴展(那時還不知道三層架構,數據數據訪問全在頁面里?。?,后來招來幾個北大青鳥的過來終于意識到的強大之處,經過個人的努力已經逐步掌握了,現在層次上只能講個人覺得是入門而已,原因是多方面的,待會兒會講到。
相信從面向過程轉向面向對象的同學都有一種感覺:面向對象開始真的有點別扭,涉及到屬性,尤其是類之間的各種關系,那時老想用面向過程傳遞參數多方面啊。于是老在想對象這種東西,從概念中跳中來,以自己的方式去理解才逐漸體會到面向對象的精華來,分層次展現、分級別訪問、封裝對象之間各種關系逐漸真正理解了,尤其是對象之間的關系,如對象a與對象b兩者之間的關系,有些需要完全公開,有些需要隱藏,有些需要通過第三方傳遞,有些需要給自己的下級可見,有些需要讓下級去完成具體操作這不是現實的實際模型嗎?應該這么理解,面向對象來源于現實,它不是一種憑空空想出來的理論,這些對象之間的關系可以將其還原為父子、夫妻、領導下屬、同事、朋友之間的關系。相比之下,頁面過程往往像是一股腦全部推給用戶使用,其中的數據與數據訪問方法層次不清晰,在模擬現實上它與面向對象相比更易于入門理解,實質上難于準確直接地表述。
面向對象上另一方面是它的設計模式,在之前的面向過程中對這個設計模式并沒有清晰地提出來,面向過程優秀的代碼要求高內聚低耦合,從個人的理解上,這僅是對軟件開發方法“技”上理論總結;設計模式是達到了“道”的層次,因為它從更大的方向、更抽象的層次來去表述具體的代碼模塊之間的關系,可以認為設計模式是完全從實際的應用來不斷總結得來的經驗,之間并沒有這種術語,但相信前人肯定也使用到這種思想,它從實際應用于來,當然要應用于實際工作中,認真思考不斷總結每個人都會有自己的“設計模式”,可以借鑒前人的思想來去提升自己,不可去為“設計模式”而設計模式。
具體到的實現模型中,真正理解它的機制與方法也就不難理解,記住b/s中離不開post或get,所有的AutoPostBack、SelectedIndexChanged……都是去調用Form傳值,加上runat="server"的服務器控件打開它生成的源文件也是普通的HTML標簽,微軟的讓軟件開發更容易的思路是很好的,時代在前進,很多年前你使用C寫出MIS證明你很牛,很多年之后你還在使用C去寫“學生管理系統”、“圖書館管理系統”那只能說明你的腦子少一根筋,開發語言都有長處與不足的地方,因為它們適用的場合不同,類似不能拿匕首去跟炮彈比,也不能拿C與PHP比,程序員都有一種偏執的心理,但一點要記住,你面對的用戶才有最終發言權,程序能不能滿足需要,易用性、穩定性、成本才是應當首先放到重要位置來去談的。
管理
最開始擔任管理一職時開發團隊加我在內只有四個人,那時只是抱著接受挑戰的心理去做管理,加上我本人比較重感情,團隊之間關系相處都不錯,但嚴重的問題逐漸顯露出來:工作的隨意性、團隊精神薄弱、工作方式蠻干,印象深刻的是有幾個開始承諾項目不能完工,于是最后天天加班,一直做到早上6點,睡一會7點半接著上班,幾個同事都是年齡差不多的小伙子,干勁十足。后來隨著時間的推進,問題越來越擺在眼前:項目遲遲不能完工,又由于公司待遇方面讓新員工感覺不值得,于是形成了老板抱怨員工也抱怨的狀況,我在中間兩點都要去“消火”,這期間是我們部門相對最累的時間但也是相對感覺最充實的時候,后來,之前的員工跟我說“再也找不到那種感覺了”,這是我能想像的。這期間主要是老總對我十分信任,工作上主要是管理方法上對我指點了不少。后來我逐步體會到,管理應該是“大家定規則去遵守”,而不應該是“人管人”。
人管人很容易陷入一個誤區:領導去時時刻刻關注每個員工,這樣最后往往后造成員工對領導的敷衍了事,管理松了員工會責任下下降,管理緊了造成員工與領導關系緊張,另一方面領導時間精力有限必然耗費大量的精力在日常的監督中而不能投入到全局的管理中。
于是“定制度-定分工-定進度”,明確日常所有的規章制度,這期間除了公司主要的工作規章制度外其他的日常工作紀律、日常管理等規章制度都是我本人制訂,然后征求大家意見最后去貫徹執行。中間也遇到了不少問題,比如開始我們內部是允許使用QQ的,后來員工用QQ閑聊的時間增多,大大影響了工作效率,最后決心禁止,開始阻力較大(貌似程序員都喜歡掛上幾個QQ去到群里搞個群主,雖然群里大多都是菜鳥),最后多次開會,逐個談話,闡明道理,形勢逐漸好轉。
項目分工上針對技術水平明確分工,制訂項目開發計劃,由于開始技術都不是很成熟,不少時間我這邊強勢要求,使用野蠻方法,完不成加班我陪著加班,這段時間能感覺到員工對我稍有怨言但總體還是認可的。
這期間公司新招人員,人員的增多更使我意識到團隊管理的重要性,這期間版本控制、編碼規范、文檔管理、Bug管理等諸多問題都得到一一解決,技術水平上主要是我個人利用空余時間學習新知識充電,然后展開各種培訓,主要是photoshop、css、js、SQL等方面,培訓一方面提升了員工的技術水平,一方面我本人在學習培訓的過程中得到的最多,因為這個時候個人要求去思考的會更多,加上我本人對技術興趣比較深厚,所以后期工作慢慢踏入良性循環。
待遇低、條件艱苦、工作時間長、工作壓力大是團隊中最大的難題,這方面公司在某些方面決策層有著嚴重的錯誤思想,造成技術人員對公司埋怨增多,在這方面我本人只能以勸架婆的身價去安慰身邊的兄弟,因為我明白現在公司的問題與當前中國軟件行業的通病一樣,盲目追求利益最大化,不求質量,但求速度,整個社會風氣造成軟件行業良莠不齊發展,整個中國三四個人的開發團隊組成的公司數不勝數,整個程序員階層生存狀況可想而知,瘋狂加班、代碼質量低下、維護成本大、穩定性差、用戶體驗差。當然我們本身不能去逃避這個現狀,對于個人來講任何假大空的口號都是沒有意義的,程序員作為技術人員最重要的是心態,以良好的心態去面對各種問題,發現問題、解決問題,發現問題抱怨是解決不了問題的(“IT民工”是我個人認為IT人最沒有正確的自我定位的一個稱謂,試想一個人連自己都看不起自己的職業,他能做好自己的工作嗎?),最主要是解決問題。
我在面試員工時反復提到的三點是;工作態度、發展潛力、工作能力,由前向后排序,心態最重要,大公司大家都想削尖腦袋往里擠,但名額有限,所以廣大的程序員同志絕大多數都集中在二流三流四流的軟件公司,這個時候更應該做好個人職業定位。以我個人的經驗,新員工選擇一家公司往往最看重工資待遇跟發展潛力,程序員是一種不可以混日子的職業,工作能力很重要,但不是最主要的,工作態度是最重要的,工作態度往往跟個人的思想認識還有職業所在的環境有關,我個人的體會是絕不能太過于情緒化,情緒化無論是對工作還是對個人的發展都是不利的,就是說哪怕是明天你要辭職,你今天都要把今天要做的事情認真用心做好。
對于工作責任心不夠的員工是尤其值得關注的,他們往往自我意識過于強烈,追求以自我為中心,很多時候伴隨著工作得不到認可、工作感覺不充實不開心,我會主動找他談話,我認識:你管理的是一個實實在在的人,他不是一臺任你擺布的機器,人會有情緒往往是有心結,找到原因,多加開導,用心去關心每個成員。對于實在不適合在本團隊發展的員工要做好最壞打算。程序員這個職業與現在的大學生具有一致的特征,一個是從天之驕子淪為多余人,一個是從高智商人士成為今天中國通行的”IT民工“。另一方面是程序員往往年齡集中在20-25之間的男性中,情緒化、失落感、心理不成熟等一系列問題都會出現。但這個階段的人往往也最易溝通,可塑性也較強,適當的引導、合理的方式會比野蠻的管理效果強上百倍。