軟體工程師的價值來源於產品是否成功還是技術是否過硬?
看到過一句話,說很多技術人員不明白一個道理,他們的價值(收入)在於產品或項目的成功與否,而不是技術複雜度。
但是當前的市場招聘技術人員時,卻看重一個人的技術能力而非他所在的產品或項目,畢竟大部分技術人員不是項目的負責人,招聘方只看重其掌握的技能和其他能力。這裡就會產生一個矛盾,我在現實中也確實遇到過很多這樣的人,技術人員不考慮產品和項目去研究技術,樂於複雜度高的技術而不是直接找簡單的途徑去解決問題。比如說:
有現成的框架和庫不用,非要自己搗鼓;覺得有些東西太簡單,沒有深度不想學,怕自己淪為腳本男;對於所謂「過時」的技術沒有興趣,追求時髦,並冠以技術前瞻性的名義;對於以上情況,我們該如何應對呢?
當然是技術過硬了。一般產品成功主要都是靠產品狗。
當然了,這並不是說產品成功跟程序員就完全沒關係,只是產品不成功也不能怪程序員,但是這是可以怪產品狗幹得爛的。
這個問題,要分個體戶和打工仔。
如果是個體戶,那麼軟體工程師的價值直接來源於他的作品。比如求伯君,寫了一個WPS就奠定他高手的地位,老一輩的程序員很多都是這樣的。就算是一個普通學生,你拿出一個很不錯的軟體作品,現在找份高工資的工作都不難,因為別人通過你的作品認可你的能力,認為你是有價值的。
如果你是打工仔(或者說你是某產品或項目團隊里的一員),問題就複雜些了。
如果你參與的項目或產品失敗了,沒什麼好說的,別人是不會認可你的價值的。敗軍之將,豈可言勇?
如果你參與的項目或產品成功了,得到了用戶的認可和稱讚,項目和產品是有價值的,但你是否有價值,要看你在你所參與的項目中具體的地位和所起的作用。
如果你是骨幹成員,甚至是項目的核心人物,那項目和產品的水平高低,成功與否,自然就成了別人衡量你的價值的標準。但如果你只是在裡頭打打下手,幹些整理文檔之類的外圍工作,那項目的成功基本上與你關係不大(除非你能讓不知情的人以為你是骨幹,他們自然會高看你一眼,給你較高的工資)。而項目和產品的成功與否,受很多因素的影響,可以肯定,技術雖然很重要,但不是決定性的因素。
至於找工作跳槽談待遇,個人的技術水平就很重要了,一般來說,技術水平高的人拿的工資也會較高,除非他溝通表達能力不行,讓別人以為他技術水平很差。
綜上所述,作為一名軟體工程師,持續地學習,不斷地提升自己的能力,是提升自己價值的有效途徑。程序員的價值在於可以把一個憑空的想法,變成可用的產品,變得越快,質量越好,程序員的價值就越高。但至於產品有沒有人用,更多取決於想法本身好不好。
產品做出來沒人用,產品同學有責任。產品因為太多人用而經常出技術問題,崩潰/丟失/bug,技術同學有責任。(例如餓了嗎網站經常中午掛掉,就是技術不給力的表現!)
工程師的價值體現在產品上,這一點毫無疑問,連羅永浩都懂。他拚命鼓搗個鎚子出來證明他的工匠精神和情懷是有價值的。
否則,知乎上的鍵盤俠們的價值太高了,個個看起來都技術超群。
程序員們不能搞雙重標準,一面瞧不起「產品經理」,一面把產品失敗的責任推給產品經理,把自己洗得雪白。
技術過硬重要。產品經理向技術或者框架,類庫妥協的原因只有一個 你短時間內做不出來,長時間內做不好。能自子搗鼓庫,框架,演算法的人,說明他明白市面上沒有滿足他需求的東西,或者滿足他需求的東西太貴。
需求理解能力和需求實現能力是同等的重要,理解了做不出來只是眼高手低,不了解需求或過度解釋需求,然後用各種時髦的技術瞎搞那是好高騖遠。
對領域的了解 + 領域上的實現能力 = 經驗
經驗要靠積累。軟體工程師,不是軟體技術員。軟體工程師的價值,應該從產品中體現。這也是結果導向。
再前瞻的技術,也會更更前瞻的技術打敗。所有的技術,都會更替。而我們不是技術的創造者,而是技術的使用者。技術於我們,價值何在。
工程師應該是有創造性的,是懂設計的,是面向產品的。應該用最簡的技術來實現產品自然是產品,技術只是為了達到需求而採用的一種手段
無論你是技術過硬,還是身後承擔過了不起的產品,你都會受到歡迎。人的價值觀都是多元化的,有研究院里的教授,就有創業場上的弄潮兒,有喬布斯,也有沃茲尼艾克。
這麼說吧,程序員根據產品提升的價值(薪酬)的速度&>自身技術實力提升的速度, 甚至大部分程序員通過自身技術實力獲得超過20k薪酬是終身不可能完成的任務. 因為大部分程序員的技術實力提升到了某個階段就停滯不前了.
在很多公司程序員乾的事情年復一年在重複, 干到自己都認為就是個體力勞動, 在這種情況下想要獲得價值的提升只能跟對項目一個方法;
還有, 很多公司也不一定需要很多牛逼的技術, 更多是跟隨公司一起成長, 忠誠的員工干各種苦活累活(沒啥技術含量,就是麻煩瑣碎,但總要人去做), 對公司業務系統更熟悉, 這樣程序員的價值提升在於長遠在公司沉澱,拿股票等方法.
綜述, 程序員的價值(體現在薪酬)是個綜合的東西, 僅看重技術實力而看輕其他東西,多少有些幼稚.自然是技術過硬.
技術過硬。
很多技術大神都有在失敗企業工作的經歷(比如netscape)。推薦一本書,《coder at work》。感覺你問的問題與問題描述沒有太大關係啊,能夠直接找簡單的途徑去解決問題,這不正是軟體工程師技術過硬的一種體現嗎??不明白題注你到底想問什麼...
當然是技術過硬,這樣你才有資格挑選產品狗,或者乾脆不帶產品狗們玩。
產品差就是產品經理渣!
題主對工程師的現狀完全不了解啊·····以產品成敗看程序員是不科學的:我經歷過的項目,用戶量80%靠推廣,產品體驗80%靠交互設計和視覺,一個彈窗直接用戶量翻倍你敢信?產品成功了程序員漲工資?只能說不一定。QQ飛車年終40個月確實是真的。但是我們產品用戶從10w到千萬我是沒咋漲
從業生涯很多年,見過太多例子。垃圾產品的技術開發者跳槽到另外一個公司被牛逼的產品經理帶做出牛逼的產品出來。同時也見過垃圾產品的技術開發者下苦工夫在垃圾產品上作出讓人耳目一新的亮點來。但是牛逼的產品往往是全面的牛逼,而不是單一一項特別突出。所以開發者的成功在於產品或者項目的成功。
推薦閱讀:
※量子計算實驗需要什麼理論背景?
※如何看待中國建成世界首台光量子計算機?
※清華交叉信息學院與清華計算機系的區別是什麼?各適合什麼樣的同學?
※計算機的工作原理?
※2017年,你看了啥很好的計算機的博客/書/視頻?