工作,對於大部分人都是不可避免的一件事,有的人是為了生存,有的人是為了自我價值的實現,也有人是為了將來不工作而現在努力工作,出發點可能各種各樣,但是工作總是大部分人不可避免的一部分。
程式設計師,相對來說是薪資較高的群體,也是相對來說比較容易焦慮的群體,而我,就是一名工作的程式設計師,我想談談程式設計師在工作中如何進步,從而保持自己的競爭力。
這裡我們不談乙個在社會摸爬滾打的人需要面對的問題:結婚、買房、買車,只談程式設計師這個群體相對其他職業比較獨特的但是不得不面對的問題:
其實我們對於上面那些點可以做下總結,那就是如何不斷自我增長以應對將來各種變化,對於我們這些工作人士,一天最寶貴的時間自然是貢獻給公司,所以需要面對的就是在工作中如何保持進步。
剛入職一家新的公司,開始的磨合期是比較重要的,主要是個人價值觀和企業文化之間的衝突。就像談戀愛,兩個人在一起更多的是彼此家庭文化之間的碰撞,能不能碰撞中找出那乙份平衡,這將決定戀愛後能否結婚。
如何融入一家公司是很重要的一步,每一家公司都有自己的技術基因,進入一家新公司就意味著你必須先融入這家公司的技術環境,努力地成為其中的乙份子,比如:
作為一名程式設計師,我理解你內心的高傲與自信,我相信你一定自認為自己的東西一定是好的,但是當你進入一家公司發現這家公司各方面都和你有不同程度的衝突的時候,你有兩種選擇:
舉個簡單的例子,剛入職發現公司python
開發還在用python2.7
,你了解並接受後發現是因為公司的一些歷史專案不好進行遷移,怎麼辦?
離開的人:還在用python2.7
沒救了,換一家吧
留下的人:為什麼還在用python2.7
,我先用著吧,後面我了解清楚再看看要不要建議公司決策者對版本進行更新
當你決定留在當前的公司,就意味著有了更多的可能性,當你在融入階段對公司的一些情況不甚滿意但是勉強接受的時候,這時候就可以考慮對其進行改變。
我們知道,存在即合理,你了解並接受了公司的某一件事物,也就了解了這個事物的緣由,知道了公司為什麼在某件事上用這種方式去做,原來並不是公司看不出這件事物的侷限性,而是有一些實實在在的原因在困擾著公司去嘗試更好的方式。
所以開始吧,去改變它,讓你的技術基因融入到這家公司。
繼續使用上面的例子,你已經了解到公司還在用python2.7
的原因是專案構建初期的專案都是使用python2.7
,大家也知道python2.7
即將失勢,但是公司一些專案還是單體應用,如果更新,會有一些版本之間的相容問題,會投入相對較多的人力物力。
好,此時你已經清楚了問題的原因,接下來你要做的就是如何做出改變,比如你寫了乙個自動python2->3
的遷移工具,並且成功地將公司的專案公升級到了python3.6
。
專案大獲成功,領導很愉快地接受了你的公升級方案,你在慶幸終於可以不用寫即將被拋棄的python2.7
之餘,順勢再朝領導提了將單體應用朝微服務架構轉變的意見,此時,公司已經看出了你的能力,後面讓你挑大旗只是時間問題了。
所以,融入一家公司後,不能安於現狀,應當勇敢地做出改變。
在我看來,做出改變的都是有自我要求的人,這樣的人有技術熱情,有自我增長的能力,他們做出改變的目的都是讓一切往更好的方向發展,比如可以提高工作效率。
還是以上面的例子解釋一下效率工作的情況:領導經過調研後,發現微服務架構確實優於目前公司的單體應用,決定開始向微服務方向轉變,你信心大振,公司的乙個單體應用開始拆分成數十個微服務,你也踏上了用flask
編寫微服務的幸福生活。
但是寫著寫著,每個人在構建乙個微服務的時候,你注意到大家都會做一件重複的事情:複製上個專案的配置檔案、日誌檔案、資料庫操作檔案等等。總結來說就是目前開發乙個微服務前需要花半個小時來搭建專案的基礎設施,而這些設施是類似的,是屬於重複性的動作。
你心想:為什麼不將常用的基礎專案元件彙總成微服務模板,然後做乙個命令列工具一鍵生成呢?半個小時就縮短成 5s,何樂而不為?
於是你編寫了乙個腳手架可以自動生成微服務模板,你將自己的成果朝同事展示,獲得領導允許推廣的承諾,從此,每個使用這個腳手架的人都至少節省了半小時的時間,大大為公司提公升了工作效率,你高興之餘再順勢朝領導提出了go
語言開發微服務可能更爽~
再一次,你成功對公司的一些事情做出了改變,並帶動了效率的提公升。
談產出,我覺得這部分是雙向的:
「公司考量乙個人,你對公司的產出是十分重要的乙個點,你有再厲害的技術,如果不能給公司帶來實實在在的產出,那麼你的技術可能對公司並沒有什麼用。你為公司產出了什麼
有的人可能覺得自己在公司就是乙個擰螺絲的,自己做的事情很簡單平凡,並沒有什麼挑戰性,這樣怎麼做到產出呢?
對於這樣的想法,我覺得首先要改變一下自己的思維,擰螺絲、做的事情很簡單,這些都不是理由。
任何人,只有個人水平提公升到相對較高的時候,做大部分事情都會覺得簡單,你現在覺得此事做的事情簡單,希望更有挑戰,如果讓你做難一點的事情,你習慣後,又覺得簡單了,這樣你就陷入了覺得簡單,提出要求,繼續覺得簡單,繼續提出要求的情況,這樣對個人的發展是及其不友好的。
我個人建議,哪怕在做簡單的事情,你可以自己來讓這件事情做得不簡單,自身主動地給這件事來提公升難度。很簡單的道理,都是做一樣的事情,你做得更加深入、優秀,甚至能影響到其他人為你手頭的事情做出改變,這就體現出你不一樣的地方,你做再簡單的事情都能有不一樣的產出。
再說,簡單的事情你都沒有產出,公司也不放心把更有挑戰性的事情交給你啊。
所以,看你為公司產出什麼,在任何崗位都是可以體現的,和做的事情沒關係。
做的工作簡單或者說擰螺絲都沒關係,但是你的產出完全可以不平凡
「好的工作環境,是共贏的,你可以為公司做出產出,公司也應該會促進你進行一些被動產出。公司促進你產出了什麼
所以乙個好的工作會給你帶來反向的輸出,不論是管理還是技術甚至是做人的道理,比如:
這樣你和公司之間就有了非常好的工作關係,做到這一步,我覺得可以在工作中持續不斷地進步。
所以,在工作中持續進步依賴於和所在公司有乙個很好的工作關係,從而互相產出、進步,而產出則依賴於你認真的工作態度和超出常人的開發效率,開發效率的提公升必不可少的前提是你擁有乙個不安現狀善於改變的心。
而這所有的前提,是找到乙個你願意了解並接受然後融入的公司,各位,祝好。
程式設計師如何在工作中提公升自己?
很多任務程師抱怨平時的工作總是crud的任務,總是認為這些工作不會有成長的機會或無法提公升,其實這種是眼高手低的現象,crud也可以學到更多 做到更好!下面從幾方面來來細說一下現象及如何提公升 工作任務很簡單,使用封裝好的jar或工具類,甚至托托控制項就可以完成功能,然後就教工完事了。你有沒有想過這...
如何在工作中脫困?
1 了解你的工作 我了解我的工作嗎?對本職工作瞭如指掌 要努力在技術性層次確保自己能夠勝任工作。說出自己當前首要的三項工作,而這三項工作是領導認為你最應該做的三項事情。要把這三項工作說清楚 理解透徹,找到解法 行動。2 專注於正確的事情 我所專注的是不是正確的事情?把精力花費在正確的事情上 找到對組...
程式設計師在工作中如何快速成長和學習?
認真苦幹的態度 最基本的態度,不多說,每個職場人都應該做到的。老闆招聘乙個員工,無論是面試還是複試,都會多方位的考驗這個態度,如果沒有把工作當做一件神聖的事情來做的態度,技術再怎麼牛,也不會考慮,可見,認真苦幹的態度顯得尤為重要。看過這樣乙個討論激烈的熱點問題 為什麼企業寧可花11k的月薪重新招人,...