你当初是如何走上编程之路的?
加班了
“前面左轉(zhuǎn),拐入宛平南路高架橋,從盧浦大橋走,……”,加班完之后我叫了輛滴滴,已經(jīng)是凌晨1點(diǎn)了,平時(shí)打車我都會(huì)看看高架橋上車窗外的燈火和夜景,畢竟黃浦江上燈火璀璨彰顯大城市的美麗,可是今天我只想閉上眼睛休息一會(huì)。國(guó)慶之后已經(jīng)連續(xù)兩個(gè)周末加班了,21點(diǎn)30甚至更晚,就像今天。
為何加班?因?yàn)槲沂且幻绦騿T。我在趕一個(gè)項(xiàng)目進(jìn)度,產(chǎn)品所謂的花3天的時(shí)間整理出來的業(yè)務(wù),需要我們?cè)谝恍瞧趦?nèi)開發(fā)完成并上線。國(guó)慶后第一個(gè)周末我們花了一天時(shí)間過完了需求,即所謂的產(chǎn)品需求移交,第二周的周一我們花了一天時(shí)間拆分了業(yè)務(wù)具體到個(gè)人,然后預(yù)估了下開發(fā)周期,詳細(xì)到 人天,最后的我們發(fā)現(xiàn)這是項(xiàng)不可能的任務(wù),除非每天不眠不休24小時(shí)。因?yàn)?0幾個(gè)產(chǎn)品他們的需求鏈整合起來已經(jīng)是一個(gè)完整的產(chǎn)品需求了,而不是迭代式的。這一套做完至少也需要一個(gè)月的時(shí)間。
可是產(chǎn)品是不會(huì)理會(huì)這些的,因?yàn)樗麄兊男枨笠呀?jīng)給出來了,PRD也已經(jīng)移交了,他們的任務(wù)已經(jīng)完成,后面的工作能不能按時(shí)完成責(zé)任并不在他們這了。如果項(xiàng)目延期上線,上面的領(lǐng)導(dǎo)追責(zé)下來也不會(huì)到他們那。這時(shí)我就在想我當(dāng)初為什么沒選擇產(chǎn)品這行呢?
三明治#
程序員,你是三明治。為什么這么說?主要是因?yàn)槌绦騿T上游有產(chǎn)品經(jīng)理,下游有測(cè)試。產(chǎn)品的需求你可以挑三揀四,但是你不能拒絕。測(cè)試提的 bug 你可以說,'是不是你們操作有問題?',但是你不能說,‘我不修’,最后還是要去自己操作一遍然后查看日志定位問題。兩邊你都不好得罪,因?yàn)樽詈笸讌f(xié)的肯定還是你。
其實(shí),如果要認(rèn)真的說,測(cè)試其實(shí)也很無奈,因?yàn)闇y(cè)試實(shí)質(zhì)上是給程序員收拾爛攤子的,給程序員開發(fā)出來的產(chǎn)品做體檢的。項(xiàng)目上線前,測(cè)試也是要加班加點(diǎn)的。如果說程序員的加班是因?yàn)楫a(chǎn)品提的需求,那么測(cè)試的加班則是由程序員的 Bug 量決定的。善待你的測(cè)試吧,雖然被人指錯(cuò)誤是很痛苦的。
所以主要來說說產(chǎn)品經(jīng)理吧,在這里我沒有想詆毀產(chǎn)品經(jīng)理,畢竟《人人都是產(chǎn)品經(jīng)理》,也許程序員以后想轉(zhuǎn)產(chǎn)品經(jīng)理呢,畢竟常常聽到被人勸說,"你要具有產(chǎn)品的思維,不要總是從編程的角度看問題",確實(shí)程序員總是容易陷在自己的 code 世界里。世界上不乏有上帝思維的產(chǎn)品,騰訊的微信之父 - 張小龍,網(wǎng)易的網(wǎng)易云音樂產(chǎn)品經(jīng)理團(tuán)隊(duì)等等。每個(gè)行業(yè)都有優(yōu)劣之分,但是很多產(chǎn)品經(jīng)理也有混的嫌疑,打著 "競(jìng)品有這些功能,我們也需要有"的口號(hào),當(dāng)有邏輯缺陷的時(shí)候,"讓我看看競(jìng)品是什么樣的",甚至之前網(wǎng)上發(fā)生的“能不能實(shí)現(xiàn)主題跟著手機(jī)殼變換顏色”互毆事件等等。產(chǎn)品是不是也應(yīng)該具備一點(diǎn)編程的思維?
編程之路#
程序員,你當(dāng)初是如何走上編程之路的?程序員一直都是一個(gè)備受人們關(guān)注的群體,隨著近年全國(guó)互聯(lián)網(wǎng)創(chuàng)業(yè)熱潮的興起,"互聯(lián)網(wǎng)+"、"云計(jì)算"、"人工智能"以及"區(qū)塊鏈"等領(lǐng)域發(fā)展迅速,市場(chǎng)對(duì)程序員的需求更為旺盛。風(fēng)口的互聯(lián)網(wǎng)、大數(shù)據(jù)和人工智能,讓IT人才炙手可熱,行業(yè)工資水漲船高。這幾年培訓(xùn)機(jī)構(gòu)也是賺的盆滿缽滿,每年培訓(xùn)機(jī)構(gòu)向社會(huì)上傳輸?shù)腎T人員達(dá)到了百萬之多。
為何如此之多的人不斷的涌入該行業(yè)?是因?yàn)闊釔蹎?#xff1f;通過梳理近十年來行業(yè)工資水平變遷,以及不同城市之間的互聯(lián)網(wǎng)技術(shù)人才工資水平發(fā)現(xiàn):
- IT 領(lǐng)域的人才薪資水平已經(jīng)連續(xù)3年超過金融行業(yè),占據(jù)榜首。
- 一線城市的程序員的平均工資是二線城市的工資的近兩倍。
- 涌入行業(yè)的人數(shù)很多,但是技術(shù)水平參差不齊,企業(yè)要求的高水平技術(shù)人才依舊一將難求。
其實(shí),對(duì)于大多數(shù)人來說,相對(duì)于其他行業(yè),編程的生活是枯燥的,即使是對(duì)編程非常有興趣的同學(xué)和朋友也會(huì)如此。很多人說看到自己開發(fā)的產(chǎn)品在線上平穩(wěn)運(yùn)行是件很有成就感的事,我只想說,''真羨慕你,你還很年輕''。當(dāng)你經(jīng)歷過多年的開發(fā),被看似不斷變更實(shí)則平平無奇的業(yè)務(wù)拖累,被生活瑣事糾纏,人近30,父母見老,婚事未得而頭發(fā)漸希,房貸未清學(xué)費(fèi)又來,……,等等這些之后,是否你還能保持如此單純的想法?
大多數(shù)人,也許只是熱愛它能提供的高額收入,畢竟養(yǎng)活自己,支撐生活才是最重要的。究竟是否熱愛,可以問自己個(gè)問題:“當(dāng)編程并不能為你帶來期望的薪資,或有個(gè)更有趣的事業(yè),你是否還是愿意堅(jiān)持在這個(gè)行業(yè)?"
很多人說程序員薪資高,其實(shí)程序員的薪資是按小時(shí)算的,每天按時(shí)下班那是件奢侈的事情,平均折算下來又有多少。工作之后你會(huì)發(fā)現(xiàn),年是按月過的,發(fā)12次工資,一年就過去了,換兩三家公司,5/6年就過去了。如此快節(jié)奏的生活,你的技術(shù)是否跟得上?很多人5年的工作經(jīng)驗(yàn)甚至比不上3年的實(shí)際項(xiàng)目經(jīng)驗(yàn)。程序員要懂得給自己充電。
程序員職業(yè)特點(diǎn)#
程序員的生活很少有能打理得井井有條的,皮膚粗糙,頭發(fā)蓬松,鼻梁上擴(kuò)著鏡片,永遠(yuǎn)的格子衫,腳上基本都是運(yùn)動(dòng)鞋。
1、程序員性別比例
一直以來,程序員這一群體多以男性為主,女性程序員占極少數(shù)。這次調(diào)查發(fā)現(xiàn)程序員群體中男女比例還是近12:1,這和客棧在2016年調(diào)查的結(jié)果(92.62%:7.38%)驚人的相似。而如此"畸形"的男女比例也是解釋了為什么很多程序員自嘲為"單身狗"。
其中男程序員單身比例達(dá)到了40.7%,女程序員單身比例也達(dá)到了35.6%。
2、程序員的年齡及婚姻狀況
近一半的程序員年齡在25-29歲之間,且35歲以上占一成不到。根據(jù)搜狐科技網(wǎng)《中國(guó)互聯(lián)網(wǎng)發(fā)展簡(jiǎn)史》顯示,中國(guó)1994年正式接入國(guó)際互聯(lián)網(wǎng),最近一次中國(guó)互聯(lián)網(wǎng)大浪潮是在2009年,PC端互聯(lián)網(wǎng)轉(zhuǎn)移到移動(dòng)互聯(lián)網(wǎng),中國(guó)程序員數(shù)量呈井噴式發(fā)展。這也解釋為什么中國(guó)程序員大多年齡集中在25-34歲之間。
從上圖可以看出,24歲以下程序員絕大多數(shù)都是單身,程序員群體普遍結(jié)婚較晚,且30-40歲之間竟也有兩成人未婚。
3、程序員地區(qū)分布
因?yàn)橹饕拇笮突ヂ?lián)網(wǎng)公司都坐落在北京,上海,深圳,以及近年來阿里巴巴的杭州。從地圖中也可以看出,北京市(17.18%)、上海市(11.04%)、浙江省和廣東省程序員人數(shù)最多,從調(diào)查樣本數(shù)據(jù)進(jìn)一步得到浙江省中杭州(13.50%)人數(shù)最多,廣東省中深圳(8.59%)和廣州(9.52%)人數(shù)最多。在程序員群體中流行這樣一句話"逃離北上廣",與2016年客棧調(diào)查報(bào)告相比,很明顯看出杭州和深圳的程序員人數(shù)在增加。
4、程序員公司性質(zhì)
近四分之三的程序員所在民營(yíng)企業(yè),近一成的程序員是自由職業(yè)者,國(guó)有企業(yè)的程序員僅占4.2%。
5、程序員跳槽現(xiàn)狀
有近8成程序員都有過跳槽經(jīng)歷。其中有1次跳槽經(jīng)歷的15.2%,2次跳槽經(jīng)歷的20.5%,3次跳槽經(jīng)歷的21.1%,14.7%的程序員有過5次及以上的跳槽經(jīng)歷。據(jù)調(diào)查,程序員跳槽原因主要包括缺乏發(fā)展空間,與預(yù)計(jì)的期望不符和更高的薪水。
6、近年程序員擅長(zhǎng)語言和職業(yè)方向
擅長(zhǎng)語言
職業(yè)方向
從調(diào)查數(shù)據(jù)可知,程序員擅長(zhǎng)語言多為Java(41.4%)、JavaScript(38.6%)和PHP(22.4%)等,另外Python(15.2%)、C語言(14.3%)、C#(13.3%)和C++(12.9%)等也是使用較多的計(jì)算機(jī)語言。再結(jié)合程序員客棧后臺(tái)4000多名簽約開發(fā)者的職業(yè)方向,與本次調(diào)查基本符合。(注:此項(xiàng)為多選,總和大于100%)。
7、程序員對(duì)工作現(xiàn)狀滿意程度
調(diào)查顯示絕大多數(shù)程序員對(duì)自己工作現(xiàn)狀持一般態(tài)度,近三成程序員對(duì)自己的薪資不滿意,滿意度最高的是同事。
8、程序員兼職意愿
綜上所述,國(guó)內(nèi)一線城市依然是程序員的主要聚集體,一些經(jīng)濟(jì)發(fā)達(dá),科技公司密集的二線城市也聚集了大量的程序員。在計(jì)算機(jī)語言方面,中國(guó)程序員擅長(zhǎng)Java、JavaScript、PHP和Python最多,這也符合世界計(jì)算機(jī)語言流行度。從薪資來看,中國(guó)程序員薪資相比于其他行業(yè)相對(duì)較高,平均年薪達(dá)到15w以上,近五成程序員租房租金在1.5k以上,住房條件較高。
在工作上,76.6%的程序員在私企工作,近一成的程序員是自由職業(yè)者。77.2%的程序員都有過跳槽的經(jīng)歷,且跳槽過后的薪資相對(duì)提升。雖然中國(guó)程序員平時(shí)工作壓力很大,經(jīng)常加班,但可以看出他們對(duì)自己工作現(xiàn)狀都比較可觀,沒有抱很大負(fù)面情緒。
挑戰(zhàn)和提升#
IT行業(yè)是一個(gè)需要不斷自我挑戰(zhàn)的行業(yè),這就讓很多人都想要進(jìn)行嘗試、挑戰(zhàn)。IT行業(yè)的工作屬于腦力勞動(dòng),需要不斷的攻克難關(guān),且在工作的過程需要不斷的更新自己的技能知識(shí),跟上時(shí)代的腳步。在該行業(yè),從業(yè)者需要不斷的突破自己,一步步的得到自我的提升。是一個(gè)持續(xù)學(xué)習(xí)的過程。
之前有個(gè)前同事和我聊天,他現(xiàn)在很焦慮。兩年前我們?cè)趚x公司相聚,那是我第一次跳槽入職新公司,職位為中級(jí),他比我早幾個(gè)月,新成立的項(xiàng)目組,當(dāng)然意味著我們少不了加班。程序員之間相處其實(shí)很單純,沒有職場(chǎng)競(jìng)爭(zhēng),也沒有勾心斗角,能力強(qiáng)的也愿意攬比較難的活,有難題也相互咨詢解決。主要是我們年齡相仿,包括組長(zhǎng)和架構(gòu)師,還有我們幾個(gè)研發(fā),年齡差在4、5之間。雖然每天都加班很晚但氛圍好,所以也不感覺累。吃飯一起,下班一起,深夜修復(fù)完bug之后等運(yùn)維發(fā)布版本的空隙時(shí)間,七零八散的葛優(yōu)躺著,聊聊天打打農(nóng)藥。年輕就是好。
可是不到半年時(shí)間,項(xiàng)目變動(dòng),走的七零八散,架構(gòu)師去了陸家嘴金融公司,組長(zhǎng)去了成都安家。我考慮到自己的技術(shù)和發(fā)展最后也走了,臨走前我花了一個(gè)星期的時(shí)間將新需求設(shè)計(jì)開發(fā)完成,我認(rèn)為對(duì)于這種自愿離職的最好還是完成自己的任務(wù),不留爛攤子給后面交接的人,程序員已經(jīng)這么辛苦了,何必還為難程序員呢。
今年我們又相遇了,他沒有換工作還在原來的地方,聽他說我們離職之后,還有另外2位同事也留下來了沒有走。他抱怨,公司雖然給他升級(jí)了,但是他的薪資沒有漲多少,我和他溝通,換員之后,項(xiàng)目架構(gòu)調(diào)整用到了哪些技術(shù),他說我們已經(jīng)換成了 Springboot,mogodb,開發(fā)工具全都統(tǒng)一改成了 IDEA。"就這些?","是啊",他說他現(xiàn)在也不敢離職,說沒想到兩年沒見你能力比我強(qiáng)多了。其實(shí)并不是我變強(qiáng)了,是我一直在行走,而你在原地踏步了。
從近幾年的互聯(lián)網(wǎng)發(fā)展可以看到,行業(yè)一直在變化,風(fēng)口也一直在變化,技術(shù)也是日新月異,如雨后春筍般冒新,13/14年大量招Java后端,基本會(huì) Spring,mybatis,springmvc,Mysql/Oracle,再掌握點(diǎn) js / Jquery 就能找到一份不錯(cuò)的工作;15/16年移動(dòng)互聯(lián)網(wǎng)盛行,導(dǎo)致企業(yè)大量招 Android / IOS,前后端分離思想在國(guó)內(nèi)也開始流行,前端工程師也開始發(fā)力,angularJs,HTML5,后端的大數(shù)據(jù)工程師需求量爆發(fā);17/18年,區(qū)塊鏈技術(shù),人工智能,Angular 2,React ,Vue,微服務(wù)框架,SpringCloud,……。
面對(duì)技術(shù)更新?lián)Q代如此迅速的市場(chǎng),你如果原地踏步,那就是相當(dāng)于在等待被淘汰。
你的生活很枯燥#
程序員的編程生活為什么很枯燥,或者換句話說: 是什么導(dǎo)致程序員的編程很枯燥的?
其實(shí)原因無非就是以下這幾種:
1.同一個(gè)環(huán)境,同一種技術(shù)
什么意思?跟同一個(gè)世界,同一個(gè)夢(mèng)想不同的是,你在一個(gè)公司待久了,使用你所知的一種技術(shù),重復(fù)的干著一個(gè)項(xiàng)目,你說時(shí)間久了,是不是很無聊呢?如果在一個(gè)公司做一個(gè)項(xiàng)目,長(zhǎng)達(dá)一年,在這一年里,你僅僅是用你所知的技術(shù)一步一步的去實(shí)現(xiàn),學(xué)不到新的技術(shù)和知識(shí),技能得不到提高?這時(shí)候,無聊自然就會(huì)隨之而來,悄無聲息??赡軐?duì)于公司來說,這是有意義的工作,但是對(duì)你來說:這是重復(fù)的,機(jī)械的搬磚。
2.復(fù)制粘貼……
其實(shí)和上邊道理差不多。工作每天都是從網(wǎng)上粘貼復(fù)制,項(xiàng)目就是這樣被壘起來的。很多人離開了網(wǎng)絡(luò),基本上就喪失了百分之八十的編程能力,而剩余的那百分之二十還是抄書。很多程序員編程不思考,而是簡(jiǎn)單的粘貼復(fù)制。
當(dāng)然,聰明點(diǎn)的程序員還是會(huì)封裝的,自己就會(huì)把一些常用的工具類,一些方法,一些控件進(jìn)行封裝,留著以后備用。在公司開發(fā)完 A 項(xiàng)目,然后開發(fā) B 項(xiàng)目的時(shí)候,就會(huì)很簡(jiǎn)單,把自己封裝的東西拿過來直接用,這樣機(jī)械的復(fù)用或者粘貼復(fù)制是不是很無聊呢?答案是肯定的。
3.重復(fù)的迭代和維護(hù),以及修改 Bug
其實(shí)當(dāng)一個(gè)項(xiàng)目進(jìn)入測(cè)試階段以及后期維護(hù)和迭代階段的時(shí)候,開發(fā)人員基本上百分之九十的工作任務(wù)就是在修復(fù) Bug ,而不是在研發(fā)新功能,學(xué)習(xí)和使用新技術(shù)。天天在維護(hù)和更新迭代這個(gè)項(xiàng)目的時(shí)候,其實(shí)工作是很乏味的。
4.沒有思想的程序員
其實(shí)很多時(shí)候,程序員是沒有話語權(quán)的,尤其是在小的創(chuàng)業(yè)公司,因?yàn)槔习寤旧暇褪钱a(chǎn)品經(jīng)理,需求說讓你做什么,你就得做什么?讓你去實(shí)現(xiàn)什么,你就得實(shí)現(xiàn)什么。不會(huì)讓你參與到產(chǎn)品的討論當(dāng)中來的,當(dāng)然,如果老板讓你參加,估計(jì)由于產(chǎn)品經(jīng)理是老板,你也沒有什么話語權(quán)和發(fā)言權(quán)。
在這樣一個(gè)沒有個(gè)人思想和獨(dú)立思考的開發(fā)環(huán)境中,你是不是很無聊呢?只是機(jī)械的去實(shí)現(xiàn)老板想法的一個(gè)工具?是的,你就是一個(gè)工具,這種現(xiàn)狀那又該如何改變呢?是時(shí)候考慮離職了。
什么時(shí)候離職#
實(shí)事求是的說,作為一個(gè)開發(fā)者,一個(gè)程序員,我相信大多數(shù)人干同一份工作的時(shí)間基本上不會(huì)超過兩年,換句話說就是:一個(gè)程序員在同一家公司干同一份工作超過兩年的很少。
很多人說,程序員是一個(gè)跳槽比較頻繁的職業(yè),每一次的跳槽都會(huì)使工資大幅度甚至成倍的增長(zhǎng),所以這時(shí)候就會(huì)有很多人跳出來說:程序員跳槽的目的很簡(jiǎn)單,就是因?yàn)橄霛q工資了。在這里,我想說:我并不否認(rèn),確實(shí)有很多開發(fā)者和程序員跳槽是為了漲工資,但是我相信作為一個(gè)有責(zé)任,有志向的程序員,跳槽中最大的目的并非漲薪,而是換一個(gè)更好的環(huán)境,更好的成長(zhǎng)平臺(tái)和發(fā)展空間,漲薪只不過是跳槽過程中附帶的價(jià)值。
人往高處走,程序員也是人,當(dāng)自己的能力成長(zhǎng)達(dá)到一個(gè)瓶頸的時(shí)候,原來的公司不能提供很好的上升空間的時(shí)候,上升空間不限于技術(shù)還是管理,是可以考慮離職了。
那如果我發(fā)現(xiàn)跳槽可以讓自己工資上漲,那是否可以頻繁性跳呢,如果真是這樣我相信未來你肯定會(huì)失業(yè)很久或者成長(zhǎng)停止很久。技術(shù)也是需要時(shí)間沉淀的和消化的。如果你的離職理由一直是項(xiàng)目不好或者領(lǐng)導(dǎo)不好,那你的眼光肯定也不好,面試是一個(gè)雙向過程,面試官在挑你的時(shí)候,你也有權(quán)利挑公司,面試的時(shí)候你可以反向提問以更多的了解公司是否適合自己。
程序員,技術(shù)是我們的主導(dǎo)力,因此,入職新公司前我們可以反向問面試官:公司的技術(shù)人員配比,入職后的項(xiàng)目詳情,公司的產(chǎn)品發(fā)展方向,以及目前主要的架構(gòu)技術(shù)。這些可以讓我們快速的了解當(dāng)前公司是否適合自己。
一般判斷自己是否可以離職,若無特殊原因,可以從以下幾個(gè)點(diǎn)去判斷:
技術(shù)是個(gè)累積的過程,你也知道技術(shù)更新快,所以盡量不要回頭學(xué),用到一個(gè)技術(shù)就將它理解的透透的。
程序員你30了#
中國(guó)古語,30而立,程序員你是否擔(dān)心你的30歲?我認(rèn)為如果你在30歲之前已經(jīng)做好了準(zhǔn)備,你就沒什么好擔(dān)心的。如果你害怕,說明你做的并不夠好。請(qǐng)問如果你有孫悟空的七十二變你會(huì)怕取經(jīng)路上的妖魔鬼怪嗎?如果你有成是非的金剛不壞神功,你會(huì)怕江湖上的刀槍劍影嗎?請(qǐng)別給自己帶上了緊箍咒。未雨綢繆,是任何職業(yè)人員都需要做的。如果大家對(duì)Python感興趣的話,可以加一下我們的學(xué)習(xí)交流摳摳群哦:649,825,285,免費(fèi)領(lǐng)取一套學(xué)習(xí)資料和視頻課程喲~
當(dāng)你在30歲之前沒有消耗自己,一直堅(jiān)持著技術(shù)積累,我相信在30歲的時(shí)候你也是滿懷自信的,因?yàn)橛心芰Φ娜俗吣亩际遣粦值摹?/p>
還有最后一句:量力而行。人可以有夢(mèng)想,但不可以好高騖遠(yuǎn),不切實(shí)際。這個(gè)世界山連著山,水潺著水,人上還有人。環(huán)境不同,起點(diǎn)不同,自己內(nèi)心過的得意,我有十兩銀子吃穿溫暖,家庭幸福又何必在意別人的百兩金子。
總結(jié)
以上是生活随笔為你收集整理的你当初是如何走上编程之路的?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dos窗口ping命令测试实战
- 下一篇: (Q 2)netstat命令 检测TCP