『壹』 一般程序員的工作是什麼樣的
現在是互聯網時代了,大數據已經走入了我們的生活中,我們生活的各個方面都離不開網路的支持,智能手機以及電腦的普及讓我們的生活變得更加的便利。
隨著時代的發展社會的進步也有很多職業的更新,現在計算機已經變得非常的日常化了,所以程序員專業是非常的火熱的,很多人在大學的時候都會選擇計算機專業,就是因為計算機專業非常的好就業,但是程序員的工作不是在普通人心目中的修電腦,其實程序員的主要工作就是負責軟體的開發以及系統的維護。
程序員這一項工作是時代發展的產物,正是因為有了程序員,我們的生活才會變得更加便利,同樣也會變得更加豐富多彩,我們應該多了解其他行業的工作內容,這樣才能尊重每一個行業的工作者。
『貳』 程序員的工作環境是怎樣的
每個人職場人都希望在一個輕松、開心、干凈、舒適的環境裡面工作,這樣心情好工作起來自然效率高,但是這畢竟是理想狀態下的工作環境,當然現在絕大多數企業工作環境雖然達不到百分百,但至少有百分之六七十以上吧。
那麼對於程序員這種有點特殊的工種工作環境又是怎麼樣的呢?
程序員又被人們稱之為碼農,也有人調侃戲稱「程序猿」,程序員對工作環境往往需要有一張大的辦公桌,他們不僅用一台電腦在工作,有時候需要幾台電腦同時操作,而且遇到一些bug或者瓶頸的時候需要和同事協同工作,當然在硬體方面除了辦公桌要大外,還需要配置比較高的電腦,畢竟這是程序員最基本的工作工具,試想如果剛有靈感,結果電腦卡頓或者死機了,那有可能靈感頓時就消失了,所以他們大多數工作環境都擁有足夠大的辦公桌和高配置的電腦。
前面就提到了程序員是有點特殊的工種,因為他們往往加班到很晚,時常會通宵,這就和我們正常上班的時間上錯開了,他們往往白天睡覺,晚上工作,有時候為了打起精神工作,他們提神的方式各自不同,有抽煙的、有喝咖啡的、有聽歌的等等,大家可以想像這是什麼樣的工作環境嗎?但是程序員工作的時候,大多數情況下都需要安靜的環境,畢竟安靜能讓人更好的思考問題。
每個人對工作環境要求都不一樣,讓自己覺得舒服的環境是自己願意留在公司的原因之一吧,程序員也是一樣的。
大公司的程序員,工作環境基本上就是一個電腦版的「衡水中學」,每天就是開會寫代碼改代碼查代碼開會繼續循環往復,跟中學里每天就是拚命讀書刷題刷題讀書吃飯無味上廁所要跑一個樣。
硬體配置無需你考慮,肯定是夠你用。跟人的成本比起來,硬體就是個渣。
大公司的程序員工作比較穩定,每個人的分工是比較明確的,職業路徑也很明晰,越往上的職位對智商的要求越高,這點和靠情商往上升的工作還真有點不一樣。在程序員這個隊伍里拍馬屁搞關系基本沒啥用,你寫的代碼都無需用戶檢驗,自己一跑就知道成不成。這也是IT公司通常人際關系和氛圍都比較輕松且簡單直接的根本原因,特別適合那些不喜歡搞關系的同學去擼起袖子加油干。
如果你想在這個行業長期發展,智商一定要夠用,真的。有沒有基礎倒在其次,如果數學好更佳。有些業內大咖本身是學數學或物理這些靠智商吃飯的學科的。
小公司的程序員,尤其是那些非IT類小公司里的程序員工作壓力更大。面對不懂程序的銷售和老闆,還有極度貪心又不願多付費的客戶,需求三天兩頭變,界面是個人就可以提意見改,時間永遠是「明天就要」。他們覺得程序員比悟空辦法多,所以什麼要求都提得出來。能在小公司做出成績的程序員,真心讓人敬佩不已。
小公司的程序員是掌握公司核心機密最多的人,比老闆都掌握得多,所以通常他們的待遇也還過得去。另外他們一來二去把公司業務摸透了,出來自己乾的也不少,當然能不能幹成是另一回事。
其實程序員的工作環境真沒什麼要求,只要沒什麼干擾就行。學霸們在這里會找到十分熟悉的感覺,所以程序員之間以「同學」相稱的極多。
我是2015年本科畢業的,但是2014年就開始工作了,從程序員+運營的工作開始實習(其實也是看最後哪一個更合適就走哪一個方向)。
對於實習階段,因為當時待的是小公司,所以大家的配置都很一般。幾個主力程序員加上我這個實習的,工作用的都是windows筆記本,聯想的,除了我自己配的固態硬碟之外,很多都是機械硬碟在跑,沒有特別明確的代碼庫規范、沒有知識系統,交流全靠跑,有的是後端和前端一起干、前端和客服一起干,所以我兼職運營也是如此……平時要是不忙的話,那還沒什麼事兒,大家會閑聊扯淡,也算是其樂融融;但是要是忙起來,可能會突然加班到很晚——當然這種情況還是比較罕見的。
工作到了中型公司,跟以前的小公司就不在一個量級上了。這個時候主要的工作是後端開發,配置的電腦是聯想的ThinkPad,但不是最高配那種,仍然沒有固態硬碟,慢的要死。第一梯隊的程序員配置有雙顯示器、機械鍵盤、mac。我的話配置的是外接顯示器,座椅很一般,坐久了比較累。公司分工明確,辦公室跨越兩座樓,各個團隊都有自己的辦公室。有自己的wiki、定期站會、嚴格的代碼規范、安全規范。一般情況下主要是在解決各種bug,或者開發新系統。偶爾流量高峰的時候,會加班到一兩點,平常並不是特別忙,工作還是比較有序的。
其實想要招妹子進團隊的,因為我們團隊唯一的測試工程師長得真的一般,而且性格也很差……一個性格好長得好看的運營妹子真的能調動整個團隊的氣氛。
所以什麼機械鍵盤、Mac、外接多少顯示器、加多大固態硬碟、多好的人體工學座椅……這些都是假的,開發的團隊裡面有好看的妹子才真的是「好的開發環境」。
可以穿拖鞋?可以戴著耳機聽著歌?配備兩個顯示器?身邊總是圍繞這MM端茶遞水果?還是以上都不是,而是詩和遠方?
程序員,一個高薪卻嚴重亞 健康 的群體 。他們有著極客精神,瘋狂coding的時候可以廢寢忘食,但他們也追求精神自由,喜歡自由自在。對於這樣一個群體,良好而又恰到好處的工作環境顯得尤為重要。
1. 彈性上班制
常規企業的朝九晚五上班制度,說實話並不適合程序員一族,因為這種制度一定程度上扼殺了這個最需要差異性的群體的差異性,把程序員的Coding靈感等同於工廠流水線上機械手臂,希望按鈕一按下,靈感發動,按鈕再一按下,靈感結束。這是一種一廂情願的想法。
所以對於高層次的程序員群體,請不要在作息時間上嚴格限制他們,因為他們不是裝配工,有著獨一無二的個體差異性,有著不同的思維G點,他們需要差異性的時間作息來調整自己的最佳狀態,從而迸發激情和靈感。
2. 寬松的工作氛圍
程序員群體討厭管理,任何自上而下的所謂管理都容易引起程序員們的心理抵觸,特別是那種死板的、指令式的管理模式,尤其讓程序員們作嘔。
程序員們希望自己做的事情是出於內心的意願,那樣他們就會干勁十足,而不是來自於經理計劃文檔中那條冷冰冰的文字,哪怕是他們心裡意願的和經理的計劃本是同一件事。所以對於程序員群體的管理需要技巧,要化管理於無形,讓他們感覺不到管理的痕跡,讓他們感覺著做這些事情就是出自於他們自己的意願。
總結來說就是讓他們作為自己的管理者,而團隊的管理者所要做就是培養他們這種自管理的能力。
適度的壓力可以產生做事的動力,但長時間的持續的壓力卻是扼殺激情和創造力的罪魁禍首。壓力會讓程序員焦慮,同時也會造成低劣的設計和代碼實現,因為交付的壓力會讓程序員對匆忙設計出來的方案妥協,而不會持續的優化找到最優方案。而一系列看似微不足道的缺陷設計集合到一起,就會形成讓人意想不到的、不可控制的亂象。
所以,「快」不見得是好事,「慢」也不見得是壞事。
3. 鼓勵參與開源項目
開源項目社區的欣欣向榮,是一朵盛開的奇葩,無論怎麼贊譽都不為過。
一些著名的開源項目,例如Linux,Apahce, openssl等等,數不勝數的優秀設計,給我們帶來了多少的驚喜,同時也催生了多少的商業公司。
參與到開源項目中,是一個程序員從初級走向高級、完善技術的最有效途徑之一。一些著名的開源項目,架構設計和Coding技巧上都屬上乘之作, 浸淫其中,受益匪淺。
其實以上三點不僅是對程序員群體,對任何一個職業的人來說都是適用的。再看下知乎上程序員們理想中的工作環境是怎樣的。
@蕭井陌:我讀書的時候就有一個執念,一定要找一家可以穿拖鞋背心大褲衩上班的公司(當然我不穿大褲衩),如果我找不到這樣的公司,說明我學得不好,所以我一直以來努力的目標似乎只是為了進一個能穿拖鞋的公司?哈哈哈哈。。。
@知乎用戶:我只想要2個顯示器
@知乎用戶:1.安靜,沒有人隨便喊你或者在你耳邊說話;2.絕對的自由,程序員都有一定的怪癖,比如我喜歡聽著搖滾樂寫代碼。這些都要被允許。3.溫度,氣味舒適的環境。
4.有個養眼的MM同事,大概是這樣的
嘿,箭頭方向那個哥們才是真正的程序員吧
5.獨立10M光釺線
@Indream Luo,軟體工程師:1.女多男少,人均年齡不到27;2.身處白雲山上,與廣東外語外貿大學一牆之隔;3.無邊界文化,有問題可以找任何人溝通,包括高層,如果你見得到;4. 健康 文化,加班有補休,提倡8小時,自建食堂和農場,買下巴馬泉眼特供礦泉水
@石磊
硬體:
1. 頂配的 MacBook Pro。
2. 上廁所不需要排隊。
與人相關:
1. 不會在開發到一半時被通知要重新討論功能,然後把以前做的東西全部推翻。
2. 沒有不必要的會議,必要的會議速戰速決。
3. 行政人事什麼的做事清爽高效,這樣不用在各種日常手續上浪費時間,只管寫代碼就好。
4. 同事們效率高、工作態度嚴肅、善於溝通、活潑有趣。
@張英鋒:最理想的工作環境應該是能幫助團隊沉下心來,開發出最好產品的環境。
1.上級對程序員工作的認可和尊重;
2.對所作的工作有自主權和決定權;
3.營造能讓程序員專注於工作的設施,比如大家都提到的安靜、以及各種提高生產率的硬體條件;
4.最後是公司是盈利的,最好是暴利,能持續提供更多福利。
@庄生:其實最重要的工作環境,還是有一幫靠譜的同事,真心的。可以術業有專攻,但是該你負責的你負責到底,保質保量,不要麻煩別人。
那你呢?你希望你的工作環境是怎樣的?
上聯:一個項目兩部電腦三餐盒飯只為四千工資搞得五臟俱損六神無主仍然七點起床八點開會處理九個漏洞十分辛苦 ;
下聯:十年編碼九年加班八面無光忙的七竅生煙到頭六親不認五體投地依舊四肢酸軟三更加班只為二個臭錢一生孤苦;
橫批:苦逼程序員。
程序員飄過
作為一名程序員的我可以很負責任的說:是的,工作環境就像問主圖片那樣,可能會稍微好點,我們公司都是中央空調,不用電風扇!
我在程序員的崗位上也有好幾年了,也待過幾家公司,其實就工作環境來說,程序員的工作環境還是不錯的,不用風吹日曬雨淋,而且是冬暖夏涼!和人們眼中的白領工作人員的工作環境是差不多的。
工作氛圍其實也是很好的,程序員在穿著方面大部分公司是沒有什麼太大要求,可以穿著自己喜歡的風格(腦補一下大褲衩配涼拖的程序員正在擼代碼),同事之間的交流也是很活躍的,所以程序員的苦逼之處不在工作環境,而是工作內容和壓力。
程序員分工:
1.純軟體工程師,就是只靠電腦吃飯的,設計包括但不僅限於---網頁、架構、UI、數據、運維、系統等等,整天與代碼打交道;
2.Firmware(分位)工程師,半軟半硬的工種,要焊板,要搭建環境,還要寫代碼維護代碼,演算法可能沒有純軟體工程師牛,但動手能力絕對強,涉及的知識面可能更廣。
本人就是後者,來看下我的桌面:
各個公司對於辦公環境都不一樣,國外都注重個人隱私,很多都是一個人一個封閉的房間。國內大部分就像圖中所示那樣,半隔開。也有 科技 公司,鼓勵大家敏捷開發,多溝通,開方式辦公
請忽略那些包含「安靜,優美,閑逸的辦公環境」的答案吧!
圖中的環境,只是正常普通公司的工作環境。
不一定是程序員的。
程序員的工作環境,因工作內容,導致需要很多屏幕。
而且電腦配置也需要很高。
每個人因面對的公司、自身能力等因素,都會導致工作環境的不一樣。
所以就有了工作環境好壞的區分。
如果你曾對著大海構思過某個介面,
在櫻花飄落的院落里調試過代碼,
那麼你還覺得在寫字間喝著咖啡對著三屏顯示器敲鍵盤是理想的環境嗎?
工作環境,還是得靠自己改變。
在程序者的不斷追求下,編程是可以和寫作一樣成為藝術創造過程,
那麼任何一個能夠激發出你靈感的時刻和環境都應該可以成為你的辦公環境。
資深碼農應邀回答這個問題。籠統來說,程序員的工作環境與圖中展現的差別不大。但根據工作屬性和所屬行業來講,還是有一些區別。
甲方和乙方的區別
我在剛畢業時進入了一家軟體外包公司,幾乎所有的工作都是在甲方所在地完成的。
因為甲方員工是公司的穩定員工,所以工位來講就要精緻一些,配備也要完善一些。一般都會是隔間,有抽屜、插座、文件架、座機、台式電腦,甚至還有床等等。
而我們作為乙方因為流動性大,人數也不固定,甲方公司不太可能為我們准備這些精緻的辦公位,一般只是拉幾張桌子拼湊起來,然後再接幾個線板,有時候靠椅都沒有,還得坐獨凳。
技術驅動和業務驅動的區別
現在任何一個互聯網公司,技術部門是必不可少的。但是有的公司會以業務為驅動,有的公司會以技術驅動業務。
以業務為驅動的公司就會優先考慮業務的發展,然後技術來輔助實現。我現在所在的就是這樣一家公司,這樣的公司技術部門就會非常的小,人員也會很少。這樣的公司程序員的工位大體上和整個公司的風格沒有太大的區別,因為人少,一般只有5-6個人,做技術的也喜歡安靜,所以一般位置會選擇靠近辦公室的角落。
以技術為驅動的公司會依靠自身技術實力結合行業發展,碰撞出一些具有競爭力的業務品種,並與業務部門配合來實現並推廣產品。這樣的公司技術人員起碼佔到50%以上,這樣的公司更有可能為程序員規劃一個單獨的大辦公室,與外界隔離。一方面是為技術人員提供安靜、舒適的辦公環境,另一方面也是盡量避免閑雜人等進出公司技術核心所在地。
以技術為驅動的公司往往技術實力比較突出,所以他們會為自己的技術團隊配備「駕駛艙」、小機房等設施。
就問題中的格子間來講,不管是什麼性質的公司,只要場地不是特別的擁擠,都會設計成格子間,這樣既保護了員工隱私也充分利用了辦公場地的空間。這並不是程序員特有的風格。
『叄』 站立更適合程序員辦公嗎
程序員一般要連續在電腦前工作個大半天,容易導致腹部贅肉、頸椎壓迫和各種辦公病的發生。
強烈建議使用樂歌升降台,這是一款無需安裝的坐站交替產品。拆箱後,直接放在電腦桌上就能坐站交替了。
這是一種更健康、更高效的辦公方式。目前已經在國外普及開來,在國內也逐漸興起。
『肆』 說一說作為一個程序員,作息時間是怎樣的
通常早上9點半左右起床,到公司10點半。早上沒什麼工作效率,上上網,折騰折騰就過去了,中午午休到1點半,幹活到6點,吃過晚飯繼續幹活,通常到9點下班,忙的話會到10點,下午和晚上的工作效率比較高。到家之後上上網,查查資料學習一下,12點半左右睡覺。每個月大概有兩個周六會加班,周日在家休息,有時帶娃出去玩玩。
『伍』 程序員的工作狀態是怎樣的
我姐夫就是個程序員,他一年都很少回家,差不多每天都是泡在辦公室里加班加點的,姐姐說每次和他相聚都不到一天,吃完洗完又出去了,姐夫整個人都變了,黑眼圈很濃,臉上無光,頭發少了很多,也不愛說話,他到底經歷了什麼?以致於變成一個不折不扣,冷若冰霜,面容憔悴的人。
『陸』 程序員最理想的工作環境應該是什麼樣的
程序員的培養是一個漫長的過程,需要耗費巨大的財力物力,程序員本人也為了成為最優秀的,沒日沒夜的工作,多數男性程序員沒有女朋友,愛情的世界是一片空無,也沒有節假日。那麼作為程序員他們眼中理想的工作環境是怎樣的呢?
好的學習提升自我的氛圍
程序員希望所在的工作單位能考慮的更加長遠一些,能給自己創造一個好的提升技能的氛圍。希望企業能夠對自身技能提升有相應的培訓,不要只是單純的對程序進行加工,要有自己的創新性。
畢竟程序員做出的每一個程序都像是自己的孩子一樣,作為程序生產者的程序員,怎麼會不希望自己做出來的東西是最優秀的呢?所以,程序員最在意的是公司能否提供一個對自己有提升作用的氛圍。
程序員,雖然看起來是腦力活,但是沒有一個程序員不是為了自己開發的軟體付出所有,程序員想要的工作環境很簡單,就是有一個能提升自己,被別人尊重,希望國內的公司能為程序員創造一個他的所需要的基本的環境。
『柒』 程序員的辦公室政治有什麼特色
專業的程序員至少有以下表現:
1.承擔責任
這是專業和不專業的分水嶺。對於一般的程序員來說,他的責任就是及時、高質量的完成任務;對於 Tech Lead
來說,其責任就是統領全組,合理安排任務,讓組員各司其職。2.高質量的代碼
沒有Bug,每一段代碼都要有相應測試。可讀性要高。剛學計算機的同學,變數隨性命名,整個文檔看不到注釋。可擴展性和解耦性。最好的代碼不僅針對當前特殊的情況,還可以應對其他情況;以後即使對現有的代碼進行大量修改,也不應該影響其他模塊。
3.代碼上的時間
一個專業的程序員一周的花在計算機上的時間應該為每周60小時。最基本的40小時,要花在工作中。剩下的20小時,要花在提高自己身上。提高可以是多種多樣的:讀博客、做項目、看文檔、上公開課。
4.對自己領域的精通
無論是前端、後端、還是移動端,都有自己的一套架構體系。作為一名專業的程序員,我覺得應該至少對自己領域所有的知識都有涉獵了解;對於核心的部分,則要做到爛熟於心的程度。
5.思維模式
很多程序員平常寫代碼只在乎能快速解決問題,不在乎選擇解決問題的方法和原因,這是典型的不知其所以然。專業的程序員,理應對每一個問題、每一步設計都有自己的理解。
6.溝通
很多程序員只想寫代碼,做個安安靜靜的美男子,這當然無可厚非。但是你真的確定,正在在做的東西是老闆希望、客戶期待的嗎?作為一名程序員,理解自己應該做什麼、達到什麼效果、同時讓老闆知道什麼能夠實現、什麼實現不了,才是專業的表現。
7.合作
與組員的合作是專業程序員工作學習中重要的一環。除了溝通很重要以外,我想著重談的一點,就是程序員在合作中不能摻雜著辦公室政治。我所認識或者聽說的矽谷的大牛,跟同事皆是坦誠相待,對後輩也是傾囊相授。
『捌』 普通程序員的工作生活是怎樣的
通常我們進入公司以後,不會是重頭開始一個項目,而是在已有代碼的基礎上進行維護或新功能的開發,所以必須「讀代碼」。
讀有「泛讀」,了解系統架構、功能模塊,對系統有一個大致的認識,各個功能能找到相應代碼實現的位置。
還有「精讀」,通常就是調試了,在fix bug的時候使用。此外還包括審核:一些規范一點的公司,都會有code review,也是精讀,但不用debug。
對於一個成熟的項目來說,讀代碼——而不是寫代碼——可能是最耗時間的工作了。
寫注釋文檔
為了減少「讀代碼」的時間,我們不得不花時間「寫注釋」「寫文檔」——這個程序員最深惡痛絕的工作。所以現在「爛代碼才需要注釋」的聲音變得越來越強,但無論如何,文檔還是要寫的。(注意:要能區分注釋和文檔)
了解需求
好了,終於到了「寫代碼」的時間了。
然而,在動手開始寫代碼之前,你必須花時間「了解需求」。和自己寫個小程序玩玩不同,在公司,你是為別人寫代碼,所以你一定要了解別人究竟想實現什麼功能。通常,這並沒有你想像的那麼簡單,需要反復的溝通。
當然,也有一些團隊和個人,不願意在這上面「浪費時間」,通常他們的下場就是不斷的寫代碼,然後不斷的改代碼,加班加點的做大量的無用功,整個公司怨氣沖天一地雞毛。