談談對程序員的培養

這篇文章是我好久以來的想法,有一些感悟,有一些激烈的言辭,我很自豪我就是一名程序員,我希望給程序員或者前程序員們帶來一點啟發。也許你認可我的言辭,也許你不屑我的觀點,無論如何,歡迎談談你的看法。

讓程序員做更多種類的事

為什么有人說小公司鍛煉人?在小公司,條件并不那么齊備,很多事情都需要程序員自己做,自己去澄清需求、自己做設計、自己搭建環境、自己測試,甚至自己上線、自己維護(這件事情在我們團隊被稱為“自己吃自己狗食”)。

然而到了某些公司,在一些正規的流程下,“人”反而顯得不那么重要了:一個完、整的流程被切分成若干環節,程序員只能負責那小小的一環,更嚴重的是,他們顯示出消極和片面的情緒,他們稱自己碼農,自嘲并且覺得在總做一些低級和毫無技術含量的事情。

關于“碼農”——這似乎是一件很悲哀的事情,在美國,程序員是一個相當值得尊敬的行業,去年硅谷的技術員工年薪平均 已經超過10萬美元;在中國,教師的行業起碼獲得了人們口頭上的尊敬(雖然實質上也許并沒有獲得應有的待遇),而程序員,往往只能看到自己給自己吶喊。

這里沒有絕對的對錯之分,但我一直在博客中強調 軟件開發實質是一種創造性的勞動,只是在一個流程嚴格控制的公司內,這樣的創造的火花可能被扼殺,換來的好處是人員的流動中,代價最小化:誰都可以走、誰都可以代替誰,所有問題都被認為只是時間問題……那么,程序員,你的自我價值何在呢?

關于測試

我聽到很多真實的聲音,都在抱怨測試工作乏味、加班辛苦。 我認為,國內大部分的測試,其實完全是程序員扭曲的工作形態導致的。

專職的測試人員去做專項測試、整個系統的集成測試等等,我都能理解,但是絕對不應當深入模塊內部去測試開發人員的代碼,絕對不應該去考慮所謂的代碼覆蓋率——因為這些,比如白盒測試,本都是程序員自己該完成的事情。程序員自己開發的程序,當然要自己驗證功能,很多軟件公司在一些項目流程里就是沒有專職測試介入測試執行,原因很簡單,難道自己拉了稀,讓別人給你擦屁股?

另一方面,測試該掌握哪些技能?

我見過許多測試人員,他們抱怨工作總是被輕視,沒有說話的分量,但是每天的工作就是了解開發的流程,根據流程完成用例的編寫,然后執行那些用例,發現bug并填寫bug report。如果一名測試只需要做這些事情,那么確實太沒有技術含量了、太沒有入門門檻了,太單調乏味了。

測試需要成長,既為自己考慮,也為團隊中的程序員考慮。

做一名優秀的測試,除了要有分析能力、辨識能力等等軟實力以外,基礎技能如通信協議、腳本、編譯原理、操作系統等等,亦視情況掌握,只有這樣,才能和程序員從并不清晰的需求開始,一起去分析、設計、實現和質量保證、去和上上下下的環節做溝通、論證。
微軟的測試(QA)都把算法和編碼視為基礎要求,敢問國內一些公司的測試人員,有幾個敢這么說?

讓程序員遠離浮躁

去看看國內幾家知名博客和論壇,多少浮躁的博文和帖子四處亂飛?多少人在罵公司狗血,在自嘲薪水,甚至在人身攻擊?

浮躁的心態可能是造成這種現象的罪魁禍首,有一位同事說得好,很多具體的技術都可以學,但是執著的心和對技術的熱愛是不容易學得的。

整個社會都在日益浮躁,微博的流行正驗證了社會浮躁的趨勢,很多人沒有時間和耐心去寫完整的文章,但是兩三句感慨、甚至一詞半句的驚嘆卻容易得多;程序員像尋找速配男女一樣,在這個概念翻飛的時代,茫然地尋找自己應該進入的領域,應該了解的技術,于是,很容易看到許多所謂的架構師和咨詢師可以把這些東西講得海闊天空、天花亂墜,這個概念、那個素語,但是——給他一個具體問題吧,要他寫寫實際代碼吧,你會要了他的命。

給程序員一點寬松和鼓勵

都在說國內的IT環境不如歐美,大量勞動力的富余讓人力成本變得無比廉價,能讓青年付出賣腎代價以購買大部分配件都“Made In China”的iPhone, 中國卻只獲得了1.8%的利潤,這些都讓人感嘆,為什么中國做不出蘋果系列這樣的產品?為什么中國始終要給別人套上“廉價勞動力”的帽子?中國的程序員,你們的創造力呢?你們精彩的點子呢?

好吧,我聽到有人在說是教育體制的問題。 對于程序員的地位的思考有很多,可惜我們不是教育工作者,我們也沒有那么大的影響力,不過,在團隊中間,我們應當多給予這些脆弱的程序員們一點鼓勵,讓他們表達出自己的想法,特別是在設計上、實現上的想法,不要嘲笑任何人弱智,不要咒罵評審的代碼狗屁,多一點溝通,把眼光放長遠一些。

這些能表達出想法的人起碼可以證明兩點:有思考、有勇氣,僅這兩點,僅足以讓旁觀的人鼓掌。

一名優秀的Team Leader,不應該整天陶醉在跟蹤項目進度和獲取程序員工作反饋上。我們都明白,所謂一張一弛,在工作壓力恰當的時候,是最適宜工作的,程序員的工作本來就需要創造性,沒有適度寬松的環境,就沒有思維的火花。

讓程序員自己去布置工作臺,給他們創造機會聊聊天,把各個團隊、各個角色放到一起說說話,組織分享一些有趣的話題,做一些有意思的研究(最初程序員都很靦腆,得勞煩您多牽線搭橋了),Team Leader的工作,絕不僅僅是說“行”或“不行”。

程序員的理想

1983年,喬布斯對百事可樂的CEO John Sculley說:“Do you want to sell sugar water for the rest of your life, or do you want to change the world?”( 你想賣一輩子糖水,還是改變世界?)就這樣,一段傳奇的合作開始了。

我們已經不在戰火紛飛的年代,有多少程序員還愿意懷抱那些原始的理想,還能說出“做互聯網的弄潮兒”、“用技術改變世界”這樣的話來?

這個世界執著的人并不多,用這樣的理念去吸引程序員的公司,則更少。

關于技術

我始終覺得,做軟件的公司是需要依賴于技術的,當然國內可以稱得上是“技術公司”的并不多,但是,優秀的技術能讓程序員脫穎而出,也作為一種謀生的手段,為其覓得不錯的回報。

做技術能不能一直有飯吃?我想答案是肯定的,有許多公司聲稱技術路線可以一直有發展的可行性,但是技術牛人還是轉了管理或者一走了之, 有一種粗暴但是易行的鑒別技術公司的辦法,就是尋找里面有沒有40歲,甚至50歲以上還在做實際設計和編碼的人(不是那些脫離了具體實現向客戶吹噓的角色)。

世界上有兩種最賺錢的人,一種是真正的生產者,他們用自己獨一無二的聰慧、靈感和勞動創造了價值;一種是極其老道的投機者,專門從別人口袋里把錢掏出來放到自己口袋里。他們都受人尊敬、受人矚目,后一種讓自己的生活變得更美好,但是前一種,讓整個世界更美好。


如果你不能在技術的道路上堅決地走下去,在大部分公司做市場、做管理、做咨詢,順便鄙視一下別的辛苦工作的程序員,那么也可以混得很好——畢竟,生活的解總是有很多種。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/451519.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/451519.shtml
英文地址,請注明出處:http://en.pswp.cn/news/451519.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

我記得

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 我記得在農村一片一片金色的稻田 , 碧綠的秧苗 , 我想起有風吹過的時候那金穗一層一層的翻滾 ... 是一際熟悉于往昔的海洋 , 那火黃的…

Python實現文件md5校驗

Linux下校驗文件MD5值,最簡單的方法就是執行md5sum命令 md5sum filename 原本打算用subprocess調用系統命令來獲取md5值, [python] view plaincopy print?import subprocess,shlex cmd "md5sum filename" p subprocess(shlex.split(cmd…

Nexus 安裝(Linux 環境)

一、環境準備 安裝 JDK 1.7 二、下載 Nexus 壓縮文件 下載地址:http://www.sonatype.org/nexus/archived/ 三、上傳壓縮文件 四、解壓縮文件 五、配置環境變量 1、臨時配置 mvn clean package -Dmaven.test.skiptrue -Dmaven.javadoc.skiptrue命令:expor…

android 連接指定wifi

本文牽涉kotlin和rxjava的相關知識 //查詢wifi信息需要申請權限,權限工具類就不要在意了,重點在下面 PermissionUtils.permission(PermissionConstants.LOCATION).callback(object : PermissionUtils.SimpleCallback {override fun onGranted() {//通過授…

英特爾預計5年內將成智能手機芯片大廠

北京時間4月26日早間消息,英特爾預計,英特爾在未來5年內將成為智能手機芯片市場的“重要參與者”。過去10年中,英特爾在這一市場的多次嘗試都未能獲得成功。 英特爾CFO斯泰西史密斯(Stacy Smith)表示:“英特爾并不滿足于成為市場中…

java.util.UnknownFormatConversionException: Conversion = ‘,‘ 解決

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1. 報錯&#xff1a; 2. 原因&#xff1a; 出錯代碼&#xff1a; if(info.getRiceCount() < 0){ ... } 事實上 對象的riceCoun屬性值…

JAVA中獲取當前系統時間

一. 獲取當前系統時間和日期并格式化輸出: import java.util.Date; import java.text.SimpleDateFormat;public class NowString { public static void main(String[] args) { SimpleDateFormat df new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//設置日期格式Sys…

爬蟲中的關于字符串的一些理解

1.基本概念 字符(Character)是各種文字和符號的總稱&#xff0c;包括各國家文字、標點符號、圖形符號、數字等 字符集(Character set)是多個字符的集合 字符集包括&#xff1a;ASCII字符集、GB2312字符集、GB18030字符集、Unicode字符集等 ASCII編碼是1個字節&#xff0c;而Uni…

分布式數據一致性

分布式系統數據一致性問題 感謝作者分享&#xff01;

HttpServletRequest中獲取IP值

獲取IP值&#xff1a; public class IpAdrressUtil {/*** 獲取Ip地址* param request* return*/private static String getIpAdrress(HttpServletRequest request) {String Xip request.getHeader("X-Real-IP");String XFor request.getHeader("X-Forwarded-F…

國外較好的IT網站

最近有些讀者給我來信說很喜歡這個網站上的文章&#xff0c;并且也想通過翻譯學習英文&#xff0c;他們詢問我這些文章的英文原文是從哪里找到的? 外刊IT評論上的翻譯的英文來源很雜&#xff0c;我總結了一下&#xff0c;大概有幾個 集中的出處&#xff0c;下面列舉出來供大家…

oracle怎樣把查詢的null轉換為0

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 NVL(Expr1,Expr2)如果Expr1為NULL&#xff0c;返回Expr2的值&#xff0c;否則返回Expr1的值 例如&#xff1a;select NVL(SUM(MONEY) ,0…

Map轉為String

Map轉為String 最近在做redis緩存時&#xff0c;需要將一個Map<String,Object>的對象轉換為String對象存入redis&#xff0c;用的時候需從redis中取出來后并轉為Map<String,Objcet>對象。 之前的做法直接就是Map對象的toString()存入redis,后面取出是就是用再轉換為…

PowerBI分析Exchange服務器IIS運行日志

只要是基于Windows Server 的IIS來提供Web服務的應用&#xff0c;其實都可以對IIS的日志W3C進行分析&#xff0c;這樣可以快速的了解整個web站點的運行情況&#xff0c;特別是對一些請求頁面響應時間有要要求的&#xff0c;都可以從這些日志中分析問題出在哪&#xff0c;下面我…

創建自已的sql函數

# 隨機產生字符串 #rand_string(n INT) rand_string 是函數名 (n INT) //該函數接收一個整數create function rand_string(n INT) returns varchar(255) #該函數會返回一個字符串begin #chars_str定義一個變量 chars_str,類型是 varchar(100),默認值abcdefghijklmnopqrstuvwxyz…

優秀博客匯總

分布式事務產生場景 一文搞定分布式系統數據一致性問題 分布式緩存的基本原理 分布式相關匯總 分布式事務&#xff0c;兩階段提交協議&#xff0c;三階段提交協議 三星索引 TCP如何保持長連接&#xff0c;并識別不通請求&#xff1f; redisson中的看門狗機制總結 二叉樹…

.NET Framework各版本比較

導讀&#xff1a;一直以來&#xff0c;眾多學校教學以及公司開發環境所使用Visual Studio .NET Framework版本多不相同&#xff0c;本文作者比較了.NET Framework多個版本之間的區別&#xff0c;方便各位選擇和切換.NET Framework。 版本號 發布日期 Visual Studio的版本 Windo…

java中 4 種取整函數

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 如下&#xff1a; round 函數可以特別注意一下&#xff1a;

python中的.idea文件夾是干嘛的

pycharm作為IDE時&#xff0c;會自動生成.idea文件夾用。 來存放項目的配置信息。這個文件夾是自動生成&#xff0c;版本控制信息等&#xff0c;包括歷史記錄。

section8

本章節的目的是 【明確目標用戶群】 &#xff0c;以更好的服務現有用戶。 【知識點】 1.作圖 顯示中文plt.rcParams[font.sans-serif] [SimHei] # 步驟一&#xff08;替換sans-serif字體&#xff09; plt.rcParams[axes.unicode_minus] False # 步驟二&#xff08;解決坐標軸…