Ⅰ 作為一個程序員,其他人對你有過哪些誤解
一是理解誤解, 外行理解內行,業余理解專業,經常向低水平需求妥協讓步!
二是效率誤解,為何一個月還開發不出像」淘寶一樣的網站「?
三是能力誤解,程序員應當精通各個領域,在電腦方面必須是「全才」。
四是形象誤解,目光呆滯、穿著老套、不善交際似乎是程序員的標簽。
五是加班誤解,程序員天生就該加班!
家裡親戚有買電腦的會讓你參謀,這算正常操作,電腦有問題也找你修,除了電腦,列印機,復印機什麼的也屬於程序員工作范疇。
不僅僅是程序員,任何一個行業,任何一個人都會被別人誤解,因為你不曾走進,所以還是未知,停留在表面,沒有深入,以訛傳訛以謠傳謠,別人說啥就是啥,所以誤解就來了
上大學的時候親戚問我學啥專業,我說計算機,於是就開始找我修電腦,裝系統。各種電腦問題都來找我。在他們眼裡,我學的專業就是專門修理這些電腦器件的。每次都搞得我很尷尬,自己真的不會,更不能給它們說我學的是Java c++ 數據結構這些。因為外行真的理解不了。
工作後我第一份工作公司是做手機的,於是親人們又來找我買手機,總是問我公司有沒有內部價,有沒有優惠。還有一些朋友找我修手機,升級,裝軟體,各種網路問題,軟體版本問題都來找我。我根本不精通,但是每次都很尷尬,公司從來沒有優惠價,講究飢餓營銷導致內部員工每次都買不到。
現在第二份工作是雲計算,每次回家親戚總要問我工作是幹啥的,是怎麼工作的,我解釋半天他們也是雲里霧里。作為程序員,真的給外行解釋不了自己。
以前我從事編程工作,我也曾經經歷了一些不同的誤解,比較典型的誤解就有四點吧。
第一、以為程序員很會修電腦或者修手機
這個事情到現在為止還讓我很頭疼,我最害怕的就是去領導辦公室簽字什麼的,領導讓我給他修電腦,以前是害怕客戶讓我修電腦。現在修電腦的次數少一些了,又時不時有人以為我會修手機,這是天大的誤會啊,我自己的電腦壞了或者手機壞了,都是別人修的。
第二、他們以為我計算能力很強
出去吃飯,逛街什麼,比如遇到了什麼東西可以打折,時不時有人就讓我來算,我掏出手機來算,有個別人就會問我,你們學計算機的,還要用計算器來算啊,我雖然是學計算機的,但是我數學一般般,計算能力也很一般啊,對數字也非常不敏感,多幾個零我都要慢慢數的。
第三、以為我很會玩 游戲
有時別人在玩 游戲 ,要走開去上廁所或者聽電話什麼,讓我去頂一下,我也是不會的啊;好像從接觸計算機開始,我都不怎麼愛玩電腦 游戲 ,感覺自己有點不正常。
第四、程序員居然不會打五筆
以前我在一個廣東比較比較偏僻的縣級醫院給他們做系統,他們因為要錄入病人信息,有些字打五筆打不出來,總是來找我,有時半夜都把我叫起來,知道了我不會打五筆,覺得好奇怪,省城來的工程師不會打五筆,哈哈哈。。。
1、程序員都是禿頭,或者做程序開發對頭發不友好
2、程序員都愛穿格子衫
3、穿個大褲衩,頂個黑眼圈,兩眼呆滯,雙目無神,外表憨厚,內心狂野,十足的悶騷男
4、程序員收入都很高
5、修電腦修網路是家常便飯
多數公司會把前後端開發者放在一個部門,兄弟組可能還有產品,測試,運維等,統稱為技術部。
我司,產品與前端屬於一個部門,程序部只有後端開發,經常被外行人統稱為「技術」,實際解釋了他們也不懂。
前後端協作項目,出bug在所難免,總有一些劃不清界限的鍋…不過,大家都有極強的責任心與擔當,不存在出了毛病就相互甩!
另外,我曾是一名代碼寫得不太漂亮的美女前端,現兼產品策劃、項目管理,主要負責H5/小程序/網站開發
感興趣的歡迎來關@霧里看花花不現
剛畢業那會兒,很多人把程序員當成修電腦的。親戚們的電腦有問題了,都跑過來修。我哥就是一名程序員,早些年電腦還不像現在這么普及,那些年逢年過節,只要哥回家,親戚朋友們的電話就來了,說是電腦哪裡哪裡出了問題了,讓哥去給修修。哥一聽,這分明就是硬體問題,我一搞程序開發的,也修不來啊,但是親戚依然不依不饒,還跟哥說:「你不是搞程序的嗎?搞程序的不會修電腦,說了誰信啊。」可最後哥還是讓他們去電腦城找維修師傅修理。
除了親戚們意識里認為搞程序的就是修電腦的以外,公司里剛入職的小姑娘也會這樣認為。哥之前講,他們公司行政部新來了個小姑娘,看著哥上下班背著電腦,就認為他是修電腦的。剛好行政部的電腦出了問題,無法開機,這個小姑娘就攔住了背著電腦正准備下班的哥,哥就告訴她,他是程序員,像這種電腦的硬體問題應該去找電腦經銷商,他們一般會上門維修的。那小姑娘是一頭霧水半信半疑,最後找到了經銷商給修好了電腦,小姑娘還是過了好久才消除這種懷疑。
當然除了認為程序員是修電腦的,還會認為程序員就是所有的程序都應該精通。我哥之前公司的一個業務領導,突發奇想打算開發一款手機APP,就問了公司的人員配置。研發這邊就向上匯報,這款APP如果開發的話需要招聘幾個安卓方向的程序員,結果這領導就說,不是有那麼多程序員嗎?派幾個人來做就行了,為啥還要另外招。研發這邊只好說目前公司程序員中沒有安卓方向的。這個領導還一愣一愣的,似乎不知所雲。
有時候隔行如隔山。
作為程序員受到的誤解有很多。
第一工資高:都說程序員都是高薪職業,或許都是被人家的吧,在一個新一線的城市,7000+的工資,如果只是生活確實還可以,但是加上房貸車貸之後就徹底不夠用了。所以高薪職業的說法都是相對的,可能那些996的程序員才配擁有高薪吧。
第二格子衫:我也清楚為什麼格子衫是程序員的標配,可能我是一個假程序員吧,我的衣櫃里好像沒有一件格子衫。
第三會修電腦:作為一個程序員經常有朋友找我修電腦。電腦藍屏了找我,電腦死機了找我,電腦開不了機了也找我,甚至照片換底色、p圖也找我。凡是與電腦有關的他們都會想起我,但我其實也只能問度娘或者簡單粗暴點重裝系統。我其實不會修電腦,我電腦壞也要找專業的維修人員。
1,能幫我盜個6位的QQ號嗎?每個程序員都是黑客,可上天可入地
3,幫我修下系統、電腦、路由器、U盤、手機,你不是干這個工作的嗎?這還不會?!
是的,每個程序員都可以做系統,修硬體,:
Ⅱ 你印象中的程序員
沒有情調,不懂浪漫,也許這是程序員的一面,但擁有朴實無華的愛是他們的另一面。
我個人感覺印象中的程序員就是,頭頂英年早禿,發際線英年上移(開玩笑的說),其實我朋友做程序員的就會下意識的看我的頭發,說不像啊,其實很多程序員的時毛發濃密的,並不是所有的都聰明絕頂,很多程序員的智慧是「掩蓋」著的!
在網上看到一句關於程序員的話:
我的代碼曾運行在幾千萬用戶的機器上,作為一個程序員,還有什麼比這更讓人滿足的呢?如果有,那就是讓這個用戶數量再擴大 10 倍。
我感覺程序員是值得我們尊敬的。,程序員的雙手是魔術師的雙手。 他們把枯燥無味的代碼變成了豐富多彩的軟體(現在我們使用的健康碼,行程碼)。
程序不是年輕的專利,但是,他屬於年輕……
Ⅲ 程序員需要學些什麼
程序員的崗位需求很多,例如大型網路公司、軟體開發公司等等都需要程序員。
程序員需要學習:
1、掌握數據及其轉換、數據的機內表示、算術和邏輯運算,以及相關的應用數學基礎知識;
2、理解計算機的組成以及各主要部件的性能指標;
3、掌握操作系統、程序設計語言的基礎知識;
4、熟練掌握計算機常用辦公軟體的基本操作方法;
5、熟練掌握基本數據結構和常用演算法;
6、熟練掌握C程序設計語言,以及C++、Java、Visual Basic中的一種程序設計語言;
7、熟悉資料庫、網路和多媒體的基礎知識;
8、掌握軟體工程的基礎知識,了解軟體過程基本知識、軟體開發項目管理的常識;
9、了解常用信息技術標准、安全性,以及有關法律、法規的基本知識;
10、了解信息化、計算機應用的基礎知識;
11、正確閱讀和理解計算機領域的簡單英文資料。
程序員必備技能:
1、熟練開發工具
做為一名程序員至少熟練掌握兩到三種開發工具的使用,這是程序員的立身之本,其中C/C++和JAVA是重點推薦的開發工具,C/C++以其高效率和高度的靈活性成為開發工具中的利器,很多系統級的軟體還是用C/C++編寫。
而JAVA的跨平台和與WEB很好的結合是JAVA的優勢所在,而JAVA即其相關的技術集JAVAOne很可能會成為未來的主流開發工具之一。
其次,能掌握一種簡便的可視化開發工具,如VB,PowerBuilder,Delphi,CBuilder,則更好,這些開發工具減小了開發難度,並能夠強化程序員對象模型的概念。
另外,需要掌握基本的腳本語言,如shell,perl等,至少能讀懂這些腳本代碼。
2、熟知資料庫
作為程序員,他們自然有自己的理由:很多應用程序都是以資料庫的數據為中心,而資料庫的產品也有不少,其中關系型資料庫仍是主流形式,所以程序員至少熟練掌握一兩種資料庫,對關系型資料庫的關鍵元素要非常清楚,要熟練掌握SQL的基本語法。
雖然很多資料庫產品提供了可視化的資料庫管理工具,但SQL是基礎,是通用的資料庫操作方法。如果沒有機會接觸商業資料庫系統,可以使用免費的資料庫產品是一個不錯的選擇,如mySQL,Postgres等。
3、了解操作系統
當前主流的操作系統是Windows,Linux/Unix,熟練地使用這些操作系統是必須的,但只有這些還遠遠不夠。
要想成為一個真正的編程高手,需要深入了解操作系統,了解它的內存管理機制、進程/線程調度、信號、內核對象、系統調用、協議棧實現等。
Linux作為開發源碼的操作系統,是一個很好的學習平台,Linux幾乎具備了所有現代操作系統的特徵。雖然Windows系統的內核實現機制的資料較少,但通過互聯網還是能獲取不少資料。懂得網路協議TCP/IP。
在互聯網如此普及的今天,如果您還沒有對互聯網的支撐協議TCP/IP協議棧有很好的掌握,就需要迅速補上這一課,網路技術已改變了軟體運行的模式。
從最早的客戶/伺服器結構,到今天的WEBServices,再到未來的網格計算,這一切都離不開以TCP/IP協議棧為基礎的網路協議支持,深入掌握TCP/IP協議是非常必要的。
至少,需要了解ISO七層協議模型,IP/UDP/TCP/HTTP等常用協議的原理和三次握手機制。
4、明白DCOM/CORBA/XML/WEBServices存在的意義
隨著技術的發展,軟體與網路的無縫結合是必然趨勢,軟體系統的位置無關性是未來計算模式的重要特徵之一,DCOM/CORBA是當前兩大主流的分布計算的中間平台,DCOM是微軟COM(組件對象模型)的擴展,而CORBA是OMG支持的規范。
XML/WebServices重要性不言而喻,XML以其結構化的表示方法和超強的表達能力被喻為互聯網上的「世界語」,是分布式計算的基石之一。
5、不要將軟體工程與CMM分開
大型軟體系統的開發中,工程化的開發控製取代個人英雄主義,成為軟體系統成功的保證,一個編程高手並不一定是一個優秀的程序員。
一個優秀的程序員是將出色的編程能力和開發技巧同嚴格的軟體工程思想有機結合,編程只是軟體生命周期中的其中一環,優秀的程序員應該掌握軟體開發各個階段的基本技能。
如市場分析,可行性分析,需求分析,結構設計,詳細設計,軟體測試等。
6、需求理解能力
程序員要能正確理解任務單中描述的需求。在這里要明確一點,程序員不僅僅要注意到軟體的功能需求,還應注意軟體的性能需求。
要能正確評估自己的模塊對整個項目中的影響及潛在的威脅,如果有著兩到三年項目經驗的熟練程序員對這一點沒有體會的話,只能說明他或許是認真工作過,但是沒有用心工作。
7、模塊化思維能力
作為一個優秀的程序員,他的思想不能局限在當前的工作任務裡面,要想想看自己寫的模塊是否可以脫離當前系統存在,通過簡單的封裝在其他系統中或其他模塊中直接使用。
這樣做可以使代碼能重復利用,減少重復的勞動,也能使系統結構越趨合理。模塊化思維能力的提高是一個程序員的技術水平提高的一項重要指標。
就業方向:
1、網路開發
現在網路已經成為世界通訊的一座橋梁,好像Javascript、PHP、Ruby這幾類開發語言大部分是用作網路開發方面。
2、企業軟體開發
JAVA、C#、VB這幾類開發語言都實現了面向對象開發的目標,更多時候用於企業系統的開發。
3、系統軟體
C語言、C++、Object-C這些軟體更多是用在系統軟體開發,嵌入式開發的方面。
當然,這分類不是絕對,像JAVA、C#、VB很多時候也用於動態網站的開發。在很開發項目都會使用集成開發的方式,同一個項目裡面使用多種開發語言,各展所長,同步開發。
但所以在剛入門的時候,建議先為自己選擇一種合適的開發工具,「專注地投入學習,全力一擊」。
會編程、會計算機語言就能加入互聯網發展大潮中,享受數字經濟發展的紅利,一時間社會上的程序員培訓機構都變得格外火爆。
但是現在,專家的數據分析結果告訴你:若想跟上數字經濟發展的步伐,光會編程可不行,這個行業現在緊缺高端的、綜合型人才。
11月22日下午,清華大學經管學院互聯網發展與治理研究中心與領英聯合發布《中國經濟的數字化轉型:人才與就業》,揭示我國數字人才現狀與趨勢。
報告顯示我國數字經濟發展面臨人才短缺的挑戰,但這種短缺主要體現在擁有中高級專業技能數字人才的比例不高,擁有人工智慧、智能製造等前沿技術的人才更是少之又少。
與美國、英國、加拿大等國家相比,中國的數字人才儲備尚有很大差距。
此外,報告根據對人才需求的數據分析,結果顯示我國數字人才的技能需求不再強調單一編程技能,更加看重技術、管理和領導力等綜合技能。
2015年,我國從事信息傳輸、軟體和信息技術服務相關工作的人數約350萬,但其中中高端人才,特別是前沿技術的數字人才並不多。根據領英中國智庫的研究,在人工智慧領域,美國的從業者數量在85萬人以上,印度15萬,英國14萬,中國只有5萬多人。
報告負責人、清華大學經濟管理學院副院長陳煜波教授表示,我國目前在大數據與人工智慧領域人才缺口明顯。
他解釋說,目前中國85%以上的數字人才分布在產品研發類,而深度分析、先進製造、數字營銷等職能的人才加起來只有不到5%,存在較大缺口,新興技術人才和創新型人才培養方面存在滯後和不足。
這份研究報告的基礎數據來自領英在中國的3600萬個人用戶,這些用戶畢業於1.5萬多所國內外院校,分布在36.4萬家企業,擁有超過2.3萬項技能。
陳煜波研究團隊從中篩選了72萬數字人才,多維度提取用戶畫像並跟蹤其職業軌跡,以此預測不同地區的人才流向、僱傭率、受僱主歡迎的技能等人才趨勢層面的信息。
陳煜波說,根據數據分析結果,整體來看,雖然編程技能和數據分析技能需求占據主導,然而隨著數字產業走向成熟,企業除了強調編程技能,也逐步更加看重人才的技術、管理和領導力等綜合技能。
近年間,項目管理、產品運營等「技術+管理」類技能的需求呈現出明顯的上升趨勢,懂技術、懂管理的人才被認為是「一將難求」。
領英中國代理總裁曾志恆也提醒,如果你有興趣向數字職能轉型,不能僅僅專注於自己的技術能力,溝通和領導力等軟性技能將成為你脫穎而出的關鍵。
陳煜波希望這些研究結果能為教育行業和政府部門提供借鑒。他說,教育行業可根據職位的供需趨勢更好地規劃人才培養的方向,政府也可更好地了解人才流動方向、技術缺口等,以此制定有針對性的引才策略。
程序員崗位職責:
1、對項目經理負責,負責軟體項目的詳細設計、編碼和內部測試的組織實施,對小型軟體項目兼任系統分析工作,完成分配項目的實施和技術支持工作。
2、協助項目經理和相關人員同客戶進行溝通,保持良好的客戶關系。
3、參與需求調研、項目可行性分析、技術可行性分析和需求分析。
4、熟悉並熟練掌握交付軟體部開發的軟體項目的相關軟體技術。
5、負責向項目經理及時反饋軟體開發中的情況,並根據實際情況提出改進建議。
6、參與軟體開發和維護過程中重大技術問題的解決,參與軟體首次安裝調試、數據割接、用戶培訓和項目推廣。
7、負責相關技術文檔的擬訂。
8、負責對業務領域內的技術發展動態進行分析研究。
相關書籍:
很多程序員響應,他們在推薦時也寫下自己的評語。 以前就有國內網友介紹這個程序員書單,不過都是推薦數 Top 9的書。
其實除了前9本之外,推薦數前30左右的書籍都算經典,筆者整理編譯這個問答貼,同時摘譯部分推薦人的評語。
下面就按照各本書的推薦數排列。
1、《代碼大全》 史蒂夫·邁克康奈爾
2、《程序員修煉之道》
3、《計算機程序的構造和解釋》
4、《演算法導論》
5、《重構:改善既有代碼的設計》
6、《設計模式》
7、《人月神話》
8、《計算機程序設計藝術》
9、《編譯原理》(龍書)
10、《活著》
Ⅳ 程序員用CPU烤肉,你還見過程序員的哪些神奇操作
之前,我看到有一個程序員因為加班太累,買無人機遛狗,特別有趣,還有程序員買房會先做一個爬蟲工具,把所有房產信息分別抓取過來,放到一張表格里,通過各種數字模型分析買房,所以,程序員很辛苦,但她們的神奇操作也很多。
Ⅳ 身為程序員碰到的最奇葩的需求是如何的
要我把圖表和數據導出到Excel,並且在Excel里改了數據,Excel裡面的圖表和系統里的圖表都要變。。。😂
Ⅵ 當客戶提出無理的需求,程序員應該怎麼辦
當你預期的那一天,也許是害怕的那一天,終於來到了:從工程師的隊伍里你被提拔到了軟體項目領導或者團隊領導的位置。這也許就是你選擇的職業道路,或許你不太情願,將就嘗試一下。無論在哪種情況下,你都可能缺少工程學科、人員管理以及領導能力的相關教育。這需要的領導能力和管理(它們不是一回事),而不能象Dilbert(譯註:著名IT漫畫主角)那樣簡單地和老闆對抗了。當你考慮新的目標時,請考慮下面的活動計劃列表。一次就抓住了每個亮點,這是不可能的。但是這份建議說明可以幫助你將注意力放在可以提高你和你的團隊績效的活動上。建立優先順序作為經理,首先要做的、最重要的事是你需要有意識地建立優先順序。當你仍陷於繁重的軟體開發活動中時,你需要一套新的職責。過多的經理新手不能抗拒技術的吸引而陷於此類活動,這將導致項目組的其他人員想要獲得經理的幫助時,卻得不到幫助。有成效的領導知道他們首要的任務是為其他組員提供服務。這些服務包括訓練和指導、解決問題和沖突、提供資源、建立項目目標和優先順序、提供適當的技術指引。要使每個組員都能清楚的知道,你總是可以幫助他們。我發現將自己定位於為被我監督的人工作是非常有意義的,而不是相反的。在你所作的事情中,對於組員要求你幫助他們這件事,應該具有非屏蔽中斷的優先順序。第二重要的,是使你的客戶滿意。作為一名經理,沒有直接的能力使客戶滿意,因為你已不再是作為個人提供產品和服務完成這點。相反,你必須建立一種環境,准許你的組員最大程度上滿足客戶的需求。經理提供了強有力的方法,有效地提高客戶的滿意度。第三重要的,是為你的項目工作。因為也許還有其他許多技術上的項目,或者其他經理的請求幫助,諸如為指導委員會工作。當這些和二個高級別的發生沖突時,都要准備推辭掉。很明顯,使其他經理滿意的事情是你最不重要的事情。在一個有秩序的組織里,如果你在三個以上的重大環節上獲得了成功,其他的經理都會很激動的。我們並不都能很幸運地工作在一個良好的環境里,但一定要對你任務單上排在最前面的工作任務努力盡到最大的責任。集中精力有效地、快樂地、盡可能地幫助你的組員,不要將精力放在使你上司滿意的上面。分析你的技能差距除非你已經為新位置做好了准備,否則相對於你當前的領導能力和管理技能,你會感到一些差距。出色的技術背景或許是你被選為領導角色的一個因素,但是你要想幹得出色,你需要的技能。針對別人的評論和項目,真實地列出你的長處和短處,然後減少差距。軟體人員並不以令人滿意的人際關系技能出名。你會希望增強處理人際關系的經驗:解決沖突、說服以及灌輸想法。你也不得不處理包括招聘、解僱、商談計劃表,以及在你的公室里評論某人業績使其傷心落淚等一些事務。我發現從一堂傾聽技能課開始我的管理職業是非常好的。當作為個體提議人,積極地將我們自己的技術議程提交小組時,我們經常對此感到非常愜意。有效的管理要求的合作和善於接受的人際關系方式。要花點時間學習如何(何時)巧妙地引導自己的自然判斷。傾聽技能課提供了一種交流機制,我已經發現在許多場合下都很有用。接著,到講台的另一側,提高你的演講能力。如果你真的不適應公開場合的講話,學習戴爾.卡內基的課會有幫助的。你會發覺,通過這樣的培訓獲得的經驗,以及獲得提高的交流能力,都可以幫助你更好地適應將來的工作。作為項目領導,為了計劃和跟蹤項目,以及當需要項目回退而採取修正措施時,你有責任調整其他人的工作。參加項目管理的培訓課,閱讀一些有關項目和風險管理的書籍和文章。參加項目管理學會,閱讀其月刊--PMNetwork。SEI的軟體能力成熟度模型對於軟體項目計劃和項目跟蹤提供了很多有用的建議。建立優先順序的能力、控制有效果的會議、清晰的交流,對於你,作為一名經理的績效將會有實質上的影響。定義「質量」幾乎每個人都會認真地對待質量問題而且都希望生產出高質量的產品。然而,對於軟體的質量含義,沒有一個統一的定義。傳統上的軟體質量觀點和「足夠好」的軟體觀點有著激烈的爭論。為了幫助小組走向成功,需要花一些時間和你的組員、客戶共同探討質量的含義。這兩種陣營在思想上經常不會有相同的定義,可以很容易的就不同目的開展工作。關注交付計劃的經理對於想正常地檢查每行代碼的工程師會不耐煩的;認為可靠性非常重要的客戶對一個帶有很少使用但帶有很多bugs的特性的產品是不會滿意的;一個很好的GUI也許會讓用戶厭煩,因為用戶已經熟記了如何有效地使用前一個版本的產品。為了更好的理解客戶對軟體質量的看法,在Kodak,我的小組曾經邀請了我們的客戶和他們的經理就這個議題在一個開放的論壇討論。這個論壇是很有意義的,那些使用我們產品的人有著自己的理解,通過討論,我們可以知道我們制定質量的思路有哪些和他們是不相符的。明白了不同,就可以使你集中精力,照顧客戶的最大利益,而不是使開發人員獲得最大滿意。軟體質量的傳統描述包括要與說明書一致,滿足客戶的需求,代碼和文檔沒有缺陷。「六個∑質量」(six-sigmaquality)這個流行詞,建立了一個非常高的尺度,用於監測失敗的頻率和密度。但它不適用於如快速產品交付,可用性,充足的特性集,已支付價錢的交付意義這樣的質量尺度,。對於我們生產和購買的產品,我們總是熱衷於盡可能涵蓋所有的這些質量特性,然而,妥協總是必須的。在一個項目的需求階段,我們制定了包括十項質量屬性的一個列表,如效率,協同性,正確性以及宜於學習,我們認為這對於用戶來說是最重要的。我們請客戶關鍵人物代表小組以1到5的尺度評估每項屬性。一旦我們決定了哪些屬性是最重要的,我們就可以設計並實現這些目標。如果你在了解了對於客戶的質量含義並在設計實現質量屬性的過程中沒有麻煩的話,而且客戶對質量屬性表示滿意,那你是很幸運的。在眾多關注的質量說明中,我曾聽到過一個:「客戶回來了,但產品沒有」。和你的客戶、開發人員一起對每一個產品都確定適當的質量目標。一旦決定了,就給出達到質量目標的明確的最高優先順序。以身作則,按很高的質量標准要求你自己的工作。採用這個座右銘:「力求盡善盡美,滿足於優秀。」表彰成績對你組員成績的表彰和獎勵,是激勵他們的一種很重要的手段。除非你的小組中已經有了一種表彰程序,否則這應是你最重要的事情之一。表彰包括象徵性的東西(證書,旅遊獎勵)以及實際的東西(電影票,餐館禮品券,兌現獎)。在送贈品時要說一些親切的話語:「感謝你所給予的幫助」或者「祝賀取得了成績」。在表彰和獎勵上花費很少的心思和錢,就可以獲得很多的友好和將來的合作。包括客戶代表,以及為項目成功做出過貢獻的支持人員等等開發組外的人員也可以獲得表彰。和你的組員討論,了解他們感興趣的表彰和獎勵的方式。使得無論大小成就的表彰活動成為小組文化的一個標准組成部分。對每位組員對其所作的工作表現出發自內心的興趣也要給與含蓄的表揚,為消除所有影響他們戰鬥力的障礙盡你的力量。表彰是展示組員以及小組外的其他人的一種方式――你要知道並感謝他們為小組成功所作的貢獻。學習過去你的小組在過去承擔的一些項目有可能沒有取得完全的成功。甚至在成功的項目上,我們也能經常認為一些事情我們下次會作得更好。當你進入了新的領導角色,需要花點時間了解早期的項目為什麼失敗,並要計劃避免犯同樣的錯誤。對於軟體開發,每位經理花時間處理每種可能要發生的錯誤是非常困難的,學習過去的成功和失敗就是個成功的開始。可以從過去你們小組承擔的一個沒有經過檢查評估的項目著手,不要管其成功還是失敗,實施項目後的回顧(有時稱作事後調查分析)。你的目標不是判定責任,而是為了在將來項目中作得更好。藉此,可以了解什麼已經作得很好,什麼應該作得更好。在當前每個項目的主要里程碑時,通過集體討論或公平的組織者,用同樣的方式,領導小組用頭腦風暴的方式對其分析。另外,要了解領悟已有的軟體工業的最佳准則。一個好的起點是SteveMcConnell的JoltAward獲獎作品:快速開發(RapidDevelopment,MicrosoftPress,1996)的第三部分,敘述了27個最佳准則。也要避免McConnell敘述的36個常見的軟體開發錯誤。你的組員也許反對新的工作方式,但是你的角色是作為一名領導,要確保團隊一致連續地使用最佳可用的方法、過程和工具。積極促進組員之間的信息共享,這樣局部單個最好的實踐經驗就能成為每個開發人員的工具箱的一部分。建立改進目標一旦你對過去的項目建立起了回顧,確立了質量對小組的意義,你就要建立短期以及長期改進的一些目標。目標要盡可能量化,所以你要劃分幾個簡單的階段,標明你是否採取了適當的過程朝著目標前進。例如,如果你認定由於需求的不穩定導致項目經常延期,你可以建立一個改進需求穩定的目標,在6個月內提高50%。這樣一個目標需要你確切知道每周或每月需求的變化數,清楚他們的出處,採取行動控制那些變更。這可能要求你要改變與那些提交需求改變的人的交流方式。你的目標和階段是軟體過程改進程序的組成部分,你要使之有序。作為缺乏創造力的官僚主義的最後避難所,輕視「過程」很流行。雖然事實上,每個小組都能找到改進其工作的方式。當然,如果你總是用已有的工作方式工作,你也就不要期望你會得到比以前更好的結果。有兩個強烈的原因要求改進過程:校正問題,防止問題。確保你的改進努力要圍繞著已知的或可預知的可能威脅項目成功的問題。領導你的小組找出當前正在使用的方法的長處和短處,以及項目面臨的風險。我的小組召開了一次「兩段式頭腦風暴」練習,來確定改進軟體生產力和質量過程的絆腳石。在第一次會議中,參會者在便條上寫出他們關於會議主題的想法,一個便條一個想法。組織者將他們寫在便條上的想法收集上來並分組。最後,我們就會得到一打主要的分類,並將其記錄到活動掛圖上。第二次會議,相同的參會者在便箋上寫出解決這些障礙的思路,並貼在掛圖的合適位置。進一步細化,歸納出一些詳細的活動,就可以成為我們努力的一部分,清除障礙,幫助組員實現軟體的質量和生產力的目標。建立可度量和可達到的目標,便於你集中精力實現改進。要使目標具有明顯的優先順序,並可周期性地監視過程。記住你的目的是,提高你的項目和公司完成的技術和業務上成功,不要滿足於一些過程改進書籍里提到的期望細節。要把改進的工作視為迷你項目,具有可分發、資源、計劃和有責任的小項目。否則,過程改進活動將總處於比誘人的技術工作低的優先順序上。緩慢的開始這篇文章提供了許多建議,幫助你,一位軟體經理新人,帶領你的小組走向偉大的成功。在日復一日新的工作壓力面前,要努力保持你的頭腦清醒。在長時間的塑造軟體開發小組的文化和習慣上,你還是個非常重要的角色。你不必一次性都作完,可以選擇跟環境最相關的的幾個開始。作為軟體經理,除了項目要按時按照預算完成外,你要擔負的責任還很多。你還要:領導技術人員,將他們形成一個具有凝聚力的團隊;建立協同團隊工作的環境;鼓勵和獎賞高級軟體工程師的實踐應用;平衡來自客戶、公司,組員和你自己的需求。這是項重大的任務,祝你好運。
Ⅶ 怎樣做一名高效率程序員
1、理解編程語言的原理
三流的人才懂應用,二流的人才懂開發,一流的人才懂原理。各種語言之間存在著相似的地方,掌握語言的原理是必不可少的。最重要的,讓語言去適應項目,反之亦然。
2、向優秀程序員學習
你有一個蘋果,我也有一個蘋果,我們交換蘋果,你我還是有一個蘋果;你有一種思想,我也有一種思想,我們交換思想,你我就有了兩種思想。
與優秀的程序員為伍,你將吸收的最實用的經驗,這遠比你一個人自學、死磕編程來的快一些。有一句話說到好,與臭棋佬下棋,棋會越下越臭。不可否認這樣一個事實:和什麼樣的人在一起,就有什麼樣的格局,就會有什麼樣的人生。
3、了解數據結構和演算法
如果你要成為一個高效的開發者,就必須學會快速排序、學會辨認O(n2)程序、學會編寫遞歸函數。
學會多種語言,你便會更清楚不同的框架是相同問題的是如何解決的。盡可能去了解底層命令(plumbing),以便能夠作出明智的決定(Web框架是怎麼存儲session狀態的?Cookie到底是什麼?)。
4、精通一個編輯器
高效開發者通常是用IDE編輯器嗎?其實不是的,他們更常用的文本編輯器,因為這樣更會學到東西。
如果使用編輯器選擇通用的Emacs或Vim,自然是最好的。其次,挑選你的首選平台最支持的。使用宏,不斷地寫代碼;使用Visual Studio或SublimeText的自動補齊功能。
5、整潔的代碼勝過巧妙的代碼
如果想讓別人可以輕松讀懂你編寫的代碼,請盡量使用最少的代碼來完成任務。在編寫代碼過程中,遵循DRY(Don』t repeat yourself)的原則,使用明確定義的對象和庫,將任務分解成小而簡單的代碼段。
6、掌握代碼調試技巧
現如今市場和需求變化相當快,項目的周期有時就會縮短。一個月的工作計劃,會縮短到2個星期。項目的壓力難免會導致程序員的代碼質量會有所下降!
因此,調試技巧在這樣的環境下就顯得尤為重要。高級程序員會在函數的開始和結束輸出Log,把所有的參數和返回值列印到日誌系統,便於追蹤。在解決問題的過程中,使用開發工具一行一行進行調試,實時觀看參數的變化。
7、重新回顧代碼
重新去回顧和審視自己寫過的代碼,通常會有兩種體驗,一種是我怎麼寫了這么爛的代碼;另外一種則是對自己寫過的代碼充滿了成就感。回顧代碼有時可以觸發我們新的想法,甚至還能對編碼有一個更深層次的思考。
Ⅷ 程序員業余賺錢致富的10種方法
1、程序員可以利用GoogleAdsense將廣告發布到你的網站上去,通過訪客點擊廣告來賺取傭金。寫一個網站對於程序員的你應該不難,網站放上Adsense廣告,推廣、引流、收美金。
2、AndroidApp交易市場賺錢,程序員可以開發一個Android應用,並不是靠開發這個應用來賺錢,這個應用可以是免費的,但是你可以在這個應用裡面投入廣告,來賺取傭金。
3、對自己實力有信心的程序員可以參加一些開發者大賽得獎,拿獎金,只賺不賠,不過前提是你得有足夠的實力。
4、承接項目,但是這要花費很多時間而且還要考慮這個項目做下來是否和你花費的時間精如辯力成正比。是否能得到一筆相當的工資。這種周期比較長,做之前要考慮清楚。
5、刷機、越獄,現在大家都是用智能手機了,有些用久了,卡了,像電腦一樣要重裝系統,普通人就算可以在網上搜到刷機教程,但也不一定刷的好,並且還可能花費他很多時間,這時他可能更願意找一個專業的人,盡快處理這些事,你可以藉此開展刷機業務。還有iOS的越獄,這個需要你對iOS的操作非常熟悉。你可以將此業務掛到淘寶上,幫助買家實現他們要的功能。
6、做一名優秀的計算機駭客,比如幫助一些企業提高計算機網路的安全性、找出他們的bug修復,並做一些抵禦攻擊的積極措施等。
7、寫評測DevStore專門收集各種開發者評測,程序員花幾個小時測試下,然後寫評測,如果文筆好的話可以大賺一筆。
8、兼職論壇大神,有些開發者論壇會專門聘請一些專業人士,專門回復論壇各種小白問題,提高論壇的專業度,這個也是一個穗塌不錯的賺錢方法。
9、做博客,沒事寫個博客,開個論壇,招幾個編輯幫你維護著。平時在編程過程中有什麼心得感悟什麼的都寫下來,不知不覺網站流量就上來了,你就可以投廣告賺錢了。
10、投資,做好前幾個,你賺到一定的錢後,你可以去投渣族缺資,當然不能盲目投資,也要學習。