-
1 # 南山家瑞
-
2 # 我樂自我高
1. 程式設計師所在的公司技術相對比較落後,對新技術不擁抱,甚至是反對新技術,我的一個朋友曾親身經歷過,2015年他去到一家公司,公司的產品竟然仍採用VC6.0來開發,原始程式碼技術太過陳舊, 而且公司處於安全考慮,開發人員的機器不允許上網,這對於開發人員的成長是莫大的毀滅。幾年之後你對產品的瞭解可能會非常深刻,但也僅僅停留在落後技術的層面上,對產品熟悉的程度和自身技術成長完全是兩回事。對於這種情況,在工作中無法實現提升自己的,自身又對技術追求比較強烈的,可以尋找公司中的技術大牛,多和他聊天,請教問題,這種大牛一般公司都會有幾個,他們就是最好的明燈。如果和大牛又打不上話,那麼比較好的方式就是暗度陳倉,等待有合適的機會。
2. 如果公司對新技術非常擁抱,鼓勵開發人員去了解新技術,甚至會經常做一些內部的技術分享或者外聘人員過來做技術培訓,這種公司還是很有潛力的,即使有加班的問題,只要學到東西還是值得花時間的。作為開發人員,本身對技術就應該有擁抱的熱情,有些開發覺得培訓的內容和自己的工作不相關就不去聽,這個未必正確,有些內容可能在目前的工作中體現不到價值,但是日後很可能是你轉折時非常重要的一個點。說直白一點,就是有提升自己的機會就別放棄,及時短期看著似乎沒有幫助,但是長期很難說沒有用處。
3. 有些公司對開發人員的技術要求比較全面,甚至要求前後端都要能勝任的全棧型能力,這種公司一般集中在初創型企業,為了節省人力成本,對技術人員的要求比較全面,壓力也會相對成熟公司大很多,這種公司其實是能快速提升開發人員技能的,但是這種公司往往對技術的深度挖掘不夠,很多技術都是淺嘗輒止,只要儘快把功能實現,然後就接著下一項功能,技術人員對用到的技術理解的深度往往不夠,這種情況就比較棘手,高強度的工作下很難再抽出時間去提升自己,所以對於這種情況,如果可以儘量往系統架構方向去努力,待有能力招新人的時候,儘快從一線開發轉型到架構設計的角色,提升自己的管理能力,這樣是比較好的選擇。如果長期停留在一線開發,後期基本就會出現疲倦期,對技術人員是比較被動的。
4. 最後一種情況是比較樂觀的,公司加班不嚴重,相對來說輕鬆,但其實這種往往才是最具毀滅性的。人是有惰性的,如果沒有強烈的推動力,在相對舒適的環境中,很多人都會舒適的停滯不前,呆上幾年,消磨沒了當初的意氣風發,慢慢變得不思進取了。當然也有部分不變初心的人無論到什麼環境都能像打了雞血一樣奮發圖強的,這種人的成長就和環境沒關係了,什麼環境他都能成長。
總結:其實提升自己起決定性作用的就是主觀能動性,有些人天生就是不甘墮落,和那些忙了一天稍有休息時間就抱起手機打遊戲的人相比,他們恨不得吃飯的時候都在思考問題,幾年下來怎麼可能會沒有差距呢。所以如果真的想提升自己,別在迷茫,現在就放下手機,認真思考一下自己未來3-5年的計劃,然後把遊戲的時間,和同事閒扯的時間都利用起來,我相信一兩年之後你就會發現自己比其他人高出一大截了。
-
3 # 麻辣軟硬體
本人在開發行業從業快十年了,回顧過去9年多的工作經歷,我發現越忙,加班得越多的那段時間我的個人能力提升得越快,可能與機遇有關吧,遇上難點、新技術基本上我都是第一個上的,所以學到的東西也很多,解決問題的能力提升也比較快,但是一定要學會總結,自己給自己覆盤,總結得失,指導下一步的工作。
個人覺得程式設計師對自己的提升,分很多方面,程式碼能力、文件能力、新技術研究能力、問題解決能力、等等,我覺得最重要的是學習能力!
如何保持自己的學習能力,唯有多讀書,多學習!
同時很多程式設計師都只對自己工作崗位相關的知識或者技術瞭解或者相當熟悉,稍微跨領域一點,可能就懵逼了,所以保持學習的心態,涉獵各個方向,培養自己廣泛的興趣很重要。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
補充:
看到加班嚴重這句話,個人覺得加班嚴重分兩種,一種是任務確實超負荷,這個沒辦法,很多網際網路公司和初創公司很普遍。還有一種是個人工作效率太低而導致的加班,從業這麼多年,低產猿我是見過不少,在這裡順便分享一下幾個提升效率的建議!
個人覺得要提升效率就要學會時間管理,會時間管理的,效率都很高,不管你是不是程式設計師!
1.首先我們要有時間管理的意識。
意識是時間管理的先決條件,對時間的意識就是對時間的敏感程度。
分享一個方法,用來提高對時間的敏感度:
對每天的時間分配情況做成表格,按周總結,挑出不合理部分最佳化,舉例如下:
7:00-7:20 起床,洗漱
7:20-7:40 早餐
7:40-8:20 搭公車上班
...
這樣記錄下每天時間花在哪,顆粒度越細越好,這樣累計一段時間,拿出來分析自己有哪些事情花的時間是可以縮短用來做其他更重要的事情的。
這樣不斷最佳化,相信你的有效時間會越來越多。
2.為自己設立目標、每日計劃、每週計劃!
設立目標、排計劃不是假大空,有以下幾個原則:
具體的、可實現的、有時間限制的、重要的。
作為程式設計師來說可以是工作中的主線任務。
有目標有計劃就會有實現步驟,有步驟就會和時間關聯起來,這個過程一定要細化你的時間安排,否則很容易delay。
3.時間管理很大程度上講就是選擇
為什麼這麼說,因為很多時候,我們在執行工作上的主線任務時,經常性被其他事情打斷,被打斷是因為你放下了手上的活,而去做其他事情了,這就是選擇。
意識和目標只是開始,在執行計劃的過程中來自各方面的干擾會影響如何你選擇。
別人不喜歡做的事情,成功人士也不喜歡做。儘管如此,成功人士還是去做了———E.N.Gray
3.1、遇到問題及時反饋並尋求幫助
我記得我曾經的領導說過一句話,在工作中遇到問題要及時反饋並尋求幫助,這句話到現在為止一直在影響著我,工作有9年了,我見過很多人在遇到問題後就跟它槓上了,半天、一天或者幾天的時間被浪費著...我的工作經驗告訴我,自己研究半天時間可能抵不住旁邊同事的一句話提醒!
3.2、很多與主線無關但每天又必須要處理的事情
比如郵件資訊、小型會議、各種其他日常工作,經常會打斷我們,這些事情我們應該怎麼處理?我的解決辦法是集中到某個時間把相關的瑣事一起完成解決,這樣能夠減少被打斷次數。
總之我們應該最大程度上減少自己浪費時間並儘可能在連續的時間裡完成一件事,這樣能提高我們的工作效率。
4.階段性覆盤與重要的事情先做
我們前面講了目標和計劃,既然制定了計劃,那麼我們就應該要學會覆盤,覆盤週期以一週、一個月這種時間節點來進行,這樣做的好處是不斷髮現自己的不足之處,根據目標來檢討與調整!
我們經常說做事要有輕重緩急,要有優先次序,那麼我們根據什麼原則來做?
二八定律、重要緊急象限原則!相信大家對這兩個詞彙不陌生,就不多贅述了。
5.專注
專心投入做一件事情,心無旁鷺這時候是效率最高的時候,工作過程中經常會出現那種人心合一,效率極高的的情況,那是我們最專心、最投入的時候。
學會如何專注、學會時間與精力的合理安排也是非常重要的。
6.其他的一些建議
運動,經常鍛鍊運動能使我們的精力充沛。
快速有選擇的閱讀,提高自己的閱讀水平,用最少的時間獲取最有效的知識。
健康的飲食與作息也是一個保證我們有足夠精力的好習慣。
寫在最後
最後我牆裂推薦幾本書,真的很不錯,如果你用的話:
吉姆·蘭德爾的《時間管理》、阿圖·葛文德 的《清單革命》、史蒂芬·柯維 的《高效能人士的七個習慣》
-
4 # 大鳴雜談
先要搞明白這些問題:
你想成為什麼樣的人?
我要如何成為這樣的人?
成為這樣的人我要如何做?
我需要哪些資源?
我的計劃是什麼?
我從什麼時候開始行動?
-
5 # free教程
程式設計師加班嚴重是行業內大家都心知肚明的一件事,一部分是確實系統開發週期短,或者上線後要實時處理問題,又或者是一些緊急類的功能,需要趕工完成,這時候出現加班是必不可勉的。但是,部分加班其實是公司,或者業內的加班氛圍、文化,俗稱“996”,這種加班的情況下,其實自己是有大部分空閒時間可以提升自己的。那如何提升自己,這裡我給出自己的幾個觀點:
一、「興趣」。這也是我認為最重要的一點,做如何東西,興趣很重要,假如你只是把程式開發只當做一件上下班的事情的時候,可能會固化。不會願意花自由的時間去提升自己。因為你覺得這只是一個工作。所以,沒有興趣,主動提升自己你會覺得很痛苦。
有了興趣,接觸到一個東西后就像更加深入的去了解,而不是用過了就不管了。所以我認為如果想在一個行業(不限於軟體行業)長期發展並有所提升的話,一定要問問自己是否有足夠的興趣。
二、「堅持」。我們常說堅持是成功之本。特別是在軟體開發這個領域,技術又多,技術更新又快,如果沒有堅持去積累和提升的話,是很難達到一定高度的。每一個技術又有很多的細分,比如學一個網站開發,你需要懂一些作業系統、資料庫、程式語言、網路知識、設計模式等,還要知道一些當前的主流開發框架,提高開發效率。這些知識都是需要長時間的學習和投入才能達到入門,不敢說精通,只能說你入了這個行業的門。
三、「方法」。學任何東西方法很重要,因為可以提高學習效率和使用成果。但是不是每種都適合自己,要找到最適合自己的學習方法。下面介紹幾個我常用的方法:
1、寫部落格。注意這裡不是單單是看別人的東西或者文章,而是要寫出來,因為只有寫出來東西的時候,你才會深入去思考問題。比如,筆者自己就是自己開發了一個網站,然後把自己所學,想學的東西,透過整理研究後寫上去。
網址:
www.oraclejsq.com
2、“鏈式學習”。形象點說,就是你抓住了一個鏈條的一個鏈,然後慢慢慢慢把所有的鏈都拉出來。舉一個很簡單的例子:Oracle資料庫的學習,剛剛開始可能會學習如何使用Oracle資料庫,然後學習一些常用或者複雜的SQL查詢、再然後會深入學習一些資料庫的開發、再後可能會去了解底層的體系結構學習如何最佳化、最後可能會學習一些DBA管理的知識點。隨著這種不斷的擴充套件和加深,學的東西就會比別人多。
-
6 # 工控松哥
程式設計師這個詞其實很廣泛的,現在有很多工種都涉及到程式設計這塊,外界一般都會想到計算機語言程式設計的才算,天天在電腦旁邊敲程式碼,修BUG,所以加班是他們斯通見慣的常事。 如何提升自己我認為一可以在上班期間也是一種提升,兩個字經驗,不斷的完成專案及還BUG也對自己的增加經驗,不斷在工作工發現自己工作的不足; 二是借鑑別人的思路,取別人優點補自己不足; 三是利用工作業餘時間看下自己想提升自己的資料。
-
7 # 小松鼠會技術
打好專業基礎:
不管在任何行業,只有具備強大的專業技能才能不被別人所取代,才能立於行業的頂端。而程式設計師雖然處於IT業的最低端,可能接觸不了本公司的核心技能。那就努力學好專業基礎,把本專業的知識學精、學透。只有打好了專業基礎,才能從容應對公司所安排的工作,才能取得更多的提升機會。
多讀書、多學習:
努力打好專業基礎的最好方法就是多讀書、多學習,正因為學無止境,知識使人進步。充分利用晚上或者週末等休息時間,多看一些對自己有幫助的書籍,多學習新知識並對舊知識能做到溫故知新。只有不斷的吸收新的知識,才能讓自己快速的成長。
參加培訓:
雖然透過自學能獲得很多的知識,但是如果能夠有機會參加一個高效的培訓班,那將會起到事半功倍的效果。雖然參加培訓需要時間跟精力,甚至有些培訓還需要花費一些金錢,但是如果能夠提升自身能力,又何樂而不為呢?
認真閱讀原始碼,提高編寫程式碼的能力:
對於很多新程式設計師來說,剛開始接觸的工作就是敲程式碼。如果自己連程式碼都看不懂,那怎麼才能編寫程式碼呢?或者別人給你一串程式碼讓你稽核,又怎麼才能發現當中的錯誤呢?所以認真閱讀原始碼,提高編寫程式碼的能力,這樣才能有效的應對程式設計師的本職工作。
提升對需求軟體的理解:
對於軟體開發公司來說,賺錢才是最終目的,而且現在各種軟體很多,軟體更新換代很快。因此具備敏銳的市場觀察力,瞭解哪些軟體是市場需求量大的,這樣才能制定出正確的方向,開發出大家需求的軟體來。如果能夠開發出一款熱門軟體,那對一個程式設計師的事業發展起到非常大的幫助。
提升交流、溝通能力:
不管是任何領域,專案能夠有效的發展靠的是團隊合作,IT行業也是如此。一位程式設計師好比一顆螺絲釘,雖然不起眼但是不可或缺。當程式設計師分配到一項任務的時候,首先應該有效的跟領導進行溝通,明確自己的任務與職責。當程式設計師具備良好的溝通能力,清楚理解領導的需要,這樣才能有目的的進行工作,做出的成果才不會返工。
提升創造能力:
一款軟體開發是從無到有、從零到整的過程,整個過程極具富有創造性。所以程式設計師們應努力提升自身的創造力,勤于思考、拓寬思維、與時俱進,發揮自我優勢。
積極拓寬人脈:
不管什麼領域,人脈都是很重要的。程式設計師也一樣,在努力工作、學習的同時,還需積極的拓展人脈。擁有龐大的人脈就意味著擁有極多的機會,只要自己有足夠的能力,把握住到來的機會,那很有可能事業就能上一個臺階。也有可能在你的眾多人脈當中出現一位貴人、一位伯樂,在你困難的時候幫你一把。
擁有一個高效的開發環境:
如果程式設計師的身邊都是技術牛人、人人辦事都很有效率,在這種環境下雖然能夠帶來很大的壓力,但也會促進自身嚴格要求自己。環境決定人生的價值,擁有一個高效的開發環境,勢必能搞提升程式設計師自身的能力。
尋找能展現自己的平臺:
當程式設計師擁有一定的能力後,如果所在的平臺只讓自己做一些簡單的工作、大材小用的話,那就乾脆另闢蹊徑,積極尋找能夠發揮自身能力的舞臺。只有在適合自己的舞臺上才能發揮自身的價值,才有更多的機會去提升自己。
回覆列表
加班要看你是什麼情況下的加班。如果業務不忙,硬性規定加班,可以在加班時間研究一下自己感興趣的技術。如果業務忙,還是儘量先把自己手頭上的工作做完再考慮提升自己的事情,其實多寫程式碼本身就是對自己的提升。