① 如何從初級程序員過渡到中高級程序員
在程序員圈,一直流傳著這樣一個傳說,用發量來判斷程序員的級別,這明顯是種調侃。那麼,中級程序員,相對於初級程序員,有哪些不一樣的特質呢?
總得來說,比較於初級而言,中級程序員在執行層面屬於攻堅力量,他們不僅能獨立完成高檔難度的開發使命,並且在用戶體驗(質量提高)和功能優化(優化效率)都能作更全面的考量。
以下,是小編總結的關於中級程序員七大特點,各位可以對號入座。
(一)善於溝通
程序員內向的居多,喜歡交流的很少,但中級程序員往往能夠克服自己的內新的恐懼心理,多和同事交流。
甚至有管理者認為,程序員應該80%的時間,花在同事的交流上。不僅是部門內的同事,也還包括跨部門溝通,敲代碼的需要經常與產品經理、運營的同事溝通需求。
日本不少跨國公司,甚至有讓程序員去體驗幾個月銷售員的傳統。公司要求,程序員在敲代碼的同時,也要能夠理解一線用戶的需求。
交流對於初級程序員了解技術的發展,也相當有好處:讀讀博客、學學新語言和框架、討論討論話題、看看同行在做什麼。自掃門前雪,很難成為一個優秀的程序員。閉門造車型的程序員終將被時代的潮流所淘汰。
(二)對編程有激情
有些程序員干這一行只是為了掙錢,如果有更好的職業,他們會毫不猶豫的辭掉程序員的工作。
能夠順利晉升為中級程序員的人,往往熱愛編程,喜歡鑽研代碼中的問題,他們感到能指揮電腦來幫助人們和自己解決現實生活中的問題是一種神奇的能力。當遇到問題無法解決時,他們會茶不思、飯不想,無法入睡。
每個人都有心理上的舒適區,但是中級程序員,會不斷地突破自己心理上的舒適區。
他們很樂於經常去研究沒有接觸過的代碼,也正因為這樣,成長速度快的中級程序員會越來越熟悉不同的代碼結構和設計模式。
(三)精通代碼調試
幾乎所有的程序員寫代碼都不是一遍就能寫好的。精通代碼調試 ( debug )很多人在寫代碼的過程中,經常會有的一個問題就是:為什麼我寫出來的代碼不能運行?為什麼運行的結果不是我想要的?
中級程序員非常快的就明白自己代碼的問題可能是什麼。代碼調試是一個很重要的能力,但是偏偏學校里不教,面試的時候考官也不經常提及。那麼怎麼去調試代碼呢?
代碼調試是有一套方法論的。最簡單的就是在代碼里輸出日誌來判斷,復雜一點則需要去接觸一些高級的工具,或者直接帶有 Debug 功能的編輯器。
(四)主人翁精神
部分初級程序員剛入行,可能還沒有進入狀態,往往認為自己是打工者,以打工者的身份和心態工作。
中級程序員卻會把自己當成企業的主人,他們知道企業的利益和自己休戚相關。
成熟的程序員明白一點,作為一名優秀的企業員工,自己是生產者而非消費者。他們心中一直想得是自己能夠為公司,為顧客創造什麼價值,而不僅僅只想著待遇。
(五)工具型思維
中級程序員知道如何能更高效的完成任務,如何更能有效的解決問題。其原因是工具型思維,如同荀子所言,「君子生非異也,善假於物也。」
Facebook 前技術總監 Bobby Johnson 說,高效率的程序員都把時間花在製作工具上。很多人也認為工具是很重要的,但是他們並沒有花時間去製作、整合自己的工具。但是,Jonson 團隊最出色的員工耗費了他們 1/3 的時間在工具製作上,這些工具可以用來發布代碼,監控系統,以及能讓他們花更少的時間去做更多事情。
中級程序員遇到問題時,不鑽牛角尖,善於利用外部工具解決自己的問題,特別是能熟練應用搜索引擎。
(六)刻意練習迭代速度
魔鬼在細節上,如果一個程序員想要提高自己的工作效率,就需要他能夠不斷地在細節方面,進行微創新,提高效率。
舉一個例子,假設一個初級程序員,每次要花 12 秒鍾去搜索某個函數是在哪裡定義的。如果,他每天做這個動作 60 次,就要花 12 分鍾去搜索函數定義。
中級程序員會選擇用一個好一點的編輯器,每次找到函數定義只要 2 秒鍾,那麼他每天將節約 10 分鍾,每年節約 40 個小時。如果能夠找到 3 個這樣的場景去優化一下,那麼對於中級程序員來說,每年可以節約一個月的時間。
(七)系統學習
學習是要有方法的,尤其是在職場中,程序員的自我學習要符合兩點要求:一是有結果;二是高效。因此,系統性學習,非常重要。
高級程序員系統學習指南如下:
第一步,源碼分析。看看大牛是如何寫代碼的,提升技術審美,提升核心競爭力。
第二步,工程化。工欲善其事必先利其器,不管是小白,還是資深開發,都需要先選擇好的工具,提升開發效率和團隊協作效率,讓自己有更多的時間來思考。
第三步,分布式。從深度到廣度的完善自己的知識體系,准備迎接高並發大數據的挑戰
第四步,微服務。繞微服務的通用模式,學習spring Cloud的常見用法及原理,讓微服務的開發更加方便 快捷,讓微服務應用更加穩定 可用。
第五步,性能優化。從JVM底層原理到內存優化 再到各個中間件的性能調優,做最科學和最嚴謹的性能調優。
第六步,並發編程。深入了解底層原理,不只是做一個開發者。
第七步,積極參加大牛的分享。
(八)總結
可以理解,對於初入職場的程序員來說,他們在內心也知道學習的重要性,但因為沒有時間,被老闆的需求給填滿,沒有精力去提升自我。
然而,根據人類的學習曲線來說,任何一門新的技藝,都是一條對數曲線。其分為兩個階段:緩慢期和高速發展期,即初期很慢,後期進展迅速。
如果,能夠讓程序員在剛進入職場的時候,便擺脫初級程序員的桎梏,直接擁有中級程序員的實力,是不是就能跨越學習曲線的緩慢期呢。
知名IT教育機構傳智播客已開通了中級程序員課程,發布了全新的項目,想學習的小夥伴抓緊
② 程序員,如何少走彎路,成為一名技術專家或者架構師
#1 專業技能
@首先當然基礎知識要扎實,一些經典的專業書籍一定要看。比如,設計模式,演算法,數據結構,所在領域的編程語言的專業書籍等.關於不同的能力階段,需要讀取什麼類型的書籍,請參考ThoughtWorks(中國)程序員讀書雷達,每年都有更新。
@作為架構師,review別人的代碼並給出合理的建議是基本功,比如變數或者方法命名的規則;所以代碼大全,重構,改善既有代碼的設計,Clean code 等等肯定需要看。
@ 對於某一個技術領域或者業務領域,一定要有一門技術是精通的,因為這樣你才能體會到以後遇到自己不懂的技術的時候,如何能夠快速成為這一方面的行家。
@ 平常有時間一定要多多進行代碼的訓練,也就是Martin Flower常說的Kata練習,這個比喻來自於跆拳道,跆拳道選手一般每天都會找一些基本的招式,進行反復的練習,從而訓練肌肉的條件發射,那麼對於我們程序員來說,一定也要進行持續的編程訓練,比如上面提到的那位同事,給的建議是,雖然把大部分時間花在了溝通和協調上面,沒有機會寫代碼,但是自己一定要利用業余時間,自己找一些例子來聯系,比如,參與開源項目,或者到網上去搜索一些大師的經典Kata聯系的例子;或者看工作裡面是否有一些小工具,是否能夠提升自己的溝通效率,當然已經天天寫代碼的童鞋們除外。請參考我轉發的另外一篇文章和另外一篇介紹能在線練習Kata code的文章.
@ 最好能夠在精通一門語言的基礎之上,學習其他的語言,從而站在一個更高的角度,對於程序語言有一個更高層次的抽象認識,比如,學了java之後,可以學學Ruby,Groovy,C#等等,其實語言之間都是相互借鑒的,比如Lamba表達式,連java也慢慢的向函數式編程方向靠攏。
@ 如果有時間,一定要自己維護一個博客,既然選擇了架構師,就決定了自己以後不僅僅是一個技術專家,同時也要成為一個佈道師,為企業組織或者社會上的其他IT同行們貢獻自己的一些微薄之力。
@ 多參加一些社會上舉辦的軟體專業會議或者活動,了解當前比較流行的技術和框架。
@ 這條不提倡,我以前有一個同事,幾乎每年都要更新簡歷1~2次,目的不是真正的換工作,而是通過面試得到當前市場上大部分公司正在使用什麼技術和框架。對於這條,請慎用!!!!
@如果有結對編程的機會一定要好好珍惜,特別是和高手大拿一起結對的時候。
@如果大家上面都已經做的非常的好了,這個時候可以看看架構設計方面的書籍,比如企業應用架構模式,架構之美等等。
@ 去51Job上搜索架構師這個職位標簽,看看不同行業的企業對於架構師的技術要求和標准,然後結合自己當前所處的行業和你自己的技術特點,比如擅長前段或者後端,有選擇性的學習一些自己感興趣的技術或者方法。
@ 關於常用的網站,沒有定論,筆者主要是根據搜索的結果去發現適合自己的網站,所以需要讀者掌握一定的搜索的技巧,筆者一般喜歡用英文搜索,這樣的話資料比較全也比較新;如果下載電子書的話或者查看博客的話 一般會首選CSDN;如果是解決工作中的問題的話,在StackOverFlow上面被解答的概率是最大的,此外平常自己也需要去積累一些自己感興趣的技術的人氣比較旺的網站列表,比如一般和Window相關的就是MSDN;如果對Java入門比較感興趣,可以看看這個網站。對於一些開源的框架,一般都會有想對應的社區,google一搜索,很快就能找到。另外一個德國人寫的博客的非常的精緻,如果對Eclipse插件開發特別感興趣的朋友們可以去參考它。
@大家如果時間和精煉允許,最好能在Github開源和分享自己平常寫的代碼。這樣一方面可以熟悉git用法,另外一方面也可以把自己平常練手的代碼免費保存,何樂而不為呢?
@如果大家平常遇到什麼問題,可以到StackOverFlow上面去尋找答案;當然,如果你能自己注冊一個StackOverFlow賬號那是最好不過的,這樣不但可以提問,還可以幫助別人,同時上面還有很多工作簽證的工作機會。
#2 軟技能(現代社會,一個合格科學家不僅僅是某一個行業的技術專家同時也是一名專業的社會活動家)
@遇到問題,一定要多想,遇到一個問題,如果解決了,就要反思為什麼能夠解決,如果以後遇到類似的問題,
如何更快速的解決。
@英語的重要性,不言而喻,因為現在很多新技術的框架的中文文檔非常的少,即使翻譯成中文,也是二手的了(國內自己的開發的一些開源框架除外)
@ 有時間的話,看一些溝通方面的書籍,如果有參與溝通的機會的時候,一定要想如何把溝通做的更好更舒暢。
@ 如果有機會的話,可以參加PMP的考試,關於如何備考PMP,請大家參閱另外一篇文章:如何備考PMP,但是如果不想參加的話,也沒有關系,至少要涉獵到項目管理方面的書籍,否則以後如果成為架構師之後,客戶或者管理者給你說一些項目管理上一些專業術語時,到時候就會一頭霧水。
@架構師其實從某種意義上就是一種角色,而不是一種職位。一定要時時刻刻保持空杯心態。
@一定要有一顆保持飢渴學習和耐得住寂寞的赤子之心。
@當前的技術節湊是非常快的,特別是結婚以後又有小孩了。一定要好好的利用自己碎片時間,對於一些技術,當時讀不懂不要緊,但是一定要記住和了解其關鍵詞,這個主要是為了拓寬自己的視野。比如,當前你想自己開發一個系統,結果已經有一個開源框架實現了,而且還很穩定,這個時候,自己就沒有必要重復發明輪子了。
@與不同的技術、編程語言、設計模式和結構等(甚至是它並沒有在日常中給予你直接的幫助)打交道。你永遠都不知道這些知識是否會在未來派上用場,但是對你絕對是有益無害。
@在工作中,能夠幫助到別人解決技術難題,一定要盡量全力以赴,因為這不但可以贏得同事的好感和口碑,同時也能增長你解決問題的經驗和提高你的技術思維能力
@ 一定要掌控好自己的時間,對工作沒有幫助的會議,能不參加盡量不要參加,當然,企業安全,公司規章制度如果是強制性的,該參加還得參加,但是如果沒有工作效率和扯皮的會議,盡量避免參加。
@程序員要耐得住寂寞,要在自己的領域深挖,不能看啥火,就學啥,一定要有自己的想法和判定,如果決定不了,可以向資深的同事或者朋友溝通。
@盡量參與到項目中的編碼,因為架構師不能與項目脫離。
@ 如果有機會可以鍛煉一下自己在大眾環境下的演講和PTT的能力。
@有機會多做知識分享,因為你一旦分享了知識,你就會對這門技術有深刻的印象,同時也能樹立在同事中的良好的技術形象,從而贏得更多的專家影響力而不是職位影響力。
上面只是我當前能想到的,知易行難,知道了上面的一些經驗,並不代表年輕程序員們就能馬上成功,畢竟這需要一個鳳凰涅槃和實踐的過程,但是肯定能幫助有志於於此的年輕程序員們少走一些彎路,限於筆者水平,如有總結不恰當或者不到位的地方,還望批評指正。
③ 程序員怎麼升職
1.大公司:打下手---代碼工--- 程序員---項目組長---項目經理
2.小公司:代碼工---程序員---項目組長---項目經理
雖然小公司容易成骨幹,但項目組長拿的錢也行沒有大公司程序員的高
也許很多程序員都碰到過,自己的技術能力已經很棒了,可還是無法升職,其實程序員要晉升到管理層,不僅僅要技術好,溝通、應變力和為人處事也是非常重要的。
1. 大膽的說出自己的想法
大多數程序員都不善言辭,溝通能力不夠。而一個正常軟體項目開發,都是團隊合作模式,同時也是按照用戶的需求進行分析梳理。如何很好的獲取用戶的需求,並與用戶及團隊內部之間溝通,是工作能力突出的重要的一環。平時,多與周邊的同事溝通,周末多參加戶外活動,努力的將自己圈子打開。平時多發表自己的看法,不用擔心會受到批評,說出去才是關鍵。
2.要注重細節
公司團隊里很缺乏一個項目助理,然後不得已選了一個程序員小伙,讓他兼職管管樣機、發發通知,這個小伙絲毫沒有怨言,除了自己的代碼照常寫的非常穩妥之外,這些小事也處理的非常好,每天加班加點也要完成。後來沒多久他就當上了主管。一個有能力把小事做到極致的人,也必定有潛力把大事做好。
3.聽取別人意見,取別人長處
人都會犯錯,一般犯錯的時候領導會直接指出來,有些人每次聽完之後都會去反駁這些理由,而且還覺得這並沒有達到自己想要的,然後他交上來的東西依然沒有任何改變,而有些人都會說:我以後會注意「、我會按照您的要求去執行、這是我的想法不知道您覺得如何。然後接下來就看到他的改進。
一般領導在明確指出你的錯誤,不管是耐心的說教還是嚴厲的批評,你都應該抱著「有則改之無則加勉」的心態,如果你要反駁,就需要准備充分的理由和依據。
面對領導的意見,要弄清楚其准確意圖,然後實施針對性的改進措施。這就是團隊里的游戲規則和生存之道。即使不是領導,是平級和下屬,也應該採用類似的心態和應對方法。
4.不斷提高自己的技術
一般程序員都會有自己的職業規劃,在什麼樣的年齡達成什麼樣的成就或者技術水平的一個整體提升,目前從技術提高的曲線來看,新手的技術提高速度最快,無論從時間還是急迫性兩個方面對新手的壓力挺大的。而到了成熟階段,其編程時間也大大縮短了和學習技術的迫切性也降低了,所以技術提高速度就慢下來許多。所以,你需要時刻看看自己的技術發展之路,哪些走的比較踏實,哪些走的比較急促;哪些是自己的技術特長,哪些是自己的技術薄弱環節。反思後一定要抽出時間抓緊學習,把自己的技術上明顯不足的地方給補上,這樣程序員的技術水平加上豐富經驗和工作能力會使得自己更加具有實力,可以應付各種挑戰,為今後的發展鋪平道路。
④ IT公司的項目組入職了新的程序員,如何帶好這些新員工
不少軟體開發團隊每年都有新的開發人員要加入,其中以初級程序員居多,要想讓這些初級程序員能夠快速融入開發團隊並實現價值,需要從以下三個方面入手:
第一:以開發實踐能力進行人員劃分。 新入項目組的准程序員往往有兩種情況,一種情況是剛剛走出大學校門的計算機專業畢業生,另一種情況是自主學習通過面試的非計算機專業畢業生。這兩種准程序員在進入崗位之前可以根據實踐能力進行人員劃分,實踐能力較強的可以直接安排進項目組中,而實踐能力較差的准程序員則安排到實習崗位上。按照 歷史 經驗來看,不少實踐能力較差的程序員如果直接安排到開發崗位上,往往會導致其放棄這份工作。
第二:老帶新。 按照 歷史 經驗來看,讓程序員快速成長的方式無非就是通過實際項目的鍛煉,對於學習能力較強的程序員來說,如果有專人指導的情況下會很快融入到開發團隊中,有的程序員在一個月之內就可以完成功能模塊的開發。老帶新的原則有三點,其一是軟體開發團隊所使用的技術結構要交代清楚;其二是軟體開發過程中所使用的開發工具和開發流程要交代清楚;其三是給出具體的參考案例。
第三:安排清晰的工作任務。 對於初入項目組的開發人員來說,由於其自身的專業知識積累還比較少,在項目理解力上還有待提高,所以在安排具體開發任務的時候一定要詳細,越詳細越好,同時要給出明確的功能邊界,防止出現不可控的事情發生,比如哪些數據是不能動的,哪些功能和資源是不能調用的等等。有的時候「無知」是最可怕的敵人,不少初級程序員進行的「刪庫」等操作都是在「實驗」的心態下完成的。
如果有互聯網、大數據、人工智慧等方面的問題,或者是考研方面的問題,都可以在評論區留言!
我是程序員出身,現在也管理著一個項目,手下最多的時候也有十幾號人;但是說實話,在管理方面,我還是比較欠缺的,我也一直在學習和摸索;當項目組入職了新的程序員的話,我經常會這樣做:
先溝通,大方向要保持統一
每當項目組入職了新的程序員,我會第一時間和他們溝通,主要讓對方快速地知曉項目的基本信息,並了解我們大的方向、觀點、風格,我是希望在某些地方能和組員保持一致,例如:
制定計劃
下面就要給新人制定計劃了,這一點在前期很重要,否則新人就會面臨無事可做的尷尬;
安排開發任務
通常,我們一兩周後就會給新人安排一些開發任務,當然這個過程也是從易到難:
代碼檢查
對於新人,代碼檢查一定要做;如果是工作時間段的新人,每一行代碼都檢查一遍都不為過。
最後,我會給新人一些成長方面的建議,讓他們覺得在這個項目中能學到東西;畢竟我沒有權利給他們漲工資,只能通過這種方式留住員工了。
我將持續分享Java開發、架構設計、程序員職業發展等方面的見解,希望能得到你的關注。
建議從以下幾方面考慮:
1、人員能力考查和培養。人員的能力參差不齊,需要根據崗位進行有目標的培養;
2、業務技能提升。想把工作做好,不了解業務,不理解自己做的東西,早晚要出現與預期偏差較大的情況。
3、工作態度和心態的培養。
4、盡早了解項目內容和項目團隊,將人員在項目中的定位和需要的技術提前告知,告知項目計劃和提示工作的難點。
5、組織一點團隊活動,早點融入項目。
第一:熟悉你們開發工具、開發環境、運營環境……
第二:熟悉上下開發工序對接組別和責任人……比如開發該項目的前端、後台、測試等不同組別以及其他開發外項目組外的不同部門打交道的人員。
第三:項目說明書、整體功能、進程,所負責的分割模塊……要完完全全提供出來。
每個人都是從新人成長過來的,在我工作的五年間也帶過很多新人,最近剛好有個畢業生來公司實習,領導讓我帶,這邊就分享一下我具體是怎麼操作的(開發的角度):
總而言之,帶新人還是比較累的,對大部分公司而言,技術要求並不是很高,所以新人真的比較難上手的不是技術,而是業務和表結構邏輯的不熟悉,作為新人,公司的打算就是從零開始培養,因此基礎並不是最重要的,學習的態度才是公司看重的。
以上為個人觀點,歡迎在評論中發表自己不同的觀點,喜歡的加個關注,謝謝。
以十人以下的團隊來說一下。首先是和員工相處好,其實這一點做到並不難,就是正常的相處,怎麼愉快怎麼來(當然不能壞規矩)。我做的最大尺度一次是這樣:有個畢業生干著干著就哭了,一問之後知道直接原因是程序員的工作內容和自己原來想的不一樣,主要原因是剛到北京體會到了巨大的壓力。當時我就拉著她到對面肯德基去坐會了,點了飲料和薯條,聊了一下,順便開導開導她,舒緩一下情緒,這事就這么解決了。其次,作為領導請安排劃分好工作內容,不要頻繁變更,否則影響威望值。這也是保證工作可以順利開展的基礎。安排工作時請考慮員工的能力和經驗,還要考慮員工的興趣,這點也很重要,很大程度影響積極性。
在小團隊中只要工作能順利完成了,一般問題就不會很大了。其它:可以觀察一下每個人的喜好,然後看機會適度的介紹這方面的內容。比如我就專門給一個員工培訓過數據結構,而她也很願意介紹自己認識的人來工作,雙贏的結果。員工做好的地方及時表揚,自己做錯的地方及時承擔責任,等等。總之將心比心的對待員工,小團隊還是好帶的。
教會徒弟,餓死師傅,等你教會他們,你就該退了,理由:你三十多,奔四了,負擔大,不能加班,養不起你!中國現狀,保留必要絕活,留幾招吧!為養家!
先讓他做點小項目,鍛煉一下,把以前已經完成客戶的項目拿出來給他做,練手,看看功底如何
如果功底好,則主要鍛煉他的思維能力
如果功底不好則多鍛煉他的技能
首先是能力要過關,之後就是交流要能順暢,其他的問題都不是問題,只是經驗和熟悉而已。
⑤ 程序員駐場開發引進IT人才的外包流程是怎樣的呢
程序員駐場開發引進IT人才的外包流程:
企業提出用人需求:如人數、崗位職責、入職條件等;
雙方簽訂框架協議:用人單位與IT人才外包公司簽訂服務框架協議;
推薦候選人面試:IT人才外包公司推薦候選人前往用人企業面試;
新人簽訂勞動合同:面試合格的候選人如果是新員工,將與IT人才外包公司簽訂勞動合同。如果是其他項目轉過來的,面試合格後就不用簽合同了。
IT人才外包公司
提供現場開發技術服務:面試通過的軟體開發人員到客戶指定的現場提供開發服務,IT人才外包公司定期開展員工關懷。
按月支付服務費:用人單位按月支付服務費,直至人才外派服務結束。
以上是唐普多年IT人才外包經驗的總結,希望對你有幫助!
⑥ 程序員該怎麼提升自己的行業競爭力
要想成為一名優秀的程序員,你需要具備以下幾個能力,你可以不同時具備,但是這都會是你程序員生涯中的加分項。
1.解決問題的能力
普通的程序員拿到一個項目模塊時,他們就開始編寫代碼。但是對於那些會被標記並通知團隊領導或項目領導的問題代碼,成功的程序員會試圖尋找它的根源。因為項目需求已文檔化項目開始之後,或者項目完成之後,總會出現一些問題。所以有必要在問題出現之前找到它。此外,也要盡快找到解決問題的方法。
2.調試技能
程序員是編寫代碼的,當軟體出現問題時,要能夠快速有效地解決。
因此,在開發程序時,編寫一個適當的流文檔,這樣可以非常快速地研究代碼,並盡快找到問題。通過編寫一個適當的文檔,可以快速地調試程序,從而節省不少時間。
3.願意學習新技術
技術在不斷的更新,以往學到的和掌握的東西很快就會過時。因此,作為一名程序員,需要更新自己的技能,走在技術的最前沿。市場上出現的每一項新技術,通常由一些變化的流程和語法組成,而基本邏輯是一樣的,所以掌握它還是比較容易的。
4.願意研究
編程語言只是成功拼圖的一部分,優秀而成功的程序員總是試圖在編寫代碼的同時幫助解決業務問題。做到這一點,就需要做一些深入挖掘的工作。
5.「懶惰」得有效率
當項目有大量的任務和足夠的時間來完成,只有懶惰的程序員才會找到更好最快的解決方案,因為他知道如何減少工作量,以便做更多的事情。
如果想找到最好的方法,那就問問「懶惰」的人,「懶惰」的人總是試圖找到最好、最快、最有效的方法。
6.對工作的熱情
程序員的工作時間可能是朝九晚五,當對工作有足夠的熱情時,不要下班了就走,而是直到工作完成為止。這並不是說,如果沒有得到解決方案,就整天無所事事,如果接近尾聲,那就努力完成它。
保持熱情,公司領導會對你表示欣賞,而當處於一個好的環境時,熱情也會增加。
當然,當沒有工作任務的時候,不要只是坐在那裡,可以嘗試開發一些新的應用程序,如游戲、拼圖、聊天應用等,這將有助於使工作更有激情。
7.處理失敗的能力
作為一名程序員,很少會在第一次嘗試中就獲得成功,失敗總是不可避免。所以把失敗當作挑戰,而不是被擊敗的標志。堅持並且有耐心對於編程是非常重要的。
8.臨危不亂
由於項目時間十分緊迫,編程可能成為一種超有壓力的職業。還有一些時候,我們似乎找不到任何解決辦法。一個糟糕的程序員會出現死機或停止工作,但偉大的程序員卻能平靜地處理緊張的情況,然後繼續工作。
9.團隊合作的心態
開發人員總是需要與團隊一起工作,在團隊成員的幫助下,比如設計人員、業務人員、分析師和銷售人員,才可以非常有效地實現最終想要的結果。
而在和團隊一起工作之前,可能永遠不會達到目標。
10.業務的視角
成為一名IT公司的程序員很容易,但有理想的程序員總是專注於業務目標。這能夠讓他超越僅僅實現公司領導對應用程序的想法。只有專注於業務的程序員才能為一個可能提升效率和運營的新項目提出建議。
⑦ 請問一個程序員,怎麼進化到一個項目經理
那得看你是不是有這樣的志向了,如果你的目標是成為項目經理,那麼你現應該做的就是開始關注項目開發的全過程。
程序員和項目經理是兩個工種,這一點你一定要清楚,只有思想先轉變了,人才有可能跟著轉變身份。
程序員是技術工作,主要承擔的是項目中某一部分的具體任務,完成某些需求,去把代碼都敲完,保證測試的時候不出問題,沒有BUG,也就夠了,別的事不用操心,也用不著一個程序員去操心;作為程序員最多就是學點新技術,可以更快更好的完成自己那攤任務即可。
項目經理是管理崗,至少理論上是這樣的,不過現在很多軟體開發工司的項目經理多半也是一個項目組里的技術骨幹,其實這也沒有什麼不行的,只不過想做好項目經理,僅僅懂技術是遠遠不夠的。
項目經理的工作更多的是協調內外關系,確保項目可以按期合格完成。協調則是主要工作,內部 ,需要協調項目組里各工種之間的工作,讓大家可以配合起來更高效的完成工作;同時還要和公司進行協調,比如人員的借調或者資源的調配,瑣事更多一些。
與此同時還要和項目的建議單位進行協調,因為人的溝通是不可能百分百理解的,項目開發更是如此,對於很多細節上的問題,都是應該由項目經理去和建議單位協商的,若溝通不暢後續將面臨著很多設計變更的問題,會耽誤時間與資源。
所以如果你想成為項目經理,在忙完自己程序員的工作之後就多留心去學一些管理方面的知識吧,以備哪一天的榮升之機。