㈠ 從事程序開發工作,已過33歲,還能撐多久
我覺得33的年齡不算大。我猜大概工作了七八年。也積累了很多的工作經驗。每天加班到兩點不是一種可持續的工作生活節奏。需要先分析一下原因。
1. 鍛煉身體,勞逸結合,保持頭腦清醒,提高工作效率。
2. 理清楚思路,避免重復勞動和返工。很多加班都是因為時間緊,來不及想清楚就開干。幹了半天發現不對,又重來。所以不管怎麼樣要先想清楚。
3. 及時解決技術債務。在很忙的情況下來不及重構代碼。到處復制黏貼,會讓你的項目越來越難維護。需要建個jira計劃時間來清理代碼,可以讀讀clean code這本書。清理代碼也是在清理思路。
4. 需要和產品經理充分溝通需求,確保需求的一致性,確定需求的重要性和緊急程度,估計需要的開發測試時間。利用jira管理好自己的task。可以嘗試kanban來管理項目和資源。整個小組相互幫助,平衡工作,集中力量完成最重要和最緊急的任務。
5. 學習和沉澱技術,熟練的使用工作中需要的工具。比如intellij比eclipse高效很多,要學會熟練的使用快捷鍵,提高效率。
6. 深入理解原理,可以提高學習新技術的效率。我分享了一些分布式系統原理的視頻和文章,歡迎討論。理解了原理也可以幫你轉型成為架構師甚至cto。或者去做培訓講師。做自媒體分享技術和經驗。至少可以鍛煉你的設計思維,改善你的代碼的設計。
慢就是快,少就是多。
33歲對於互聯網行業中的年輕力量來說,確實算不上小,蔣凡在成為阿里的副總裁時,年紀也就是33歲。但是,我們並不能說33歲的程序員就不行了,對於程序員來說,更重要的還是能力,年齡雖然也是一個參考,但是並不絕對。
就我個人的經歷而言,我肯定是大於33歲的,雖然現在不怎麼寫代碼了,但有些時候還是會上場練那麼一兩下。不說我就比所有人強吧,但是也肯定強過不少人。
而且,程序員是一個不斷學習積累的過程,很多的解決方案也是基於業務場景來設計的,所以,當你在技術和業務上的積累越來越多時,其實你能夠解決的問題還是多過於年輕的程序員的。
33歲的程序員的價值,更多的是在於你自己比別人(特別是那些年輕一代的程序員)強出多少。你可以寫代碼寫得少了,但是你懂的一定要比別人多,而且當遇到問題需要你親自下場的時候,那一定是要破門得分的。
所以,如果你在20多歲的時候,覺得自己年輕,覺得自己學習能力強、技術好,就在學習的道路上三天打魚兩天曬網,那麼到了30多歲的時候,確實就會出現能力不濟、精力也不濟的情況,可能真的就只有早早的改行了。
但如果你年輕的時候不斷學習,不斷積累,其實到了30多歲時,正是你將自己的所學所想用到實處的時候。也不必去擔心你的思維是不是慢了,說真的,只要你學習得夠多,理解的夠多,那麼你的思維就不可能會慢。因此,「改行」至少也是10年後的事情,現在完全不用考慮。
至於身體,30多歲的人肯定是比不了20多歲的人。但是也不是說就熬不了了,就算我現在沒有寫代碼了,但是身處這個行業,不可能說就不熬夜、不加班了。
而且,並不是只有程序員才會熬夜加班,測試、產品、項目實施、運營基本都是在項目緊急的時候連軸轉。這裡面有年輕人,但是也有比我年紀還大的人。曾經我在國外工作的時候,我的一位領導,每年從他手裡批出去的項目資金上億元。但是,每天2-3點都在給發郵件,上班也從來沒有遲到過,那時候他已經50歲了。
看到50歲的人還這么努力,當時還不到30歲的我,真的是有什麼理由說我身體受不了?
當然,我並不是說加班就是正常的,就需要沒日沒夜的工作。我只是想說,我們別把身體受不了這種理由當成了自己懶惰的借口,只要我們是正常人,那麼就應該不需要說我30歲了,做程序員我身體受不了的話。
因此,如果你覺得程序員是你的愛好,是你喜歡的職業,你想要未來做得更好,那麼30歲只是開始。如果你覺得受不了了、累了、堅持不下去了、不再愛了,那確實,可以考慮改行了。
談談我的看法。
本人已步入不惑之年,30歲之前編碼,後十年從事業務咨詢和系統交付。題主這個問題,我結合我周圍的情況談 一下。
首先,關於技術能否可以干一輩子,這個答案我認為是肯定無疑的。雖然年齡大了精力上不去年輕人充沛,但是在這個年紀也不用每天加班編碼了,主要工作是負責架構選型、疑難問題排查、效率優化、新技術跟蹤和預研等工作。我很多還在編碼的哥們兒,都是這種技術專家或者開發組長的角色,從事的就是類似評審,選型,攻堅等工作。
其次,對於題主提的思維邏輯遲鈍的事,我認為還是經驗導致,這個階段,題主除了一線日常工作,得安排一定時間學習編碼的一些方法和技巧,所謂磨刀不誤砍柴工,就是這個意思。框架學習、資料庫知識、構建工具、開發工具、中間件等,都要逐步學習,要是覺得記憶力不好,就做筆記!我本人不算聰明,學東西就喜歡做筆記。
再次,關於總是加班,前幾年由於產出比較低,肯定是如此,後續要多看案常式序和泡泡技術論壇,也可以公司內拜師或者跟小夥伴結對開發,這樣才能提升效率和質量。
最後,要說一句,任何的堅持一定源於熱愛,如果題主熱愛開發,那就努力做下去。如果興趣一般,盡早轉行也不失為一個好的選擇。現在的技術,種類眾多,一個項目或者產品涉及的各種技術很多,所以肯定要不斷學習和深入,還得緊跟潮流才行。
以上就是我個人的一點看法,如有不對請大家指正。
還是早做打算吧,程序員在中國的情況,你是知道的。
先不談職業生涯,你數數頭上的頭發還剩多少,你就知道還能撐多久[淚奔]
雖然我是學機械的,但是畢業後在16年也接觸過JAVA開發,那時候我以為我可以堅持做下去,最終放棄了。程序員吃的是青春飯,生活就是這樣很現實,雖然程序開發工資高,工作環境美好,但是時間久了,就會發現,年齡大了,如果不考慮轉方向,我覺得以後的路可能會難走。不管怎麼樣,趁現在多掙點錢,這樣的話,為以後做准備。加油
要撐就看自己的精神強度,要投入就看自己的未來選擇。
如果你真正熱愛程序開發,不管年齡多大,總是充滿激情,如果你只是簡單的把他作為謀生工具,那不管什麼時候都是煎熬,而且隨著年齡增長,這種煎熬會越來越明顯,越來越刻骨。本來挺好的一個技術人才, 社會 需求量也蠻大,而現在卻被戲稱為碼農,只是我們自己把他給做瞎了,一抓一大把的程序開發,可是精通的,專業的沒幾個,大部分都是蜻蜓點水,而大部分企業也不夠重視對程序的培養,只是簡單的把他作為流水線工人,要年輕能加班,工資少的,使得大部分人的路越走越窄
你怎麼老的那麼快,這就快報廢了,我比你大點覺得自己技術越來越牛逼了,我平時除了工作學習也很注意鍛煉身體,我感覺我能一直幹下去,我編程也有十多年了,正是牛逼的時候。
不好撐了,年紀大了,除非去做主管
㈡ Java開發人員應當具備的哪些基本素質
1、積極,主動性:要主動的去學習,主動的去發現問題,跟進問題,其實很多技術類的問題都不是問題了。這個放在第一位的素質。
2、有風險提前拋出來:做項目肯定有風險,沒有風險項目也就沒有挑戰了。需要每個開發同學能夠主動的發現風險,並提出規避方案,如果沒有規避方案,那提出來也行。
3、區分主次,合理規劃:對於系統中的功能進行核心/非核心、主流程/非主流程、高優先順序/低優先順序的劃分。優先完成出核心、主流程、高優先順序的部分。避免鋪地毯式的一步一步的逐步推進。
4、新的想法打算用在項目中的,自己提前搞demo驗證過:有些同學,包括我自己,都會嘗試一些新東西,例如新框架,新的工具等。但是有個前提,不要在項目開始或者進行中的時候才考慮用新東西試一下,項目一般都是有時間限制要求的。項目一般有預研階段,這個時候,如果有新的想法,可以嘗試做一些例子。為啥要這樣呢?因為新東西有學習成本,這個倒是其次,有些新東西有坑在裡面,因為這個世界沒有銀彈的方案。
5、主動承擔沒人負責的模塊:有些模塊的劃分,可能沒法劃分到具體的人,因為可能是兩個模塊銜接的,這時候,如果時間允許,建議開發同學主動的承擔一些沒人負責的模塊。例如兩個模塊的銜接、整體頁面的安全方案考慮、單元測試的集成、持續集成等。
6、自己負責的部分完成之後幫助其他同事:項目內部人員的技術素質可能是參差不齊的,有些東西可能熟悉的人幾個小時就能搞定,有的可能需要一天時間,這個時候,如果你熟悉一個模塊,而另外一個同事不熟悉,你就可以幫助一下了。
7、代碼注釋充分:由於我們參與的大多是業務項目,有個特點就是復雜。這時候,就需要有充分的注釋,當然是非常必要的環節才加。至於一看就能懂的,那就沒有必要添加了。
8、代碼自測充分,高質量的完成自己負責的模塊:這個必須提一下,開發同學代碼編寫好了之後,需要提交給測試同學進行測試,有時候測試還分幾輪。這時候,bug的情況體現了代碼的質量,而質量的保證,除了經驗和代碼review之外,還需要自己完成一些自測的事情。尤其是主流程必須有,還有就是自己覺得一些邊界的條件下。自測充分之後,後續bug就少,返工就少,討論問題就少,省了很多時間的。
9、暢通的溝通氛圍:項目中有各個角色,溝通必不可少,討論過程中,注重溝通的方式,要做到對事不對人。
10、重構:寫代碼就像寫文章,不是一蹴而就的。需要反復的修改和重構。當你發現代碼重復、類結構不合理的時候,或者自我對代碼感覺不太好的時候,就去重構。
11、編碼前充分設計:編碼前寧可多花時間進行方案的詳細設計,千萬不要一接到需求就進行編碼。提前進行詳細設計,會縮短編碼的時間,也會降低bug的發生。
12、學會換位思考:一個項目是需要多方協作的,不同的人必然會有不同的想法,因為大家的知識積累以及經驗積累肯定不一樣,在大家想法不一致的時候,可以更多的是做個換位思考,先理解對方的觀點,了解這個觀點背後的原因,然後再來反觀自己的想法,同時在互相理解的基礎上,做事情的默契和結果也會有很大的提升;
•在協助中多一些換位思考,多站在對方的角度思考和理解問題,最後大家在協作中能夠實現共贏;
•開發功能之前站在用戶的角度去思考,假如你作為業務用戶,你對這個功能會有什麼樣的需求。
13、責任心:這個放在最後,其實並不是說排名在最後,這個我認為也是很重要的,試想一個沒有責任性的人寫出來的代碼,別人能信得過嗎。寫代碼前要進行深度的思考。寫完後要對自己的代碼進行充分的測試。上線前需要反復確認自己的代碼有沒有問題
㈢ 程序員未來會成為非常內卷式的職業嗎
內卷化在我之前已經有18人將其概念闡述了,在此我就不再重復了。
非常即不平常。我個人認為,程序員已經是或將來也是一種職業,正象各種工程師一樣,是其中的一個普通的職業而已,所以不存在非常之說。
任何職業到了一定時間都會推陳出新,或者說被前進中的、發展中的經濟 社會 淘汰,也是 社會 發展的正常現象。比如,伐木工、個體裁縫師、掏糞工……等等許多職業被 社會 發展淘汰了。
程序員這個職業, 社會 發展到一定階段,也會停滯不前或無法轉化,這也是時代發展的必然結果!謝謝!
1 我對內卷化的理解
網路這樣描述內卷化:指一種 社會 或文化模式在某一發展階段達到一種確定的形式後,便停滯不前或無法轉化為另一種高級模式的現象。最早出自美國人類學家吉爾茨(Clifford Geertz)的《農業內卷化——印度尼西亞的生態變化過程》(Agricultural Involution: The Processes of Ecological Change in Indonesia)。
參照網路的定義和網路其它資料對內卷化的解釋,我認為程序員的內卷化是指:不斷的重復現有的編程工作,無法取得創新性的成績或推動這一領域的變革,在編程這件事兒上很難再更上一層樓。
2 我對本問題的回答如果將這個問題加一個限定,限定為 中國的程序員 ,答案將會是肯定的。未來30年,程序員不會內卷化。
理由一: 當前美國對我們實施技術封鎖,涉及到工業基礎的軟體基本淪陷,猛一看去,遍地是國外產品。因此,涉及到這些國家工業命脈的基礎類軟體在未來的幾十年內我們都要自立更生,自主開發,等待程序員的挑戰還很多,離內卷化還很遠很遠。
理由二: 結合我自身12年 直升機HUMS系統 的科研經歷,我發現我們國內科研人員的編程能力普遍較弱,我自己也包括在內。而有的國外工程師則既是專業領域的大牛,又能將自己的專業知識用程序實現,最終還能成為產品,這種能力不得不服。而我們國內的很多程序員則只會開發程序,對專業又不懂。這就造成了國外同行一個人可以做的事情,我們需要一個小組。這就形成了效率方面明顯的反差。
理由三: 未來,純粹的程序員會越來越少,既精通專業又精通某一程序語言的人會越來越多,也會越來越受歡迎。這樣的模式也是國家在未來30年內急迫的需求,只有這樣我們在工業基礎領域才會以較快的速度誕生越來越多的自主軟體,完成Matlab、Solidworks、AutoCAD等軟體的替代。另一方面,科學技術的發展是沒有止境的,起碼對於我們祖國當前的處境來說是這樣的,我們離內卷化還很遠很遠, 科技 是不斷進步的, 科技 不會內卷化,那麼作為一個科研程序員就也不會內卷化。
第一:目前互聯網行業,高級工作不夠多,程序員的成長在資本家眼裡就不是一項優勢,而是成本負擔。就會直接導致內卷。
第二:有容易寫的程序,也有難寫的程序。程序員慢慢積累到能力的巔峰之後退休了,下面的人就得補上來,每個人都有自己的位置。
首先我們要確認什麼是程序員
會敲代碼的只是coder,俗稱碼農,那種996,過得非人的生活,堪稱「碼畜」,毫無生活可言~
會敲代碼,有編程思想,有業務理解的見解之人請叫他們「程序員」,programmer
分清楚什麼是程序員以後,程序員是不會非常內卷式的職業
即使本人無強烈意願,但是技術更新的迭代也迫使他們往前走,vb、Delphi、pb的程序員不會該轉行的轉行,轉語言的轉語言了。
為了更好的設計程序,必要討論需求及業務是必要的,如果是完全內卷,工作都完成不了,企業還要ta嗎?企業都不要ta了,ta還是程序員嗎?
因此程序員為了自己為了利益,必須是不斷學習及進步的一群人,中國的 科技 興國也在這群人身上。
至於coder,不要拿出來侮辱程序員了
對於未來的不確定性,哪個職位不可以被這樣質疑呢?
例如現在視頻發展越來越火,那麼文字工作者會內卷嗎?
現在新生人口下降,那麼未來教師行業會內卷嗎?
......諸如此類。
在我看來,行業充滿著不確定, 社會 也存在不確定性。
作為程序員或者想從事程序員的人士,現在考慮的不是將來會不會內卷,而是精進技術,多掌握幾門語言。這才是最重要的。
我媽媽在我小時候是名裁縫,那時候學得裁縫這門手藝就可以養活自己乃至家人, 社會 發展至今,工業代替了大部分手工。裁縫這個職業被邊緣化,那麼,我媽媽餓死了嗎?也沒有,媽媽不是裁縫之後,選擇了去賣衣服,因為做裁縫讓她對布料、剪裁等爛熟於心,所以進的貨好,生意也好,和我爸爸倆人把一大家子養活得白白胖胖。
所以程序員未來會成為非常內卷是的職業嗎?你完全不必要去杞人憂天,做好當下的工作,不斷進取,不斷學習,這才是成長之道!
未來這個應該有一個限定,比如說10年,20年,30年。30年我不敢去猜測,但是,未來10年內,程序員不可能成為內卷式的職業,相反,隨著國外對中國技術的封鎖,國內更加需要軟體方面的自主創新發展,軟體開發環境的改變也會帶動整個軟體行業發展的大變革,每個程序員的作用也會變得越來越重要,所以,我認為,未來10年,程序員不會成為非常內卷式的職業。
很高興回答你的問題,我大學學習7年,程序員工作4年了,說一說我對程序員行業的判斷。
現在 科技 的發展可以說是一年一個樣,作為程序員的我們也在不斷的學習新的技術。而人的學習能力和主動性是不一樣的,因為這個會將程序員進行劃分:
第一類:初級程序員。這類程序員會是it行業建設的中堅力量。主要負責基礎軟體和系統的基礎編碼編寫工作,隨著一些中間件和智能系統的不斷呈現,這類編碼工作門檻逐漸降低,工資水平也會降低並趨於穩定。
第二類:中級程序員。主要負責一些新技術的預研和攻堅,並結合業務場景搭建一些中台系統,從而降低公司的開發成本。
第三類:高級程序員(技術專家)。這類人專注於某一個領域進行研究,比如計算機視覺、圖片語音分析識別等。這類人會創造出很多專利性的技術,幫助公司拓展新領域的業務!
本人資深程序猿一枚,我覺得要判斷一個職業是不是內卷式,要從幾個方面來分析:
一、職業的依賴工具。還記得 歷史 書上說過:能不能使用工具是人和動物的主要區別。比如中國歷經5千年的農業一樣,農民這一職業高度依賴農具,農業的發展史實際上是農具的發展史,從刀耕火種到使用鐵器,再到目前部分發達地區的農業自動化,農具一直在變化,。只要農具向更先進化發展,我們就不能說農民這一職業具有內卷性,實際上幾千年來農民一直是向前發展的,而人總要吃糧食,農具(或者農業技術)向前發展是毋庸置疑的。再說程序猿,我們使用的工具就是電腦,相對於農具,電腦這一工具的發展可謂光速,從台式機、到智能手機、各種智能設備都可以歸為電腦這一類,可以肯定的是,電腦只會發展,不會消失,而且會進一步影響我們生活,比如物聯網、比如AI,只要電腦這一工具發展,程序猿這一職業就不會消失,只會向更高端進化,以適應更高級工具的操作要求。
二、職業人群。眾所周知,程序猿無論從學歷、知識還是智力在 社會 人群中是屬於中等以上的。 社會 的發展,是教育發展的推動,作為普遍的受過高等教育者,最有可能保持開放的思維去接受新的事物,只要能夠學習,這一職業只會進化,而不會停滯不前。但是這一過程中,不適應這種發展的部分程序猿會被淘汰,這是毋庸置疑的。
三、 社會 發展趨勢。 社會 的發展本質是 社會 生產力的提高。怎麼提高 社會 生產力?依賴機器!依賴自動化!就像當下程序猿存在的意義一樣,程序猿創造了各種自動化工具,提高了 社會 生產力。只有提高 社會 生產力這一大趨勢不變,程序猿就不會停滯不前,只會不斷進化。
一開始還不是996 coder,若干年之後才見分支,有的人悟性慢,有的人用心專而已,coder 是最基本的付出,連自己的起點都漠視了的匠人怎麼做繼承,內卷也不可怕,反射夠多就需要內卷式的人才積淀出火花,就算是普通的coder,也是信息世界的基石,不尊重民意和基礎的國度在大洋彼岸塌了,就這樣開始在信息磚工上開始新的歧視?
學好python大數據分析和機器學習等,就擁有了改變世界的能力,故好的程序員永遠有發展前途。
本人預計,隨著信息化等技術的發展,市場經濟將被計劃經濟代替,人類將會有更多創造性勞動的時間和休閑的時間。
㈣ 程序員周未有人找他開會是技術提升了嗎
程序員周未有人找他開會不是技術提升了。程序員有時候是一言不合就會開會,各種的需求會、討論會、周例會、分享會、總結會,項目相關的預研,立項,階段總結,試驗准備,試驗總結,定型等,周末找程序員可能是需要確定內容,比如"今天的任務,目前計劃的任務與實際進度是否一致、遇到了什麼問題、需要什麼支持"等。
㈤ 如何查看大型工程的源代碼
首先我不是程序員哈,有個程序員的好朋友,專門咨詢他來回答問題。首先程序員寫代碼的時候,經常會有要閱讀源代碼的時候類似於技術預研、選擇技術框架、接手以前的項目、review他人的代碼、維護老產品等等。可以說,閱讀源代碼是程序員的基本功,這項基本功是否扎實,會在很大程度上影響一個程序員在技術上的成長速度。
而且不同的目的會有不同的心情,會影響到工作的進展,像修復他人的Bug這種事情,類似於沒被掰彎的男猿捏著鼻子給另外一個男人擦屁股,是很惡心的,很容易讓人拒絕的。所以因這種目標而閱讀源碼,往往是欲拒還迎、欲說還休,效率較低。然而修復實際工作中幫別人修復Bug這種情形,十有八九你要遇到,無可逃避。所以,心理調試很重要。
知識准備
在閱讀源碼的過程中,做筆記是必須的。我有這樣的體會,因為代碼不是自己寫的,很難很快在腦子里刻下印記,經常是看著這里忘了那裡,早上覺得弄懂了數據流向,中午吃個飯就忘了。所以,筆記就顯得尤為重要。
㈥ 如何查看大型工程的源代碼
程序員在工作過程中,會遇到很多需要閱讀源碼的場景,比如技術預研、選擇技術框架、接手以前的項目、review他人的代碼、維護老產品等等。可以說,閱讀源代碼是程序員的基本功,這項基本功是否扎實,會在很大程度上影響一個程序員在技術上的成長速度。2014年寫《Qt on Android核心編程》和《Qt Quick核心編程》時,很多內容都是通過分析Qt源碼搞明白的。這陣子研究CEF和PPAPI,也主要靠研究源代碼來搞明白用法。最近工作上要修改已有項目的一個子系統,也是得硬著頭皮先讀懂代碼。總之在開發工作這十來年中,讀過太多源碼了,從源代碼中學習到太多東西了,如果不閱讀源代碼,真不知道自己能否成長起來。寫代碼是從模仿開始的,提高也是從觀摩別人的優秀設計和代碼開始的。所以閱讀源碼至關重要,接下來咱從下列方面聊聊閱讀源碼的事兒。不同的目的會有不同的心情,會影響到工作的進展,像修復他人的Bug這種事情,類似於沒被掰彎的男猿捏著鼻子給另外一個男人擦屁股,是很惡心的,很容易讓人拒絕的。所以因這種目標而閱讀源碼,往往是欲拒還迎、欲說還休,效率較低。然而修復實際工作中幫別人修復Bug這種情形,十有八九你要遇到,無可逃避。所以,心理調試很重要。為了學習去讀源碼,這是最愉快的最放鬆的。不過提醒一點,設定可檢驗的目標才會有收獲,否則就會像走到大街上看見一美女擦肩而過那樣,驚艷一下下,過後嘛關系嘛收獲也沒了。其他的目的,重構舊代碼、添加新功能,比幫別人擦溝子(陝西話,屁股)略強,因為他帶有創造性,創造性的活動能給人帶來強烈的愉悅,所以雖然這兩種目的也有很多讓人不爽的部分,不過想到我可以讓一棵老樹煥發青春,不爽也就慢慢弱下去了。