怎樣做一個有價值的程式員?
從一段代碼說起
package com.jeff.study.jdk8.stream;
import java.lang.reflect.Modifier;
import java.util.Arrays;
/**
* @Description 迭代常量類中的某些屬性
* @Date 2021/1/16 2:38 下午
*/
public class TestConstantStream {
public static void main(String[] args) {
Arrays.stream(Numbers.class.getDeclaredFields()).map(field -> {
int mod = field.getModifiers();
if (Modifier.isPublic(mod) && Modifier.isStatic(mod) && Modifier.isFinal(mod))
return field;
else
return null;
}).forEach(System.out::println);
}
}
enum Numbers {
ONE(1),
TWO(2),
THREE(3),
FOUR(4),
FIVE(5);
private int value;
Numbers(int Value) {
this.value = https://www.cnblogs.com/h88999/p/value;
}
}
jdk8 以后函式式編程流行起來,lambda 運算式、Stream API 開始被程式員們使用,
然而也總有一些程式員覺得,這些技術的升級換代并沒有足夠的理由讓他們去重構他們的代碼,已有的業務足夠穩定,沒必要去運用這些所謂的“騷操作”,
這些想法并不是無法理解,因為他們即便使用最原始、最 lowB 的寫法一樣可以實作功能,比如 foreach 和 for 兩種寫法都可以,我就喜歡用 for,有何不可?這些想法的人一樣可以在企業中混得風生水起,只手遮天,
所以,在這些地方,技術的更新迭代并不能讓掌握了它們的程式員得到什么利益和機會,那這些程式員的價值由什么決定呢?
對于程式員來講,價值怎么體現?一個程式員的價值,就體現在他的稀缺性上,物以稀為貴么,亙古不變的道理,
“聞道有先后,術業有專攻”這句話很適用于程式員,直白點說,技術的精湛不是以年齡來評判的,有的朋友在上學時的技術水平已經比作業十來年的高了,有作業十年的水平不如作業三年的,當然也有很多程式員的技術水平是正比于年齡增長的,
作為一個老程式員,只有你的技術能力正比于年齡,才是合格的,否則就必然越走越慢,慢慢掉隊,最終就只能面臨被年輕人擠兌、淘汰的窘況,結果就是被迫離開程式員的隊伍,
程式員要想讓自己的價值持續增長,有這么幾個方向可供參考,
(一)選行業
在一個行業內持續積累,對行業的理解到位,積累深厚,你的價值是巨大的,不信你去瀏覽招聘網站上的崗位需求,99%都要求相關行業背景,
所以,選擇一個靠譜的、前景好的行業非常重要,只要這個行業能夠不斷發展、前進,你的積累就是有價值的,你自己就是不斷增值的,
(二)技術
程式員,業務積累是屠龍刀,技識訓累是倚天劍,兩個都有,那就逢山開路遇水搭橋沒有走不通的路了,你一定是先鋒部隊尖刀兵,到哪里都具有超強的攻擊性,
技術上最起碼的要求??/術水平和視野對得起年齡,如果有超越年齡的積累和犀利,那就沒話說了,地球人已經阻擋不了你前進的步伐了,
就技術來講,假如你掌握了一門很難又很重要的技術,那單單是這一點,就很有價值,
比如你熟悉 Windows 內核或 Android 內核,能夠熟練撰寫各種驅動,那找個月薪五六十K的作業不成問題,再比如你影像處理演算法很牛,再比如你視頻解碼演算法很牛,……像這些特定領域的演算法,我們也叫它技術吧,如果你懂類似的演算法并能實作之,恭喜你,你已經超越了 90% 的程式員了,你的重要性和價值將不可估量,
(三)產品意識
做產品也是講感覺的,當然有時我們覺得對產品的把握是產品經理的事兒,這么講對,也不對,產品經理雖然是不掛銜的 CEO ,但產品的最終實作,是要靠程式員的,假如你對產品沒有熱情、沒有感覺,無所謂好無所謂壞,那很難做到出色了,
我的結論是:程式員的價值與年齡沒有直接關系,價值不會反比于年齡,作為軟體開發人員,自己不要給自己在年齡上設限,很多事情我們沒做成,很多時候我們沒能取得更大的成就,都是因為我們先給自己設定了限制,用這個限制禁錮了自己,
下面這張圖來自文章“2014年中國程式員調查報告”,說明了國內程式員的年齡分布情況:
誰說程式員干不過三十歲呢,資料表明,30歲以上的程式員占比高達 48.62%,占整個程式員群里的將近一半,
2015年1月22日,我去參加 Qt 西安開發應用研討會,有一哥們就是老程式員,40多了,寶刀正鋒利呢,
王江民30多歲寫軟體,43歲搞出橫掃殺軟市場的江民殺毒,
我的老上司,40來歲了寫直播流媒體協議,P2P的,傳輸效率高且穩定,
……
年齡只是一個自然現象,而我們的經驗、認知、能力、心智成熟度,在合理的情況下,都是隨著年齡增長的,廉頗不老,黃忠能戰,只要你走在正確的方向上有值得稱道的積累,緣何不能橫刀立馬顧盼自雄也,
為什么沒有價值?
我一直在想,一個努力學習的人,怎么可能會沒有價值?
后來因為某些機緣,我突然明白,不是你沒有價值,是你的創造沒有價值,是這些創造不需要你的能力,
對于程式員來說,我們都在創造代碼,代碼就是我們的產品或者輸出,但是代碼有好壞之分,即便是微信或者 QQ 這樣用戶規模的系統,代碼也一定有好有壞,但關鍵是那些代碼創造的是微信、QQ,所以寫代碼的人也就創造出了價值,有了價值就勢必會得到膜拜,得到認可,
作業這么多年,待過的公司也有許多,見過對代碼有潔癖的人,也見過毫無追求瞎寫的,他們都在創造不同的價值,但瞎寫的反而會更受到重視,會更被肯定價值,
那么價值由誰決定?不是應該由你的實力決定的嗎?就好像一個杯子,材質不同價值也就不同,難道價值跟使用他們的人還有什么關系,
直觀講,技術人的價值體現為技術人的技術實力,技術實力體現在技術的輸出與創造,然而你的輸出與創造即使讓人覺得你有兩把刷子,也無法真的決定你的價值!
誰才是這場競賽的裁判?
你又將你的技術輸出在了什么地方?有人認可嗎?
有幾個時間點可能會是技術被認可的絕佳時機,
- 面試:面試官直接面對你的技術,通過各種方式考察你的技術,
- 作業:作業中完成大佬布置的具有難度的任何要求,給任務提出解決思路,
- 會議:技識訓議中提出自己的見解和思路,讓別人了解你的技術,比如代碼走讀中以自己的技術敏銳觀察力發現問題和提出解決方案,
- 除此之外,能否被認可還取決于你自己的表達意愿和大佬對你是否感冒,這這兩點我認為起了 80%的作用,
技術沒有裁判,你要自己尋找公平的平臺,
你能否得到機會,你能否得到匹配你自己實力的平臺,真的需要自己的追逐,不要在一個不認可你價值的地方停留太久,那樣只是會浪費自己的時間,
當然,你可以在不被認可的時候持續蓄力,增強自己的能力,閃閃發光,讓大佬看到你的價值,你也可以鯉魚躍龍門,去往更高的階梯,
開源時代,別讓內卷耽誤了你?
莊子說:吾生也有涯,而知也無涯,以有涯隨無涯,殆已!
究竟路在何方?
有的時候,我也會陷入迷茫的痛苦之中,明明自己一直很努力,已經持續了很多年,不停地學習,為什么而今還是混成這個模樣?后來出現了一個詞頓時讓我明白了------內卷,
搞私單、學大資料、學 AI,泛泛地學了很多,走了很多彎路,浪費了很多時間,最后才有了那么一點感悟,有個認識的哥們說,他到快 30 歲才明白如何去學習,其實,許多人何嘗不是呢?
技術大爆炸的開源時代,行業不斷興起,技術層出不窮,我們總是覺得自己這也不懂,那也不會,總想什么都去了解一下,總想一口吃個胖子!但現實是,我們的精力和時間都是有限的,我們只能把有限的時間和精力用在最有價值的地方,那么何為最后價值的地方?
作為碼農,我覺得就是要搭建自己的技術體系,用小馬哥的話來說就是“一精多專”,不需要什么都會,
如何搭建自己的知識體系?
萬丈高樓平地起,不積跬步無以至千里,
基礎是很重要的,c/c++基礎包括C語言基礎知識、資料結構與演算法、MySQL 資料庫和指標等等,除此之外,基礎還包括一些架構設計的基本原則、基本思想,軟體工程的基本素養如知道什么是瀑布模型、敏捷開發等,善于利用工具提高開發效率,有改善專案開發流程,提高開發效率的意識,甚至是一些溝通的技巧和一定程度的技術影響力,
最后,想送上幾個字給自己和大家------內求于己,寧靜致遠!
如果你想的你的編程之路快人一步,如果你也希望提升你的編程能力,了解C/C++更多知識,+Q群:1151395975,接受牛人大牛們的指導,聽聽他們對寫代碼的建議,一起快樂學習,共同進步~
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/251458.html
標籤:其他
