最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

程序員的日常丨你眼中的“程序員”是什么樣子?別再被謠言誤導了!

2022-07-28 16:18 作者:C語言編程__Plus  | 我要投稿

在很多人眼里,程序員是一類高薪、“高?!?的職業(yè)。?他們穿著格子衫、頂著一碗超帥的光頭,能修電腦、能黑網(wǎng)站、簡直無所不能。?。?。

但直到我自己當上程序員,才發(fā)現(xiàn)其實很多都是對程序員的誤解。除了外行的誤解外,還有很多來自于程序員同行的誤解。

今天我就結(jié)合自己的學習 / 工作經(jīng)歷和感悟,分享下我對這些誤解的看法,當然也希望給程序員朋友們一些實質(zhì)性的建議和啟發(fā)。


外行的誤解

1. 程序員為啥工資那么高?人均年薪百萬?

作為達不到平均的一方,我覺得這句話傷害不大,侮辱性極強。

程序員平均薪資可能的確稍微高了一點點,但是年薪百萬真的是幸存者偏差了,真的極少數(shù)程序員(尤其是只憑技術(shù)的程序員)能做到這個地步。如果你拿我和小馬哥去平均,那我還人均千萬、人均上億呢,對吧?

2. 發(fā)量代表水平?

之前很多同學看我都吐槽說:“你為什么還有頭發(fā),你個菜雞!”

我覺得,如果發(fā)量代表水平的話,我應(yīng)該比在座的大多數(shù)同學都要濃密才對。

所以有沒有種可能,是因為太菜,需求做不出來,Bug 改不完,所以才經(jīng)常熬夜加班,精神壓力極大,導致頭發(fā)熬沒了呢?

咳咳,別罵了別罵了,是我本人了。


3. 感覺程序員的手速都很快?

我覺得這個要分情況。拿我自己來說,我一般在 2 種情況下敲鍵盤比較快:

要么是在寫賊簡單的、不用動腦的重復代碼(比如增刪改查);

要么就是在回消息聊天。

所以有沒有種可能,程序員的手速是通過摸魚、懟產(chǎn)品、重復勞動、或者是平時打游戲打得多而提升的呢?

不過畢竟要經(jīng)常敲代碼,所以程序員的手速通常都不慢。

4. 程序員都是 996 嗎?

我記得我之前不怎么加班的時候,就有人經(jīng)常問我:你為什么不加班?

這個問題直接把我問懵了,好像我真的覺得自己應(yīng)該加班,不加班是罪過。

我想說其實程序員也是有個人時間的。至于為什么程序員經(jīng)常會加班呢?我覺得主要是以下幾點:

首先是我們的程序代碼是越寫越多的,寫得越多,系統(tǒng)越復雜,Bug 就越多。就拿我自己來說,剛做項目一周的時候,就那幾行代碼,Bug 也好查。但現(xiàn)在項目做了一年多了,用戶也多了,很多陳年老 Bug 慢慢被發(fā)現(xiàn)了,而且經(jīng)常牽一發(fā)而動全身。

第 2 點是程序員對排期的錯誤估算。我發(fā)現(xiàn)一個有趣的事情,需求是做不完的,你需求做得越快,新需求來得就越快;而且我們很多時候只考慮了做需求的時間,沒有考慮改 Bug 的時間。但現(xiàn)實卻有可能是改 Bug 的時間比開發(fā)的時間還要長。所以可能的話,還是別把需求排太滿,預(yù)留一部分時間改 Bug。

當然還有很多其他因素,比如不會拒絕需求、不會跟產(chǎn)品 Battle、缺乏經(jīng)驗、寫的系統(tǒng)不利于維護、或者身邊的人都很卷你不好意思走等等。總之加班是由很多方面決定的。


5. 重啟可以解決 Bug?!

對不起,我覺得這個并不是誤解。。。這是真的!

以前我遇到過一些莫名其妙的 Bug 就死扣到底,但后來我就學聰明了,先重啟一下編輯器、重啟下軟件,說不定就好了。因為 Bug 不一定是你造成的,可能真的是編輯器的 Bug。

大家就理解為電腦死機后,重啟一下就又能開機了。原理應(yīng)該是差不多的(將程序置于初始化狀態(tài))?

同行的誤解

1. 算法和數(shù)據(jù)結(jié)構(gòu)不重要?

有很多程序員是這么認為的,覺得工作中也用不到自己寫算法,用個現(xiàn)成的函數(shù)、類庫,或者上網(wǎng)抄一段就能搞定對吧?

但事實上,有些時候并不是你用不到算法,而是你缺了一些知識,根本想不到可以用算法去更好地解決問題。比如同樣是存儲和查找?20 萬?個單詞,沒學過算法,用數(shù)組也能存、也能順序查找,但是時間空間都存在浪費;那如果你知道前綴樹或者其他數(shù)據(jù)結(jié)構(gòu),就可以大幅節(jié)省存儲空間、提升查找效率。

我覺得自己學的知識越多,反而會越覺得基礎(chǔ)才是最重要的。因為上層的技術(shù)不斷發(fā)展、不斷迭代和淘汰,但是底層原理、編程思想、基本功一般是不會變的。

當然也有同學問是不是前端就不用學數(shù)據(jù)結(jié)構(gòu)和算法了呢?只能這么說,這一塊在前端面試的比重的確不大,時間緊大家可以優(yōu)先以技術(shù)框架學習為主,但是有空了還是要好好補一下基礎(chǔ)。


2. 寫程序應(yīng)當追求完美?

我覺得這句話對一半,應(yīng)該是追求?特定條件下?的最優(yōu)解。

沒有工作經(jīng)驗的同學會覺得程序就要完美,看見你程序有 Bug 了、寫得不好看了、前人留屎山代碼了,多少都會嫌棄。

其實真實工作下,我們沒辦法把程序?qū)懙酵昝溃强臻g和時間的權(quán)衡,比如?HashMap?,用內(nèi)存換查找效率;或者人力成本和資源的權(quán)衡,比如花錢買現(xiàn)成的服務(wù),節(jié)省開發(fā)時間;再或者是需求和實現(xiàn)的權(quán)衡,比如天天都讓你做緊急需求,你還有空去優(yōu)化架構(gòu)、有空去追求極致的性能么?對不對,代碼屎山就是這么來的。

所以這里就要求我們在寫代碼之前先做調(diào)研設(shè)計,多思考幾種方案,權(quán)衡利弊,然后從中選擇相對的最優(yōu)解。同時也希望對別人寫的代碼多一些包容,把你放在別人的場景下,你未必能做得更好。

3. 代碼量等于水平?

在學校的時候,我的確是這么認為的,當時經(jīng)常跟舍友吹牛逼說我今天又寫了多少行代碼。但現(xiàn)在仔細回想一下,絕大多數(shù)可能都是復制粘貼、增刪改查。

進了公司后我才發(fā)現(xiàn),真正寫代碼的時間很少,像前期的需求評審、跟產(chǎn)品 Battle、方案設(shè)計、技術(shù)選型、溝通、資源協(xié)調(diào)更重要,也往往更花時間。在你想清楚要不要寫代碼、怎么寫代碼后,再去寫代碼,那時你會發(fā)現(xiàn)只不過是一種翻譯工具而已。

而且就我觀察下來,一般職級越高、工資越高、能力越強的人,寫的代碼反而越少。并不是他們寫不出來,而是他們已經(jīng)寫得太多了、已經(jīng)有了很多經(jīng)驗、更懂得去利用工具來脫離重復的工作,比如寫個自動化腳本、重復代碼生成工具之類的。


還有一方面原因是公司需要他們?nèi)プ龈匾氖虑椋瑥牡讓拥膱?zhí)行慢慢轉(zhuǎn)變?yōu)樯蠈拥臎Q策,比如剛剛說的方案設(shè)計、或者系統(tǒng)架構(gòu)。大佬定了個框架,寫個 Demo,剩下的就交給我們小碼農(nóng)對吧。

所以代碼量是無法真正權(quán)衡水平的,在做需求時多去思考更合理的解決方案、寫代碼時盡量避免重復勞動,才是我們要追求的。

4. 技術(shù)決定程序員的水平?

我覺得這個誤解和上一個很像啊,如果你覺得程序員的工作就是寫代碼,寫得多、寫得快就是強者,那你就真的把自己當成碼農(nóng)了。

我覺得衡量優(yōu)秀程序員的標準絕不止有技術(shù),比如問題的解決能力,同一件事,你完成得比別人快比別人好;比如業(yè)務(wù)理解能力,給你一個需求,很快就能判斷它是否合理、梳理清楚流程;比如溝通能力,你能夠很好地維護用戶、組員、同事、跨部門合作者的關(guān)系,從雜亂的消息中提取出有效信息;比如產(chǎn)品思維,你能給出更好的建議來推動產(chǎn)品發(fā)展;比如管理能力,善于組織成員、推動團隊發(fā)展;再比如分享表達能力,能把自己學會的東西清晰地講出來、讓別人也能理解,我覺得是一件很酷的事情。

- EOF -

為了幫助大家,輕松,高效學習C語言/C++,給大家分享我收集的資源,從最零基礎(chǔ)開始的,幫助大家在學習C語言的道路上披荊斬棘!

微信公眾號:C語言編程學習基地

C語言零基礎(chǔ)入門教程(83集全)

整理分享(多年學習的源碼、項目實戰(zhàn)視頻、項目筆記,基礎(chǔ)入門教程)

歡迎轉(zhuǎn)行和學習編程的伙伴,利用更多的資料學習成長比自己琢磨更快哦!大家也要把握住大學的時光,抓住成長的每一次機會哦~

編程學習視頻分享:

粉絲編程交流:


程序員的日常丨你眼中的“程序員”是什么樣子?別再被謠言誤導了!的評論 (共 條)

分享到微博請遵守國家法律
耿马| 曲阜市| 利津县| 金阳县| 曲阜市| 景德镇市| 兴安县| 宾川县| 高淳县| 永定县| 禹州市| 夹江县| 邛崃市| 平江县| 临沂市| 三都| 宾川县| 溧阳市| 仪征市| 晋城| 江阴市| 改则县| 江油市| 新泰市| 班玛县| 大埔县| 泉州市| 车险| 长治市| 清水河县| 安国市| 威宁| 武宁县| 滦南县| 门头沟区| 赞皇县| 沙雅县| 吉安市| 平利县| 通化市| 城步|