1. 怎樣做一名高效率程序員
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、重新回顧代碼
重新去回顧和審視自己寫過的代碼,通常會有兩種體驗,一種是我怎麼寫了這么爛的代碼;另外一種則是對自己寫過的代碼充滿了成就感。回顧代碼有時可以觸發我們新的想法,甚至還能對編碼有一個更深層次的思考。
2. 作為一名程序員,從事技術管理工作,應該注意哪些事情
應該要注意向團隊之中的前輩學習,因為團隊之中的前輩在編程方面具有很多的技巧可以向他們進行相映的討教,其次,在數據方面一定要認真仔細,因為數據層面涉及到的獲取數據,數據書寫以及數據修改等這些相應的東西都一定要校準,最後在流程方面一定要認真仔細,要多做筆記,因為這樣才能夠去更好的熟悉流程。
在編程這個行業裡面,程序員需要學習的東西非常的多,但是最為重要的東西還是必須要向前輩學習,因為編程的內容和其他行業具有很大的區別,基本上在團隊裡面的前輩擁有著很多的經驗,在編程方面能夠授予很多的技巧性的東西。尤其是針對於公司內部的編寫規范,基本上這些東西都存在著很多非常復雜的細節,所以作為公司的新人首先要做的就是要向公司的前輩請教,究竟哪些東西是不需要去弄的,做好這些相應的東西才能夠在前輩的幫助之下學會自己該掌握的技能,才能夠在有技巧的東西之上,形成自己的新東西。
一名優秀的程序員一定要學會方方面面的內容,更是要再踏入公司的時候向前輩學習相關的經驗,因為只有這樣才能夠讓自己得到更快的成長,才能夠在時間的積累之下,成為一名優秀的程序員。
3. 程序猿考MBA有用嗎
程序猿考MBA有用嗎?可以參考我們學員經驗分享中的解釋:
對自己靈魂拷問:「為什麼要考MBA?」
每個同學考MBA的目的都不一樣,但要有準確的認知:「為什麼我要考MBA?」。就我而言,我普通本科畢業,且成績一般,是一個民營企業的程序員,每天對著機器寫程序代碼。但是我希望我的未來不一樣,未來能夠作為技術管理者,結合MBA的綜合管理知識後能把技術商業化,而不是一輩子寫代碼。——眾凱2022屆交大、復旦MBA提前面試雙優秀雲同學
補充一下:
程序員想考管理類的在職研究生,一般可以選擇MBA和MEM。
MBA是工商管理碩士,比較具有綜合性。
MEM是工程管理碩士,偏技術性管理知識。
一般而言,MBA的學費是要高於MEM的。
不知道題主,在哪個地區。可以咨詢一下當地或者附近地區,有哪些MBA和MEM的院校。有些MBA或者MEM是有關於IT這個行業的專業的。舉兩個例子:
比如交大安泰的非全日制人工智慧MBA項目:
該項目致力於培養理論與實踐兼備,具有國際視野和創新精神的人工智慧領域的高層次、復合型管理人才。該項目對接國家戰略,支撐上海打造具有全球影響力的人工智慧發展高地,由交大安泰經管學院與交大人工智慧研究院合作開辦,匯聚兩者師資力量及行業資源。
或者武漢大學MEM信息工程學院:
培養掌握工程管理堅實的基礎理論和寬廣的專業知識,具有較強的解決實際問題的能力,能夠獨立承擔專業技術或管理工作,具有良好的職業素養的高層次應用型專門人才。
可以從MBA和MEM的院校出發,再去綜合考慮一下。無論是任何崗位都可以往綜合管理崗位或者技術崗位發展,如果已經處在管理層的崗位,那系統性的學習管理類的知識,對未來的發展還是很不錯的。
4. java程序員轉向管理
1.積累一定的項目經驗。
2.適合做管理工作(看個人,首先你的性格是否何時管理別人;其次你的能力是否到達了管理別人;最後是溝通協調能力)
3.機遇(遇到一個大項目,或者正好有項目無人管理,或者項目經理離職等)
關於證書方面,感覺都是浮雲,有證書也未必能管好項目,當然證書可以作為一個敲門磚,讓老闆給你機會。
4.跳槽,換一個新的公司,找一個管理崗位。通常一個公司等機會不如自己找機會,只要你覺得自己已經准備好了。
5. 程序員怎樣才能走上管理崗位
想接受挑戰首先要認識自己,看自己是否適合做管理不防考慮以下幾點:對待問題是否公平公正,是否能夠犧牲自我的利益顧全大局,是否有洞察力,是否能夠了解組員的想法,是否能夠做出正確的決策在沒有條件許可的前提下……另外在該職責裡面有兩個重要的事情要做,一件事情是幫著老闆幹活,另一件事是替組員說話幫助他們爭取相應的權益,所以夾心層的處理方式是處理好承擔與託付,即責任的承擔和信任的建立。
技術管理者的技術不是最資深的,但應該具備專業的能力,並且是某個領域的技術和業務專家,因為一個人的能力是有限的,管理上有所建樹便註定了技術道路上深度有限,但他有自己的技術見解並能夠在需求把控、產品設計、架構設計中給予建設性意見並作出正確的決策,也只有這樣才不會變成空中樓閣的大領導,擁有良好的技術基礎是贏得你的團隊信任的前提,也是自己能夠建設一個可信任的團隊的前提。作為管理者只有得到大家的認可,大家的信任,才能進而營造一個可信任的團隊,使得各個部門之間互信,協調一致。而得到大家的信任作為管理者必須要有一定技術基礎,也只有基於該基礎才能做出正確的判斷力,才能夠確保團隊整體方向的正確性。
建議每個技術人員能夠經歷項目經理的角色,嘗試一下管理團隊,看一下有哪些問題要解決,換一種角度思考你所參與的項目,培養自己的大局觀,大局觀重要性在於能夠讓個體將一個事物分析的更清晰,只有站得高才能看得遠,大局觀對個人而言很重要,擁有大局觀會使個體在把握處理事情上更公正清晰,並更有利於作出正確的決策使得工作向良性方向發展。對於技術學習本身也需要融會貫通、舉一反三,這也是一種意義上的大局觀,所以思考角度決定著自己在其發展方向前進的遠近,不要只是將自己局限於技術細節當中。
認識自己很重要,因為只有自己做了擅長的事情才能夠事半功倍,游刃有餘,改變一個人太難,與其效果甚微的改掉缺點不如發揮自己的優勢。國外有一種創新的思維,認為缺點和優勢其實是相輔相成的,你的缺點正好反映出了你擁有它對應的優點,換一個角度揚長避短,真的就事半功倍了。想一想對於組員又何嘗不是呢,與其說服改變一個人不如知人善用,揚長避短。