1. 程式人生 > >入坑IT都快十年了

入坑IT都快十年了

一起幫的開發直播已經告一段落:一是主體的功能差不多都實現了,二是用到的架構技術都展示得差不多了。以後就算繼續開發,也應該都是一些“技術上”重複的工作而已。整個直播過程耗時近半年,SVN提交1062次,視訊錄影60.5G,涉及到一個專案開發的方方面面,想來還真是有那麼一點小小的成就感。

從包工頭到程式猿,一晃就是快十年了。

想想我當初“三個月學會程式設計”的計劃,不覺莞爾。計劃從三個月變成一年,又從一年改到三年,再然後從三年到十年……我就這樣磨磨蹭蹭的一路走了過來?

回過頭來看看,有沒有什麼彎路?是不是耗時太長?有沒有什麼心得體會?

其實心裡有點亂。

可能也捋不出個一二三,就想到哪兒說到哪兒吧。

一起幫的所有功能,我捋了一下,其實也沒什麼複雜的。僅從功能來看,五年前,甚至七年前,我都應該能夠做出來了吧?那我這些年,究竟在幹嘛呢?

所以有一個非常流行的問題:“程式設計師三十/三十五(以及五年後的四十?O(∩_∩)O~)歲之後在幹嘛?”或者,換言之,“程式設計師是不是隻能吃‘青春飯’?”因為,做了一段時間之後,你就會非常悲催的發現,好像每天都在重複勞動,乾的都是體力活,技術上的提高非常有限……

有上面這種想法的人,其實還是比較幸運,不,只能說比較舒服的,因為他們多半是在一些比較穩定的單位/職位上,使用比較成熟的技術,所以才會有這種感覺。而另外一些更悲催的同學,可能一年到頭都在學習各種新技術,他們追得更累,他們的疑問大概應該是:“十年之後究竟還有多少技術是有用的?”

這些問題,確實不怎麼好問答。

先說技術的更新換代吧。

  • 我最早進公司的時候,人家的老程式碼還是ASP,Html和VBScript混在一起,眼睛都要開花了的那種,真真不堪回首……
  • 還好很快就升級成ASP.NET 2.0 WebForm,控制元件開發,頁面和後臺分離,那一個爽啊;那時候以PetShop為範本,“三層架構”滿天飛;是用DataReader還是DataSet吵得不可開交……
  • 安生日子還沒過幾天,Ajax來了,“富客戶端”和“富伺服器”端吵得天昏地暗,最後還是富客戶端贏了,WebForm式微,迎來了ASP.NET MVC;資料庫操作早就換成了Linq to SQL,雖然還有不少人言之鑿鑿的說Linq效能不行……
  • 這MVC一出來,感覺又回到了ASP時代一樣,View上面亂得一塌糊塗,但靈活啊,和各種前端框架結合方便啊;後臺又蹦出一個Entity Framework,好在我用的是NHibernate,這玩意我沒怎麼接觸……
  • 還沒有接觸的,現在火得一塌糊塗的,還有各種前端框架,什麼Vue啊React啊之類的;以及萬眾矚目的.Net Core
  • ……

也就不到十年的時間,回過頭來看看,確實是眼花繚亂——這還就ASP.NET這一塊!

我不是經常以“野生程式設計師”自居嗎,有人看了我的經歷,說,“呸!你都培訓班出來的,你好意思說你是‘野生程式設計師’?”我仔細琢磨琢磨,培訓班學的那點東西,和我現在用的這些技術,不知道哪里哪里了喲!

其實啊,不管科班的,還是野生的,做程式設計師,最終還是靠自學,否則根本走不遠,是不是?

可能有些剛入行的同學被嚇著了,呵呵。但其實呢,也沒你們想像的那麼恐怖。我說幾點:

1、技術是漸進地演化的。每一個新技術,都不是憑空出現,而一定是構建在之前的技術上的。這就有兩個結果:

  • 有基礎的老人,可以更輕鬆的學習新技術。比如有了ASP基礎的老鳥,學習ASP.NET,不管是WebForm,還是MVC,你這些元件,直接一跑看生產的html,就已經懂了一大半,其他的GET/POST,cookie,session,門清兒得很。對於老鳥來說,很多東西,換湯不換藥,上手快得很。
  • 直接學習新技術的新人,紮實程度上比不上老人。這一點,我發現很多“外行”真沒搞懂。我轉行那年,才26歲,我表姐就說,“搞IT,是年輕人的事,你都這麼一把年紀了……”當時我還真被她給嚇著了,但入行越深,才越發現不是那麼回事。

這裡乾脆多說點。

我是那種看了“21天精通ASP.NET”視訊就死皮賴臉混進IT隊伍的,拖控制元件的時候覺得簡單,但很快,各種具體問題就出來了。我記得當時有一個問題,是後臺取不到前臺傳回來的值,記得我滿頭大汗,無計可施,只好找我們 team leader,他是從ASP做過來的,“這簡單啊,不要急不要急,方法很多!最簡單的放一個hide input,或者放在cookie裡,或者給個url引數……”

我印象特別深刻。一方面,他那種氣定神閒的架勢;另一方面,就在那一刻,我明白了那種“在基礎層面上的差距”,不知道怎麼形容,大概就是所謂的“底蘊”吧?

所以那時候ASP.NET開發人員被人看不起,“除了拉控制元件,啥也不會”。但這話是不對的,“除了拉控制元件,啥也不會”的,是我這種一開始就學ASP.NET WebForm的人。這也是沒有辦法的事,那時候凡是講ASP.NET 2.0的,不管是書籍,還是視訊,基本上就只講控制元件,其他的就一筆帶過。確實啊,講ASP.NET 2.0的,不可能給你從Html開始講起吧?但沒有這些東西,你的知識,你的技能,其實是“浮”著的。

這裡面,最關鍵的,是“技能”。“知識”吧,你還可以補,我回頭學就是了;但日積月累形成的“技能”,是很難很難短時間內補上的。

其實我做一起幫的直播,就是想的讓觀眾通過觀看一個真實的專案開發過程,來彌補“工作經驗”上的不足。但越做到後來,越覺得這基本上是不可能的——除非有人願意跟著做,甚至跟著做都不行,要換著花樣的做,要遇到困難並解決困難,才能得到磨練並形成能力。

我在直播中,遇到了各種稀奇古怪的問題。這些問題,才是衡量一個人能力的試金石。大家回想一下自己工作中搞不定的問題,是不是甩給了老大?那老大是怎麼把它們解決了的呢?老大怎麼就能把它解決了呢?大家都是用的C#,語法類庫你都沒問題,在知識層面上,你和你們老大可能是差不多的,甚至你們解決問題的方式都是一樣的,google一下唄!但為什麼老大就能搞定,你就搞不定?這就是能力的差距。

能力,是練出來的,是時間給壘出來的。

2、技術是越來越簡單的。

很多新人,一聽到新技術,兩眼冒光,像打了雞血一樣,以為各種高大上。其實啊,越是新技術,越沒有“技術含量”,或者,技術含量在新技術本身裡面,而不在“學會新技術”“使用新技術”上。

舉個例子,Ajax,最早的時候,要使用XMLHttpRequest物件,各種回撥,各種相容,那時候要誰會用Ajax,絕對的大牛。現在有了JQuery,Ajax絕對就一大路貨,不會Ajax你好意思說你是前端?是不是現在的程式設計師都集體漲了技能?肯定不是的嘛,JQuery的Ajax那麼簡單,是個人都會啊!

你自個算算,從彙編到C語言,從C++到C#,從ADO到ADO.NET,從Linq to SQL到Entity Framework……所有的這一切,是不是讓開發變得更簡單了?不然,憑什麼現在人家四個月培訓出來就能幹活?我那時候,要兩年呢!

不是“培訓班降低了IT行業的門檻”,是微軟,是Google,開源社群裡不斷提供“新技術”“新框架”的牛人們,KISS(Keep It Simple, Stupid),有意無意的降低了IT開發的門檻——說不定以後哪一天,程式設計就像打字一樣,是個人都會喲!

一不小心,就扯了這麼多了?也不知道對大家有沒有什麼借鑑意義。

技術方面,就先說到這裡吧。下次我們有機會,再聊聊技術之外的事情。順便聊,大家有什麼問題,歡迎留言,都會看的,O(∩_∩)O~

相關推薦

IT

一起幫的開發直播已經告一段落:一是主體的功能差不多都實現了,二是用到的架構技術都展示得差不多了。以後就算繼續開發,也應該都是一些“技術上”重複的工作而已。整個直播過程耗時近半年,SVN提交1062次

未明學院:9102,拜託不要再教唆年輕人多吃點苦

之前微博上一個小姐姐替年輕人打抱不平: 說實話看了我挺氣的。現在這些年輕人可真是,宿舍不能洗澡,怎麼幹一個月就要走了呢? 換我一個禮拜就走了! 講真小姐姐同事說的話,聽起來似曾相似。 我們的爸媽:“你們現在這些年輕人,稍微吃點苦就受不了了。” 我們的老闆:“你們現在這些年輕

全棧工程師前後端寫,工作。但是最近意識到自己Java基礎比較薄弱,求推薦補Java基礎的書?

向上學習memcache,redis,elasticsearch,mongodb,cassandra,activemq,tuscany,學習他們的內部實現。   向下學習計算機組成原理,計算機作業系統,計算機網路,資料庫,資料結構,演算法,jdk底層實現和設計。  

2018蘇州房價超過上海,python技術實踐分析一波!

最近在學習python,不禁感嘆其強大的資料處理能力,簡單幾句程式碼即可從網際網路中獲取千萬資料。生活在這個資料為王的時代,我們需要學習著如何將資料為我所用。 作為一個兩年研發三年產品的網際網路青年,依然對蘇州房價望而卻步。房價天天漲,剛需勇可追,但是什麼時候買?買

Java9發布,Java8的大新特性你解多少呢?

替代 gen ret list 鏈式 nas 構造 特定 src Java 8可謂是自Java 5以來最具革命性的版本了,她在語言、編譯器、類庫、開發工具以及Java虛擬機等方面都帶來了不少新特性。我們來一一回顧一下這些特性。 一、Lambda表達式 Lam

沒有靈感頭髮抓掉!推薦幾款創意網站,讓大腦靈光一動!

1. iDsketch http://www.idsketch.cn/ 工藝設計的草圖設計手繪。 裡面有系統教育方法,知道新人如何學習手繪,會將國外的手繪方法進行翻譯。全方位系統的教你手繪。   2. ShoppingDesign https

頭髮掉沒,才熬出來的優秀程式設計師的生存指北!

歡迎來到程式設計師的世界。作為一名開發程式設計師,尤其是前端開發!從新手到現在,摸摸自己的頭髮,已然稀疏。。 我開始學習程式設計,也僅僅是因為愛好,再往後,就會面臨嚴峻的生存問題! 在這個世界上,不是有很多人想創造軟體並解決問題。你是一名hacker,屬於那些願意做一些有挑戰性的事情的人。 當你不創

頭發掉沒,才熬出來的優秀程序員的生存指北!

正在 nsh ges 沒有 浪費 函數庫 編輯器 模式 完整 歡迎來到程序員的世界。作為一名開發程序員,尤其是前端開發!從新手到現在,摸摸自己的頭發,已然稀疏。。 我開始學習編程,也僅僅是因為愛好,再往後,就會面臨嚴峻的生存問題! 在這個世界上,不是有很多人想創造軟件並解決

程式設計師感慨被裁員後的真實生活:整整,沒有這樣放鬆過

一名程式設計師在年前被裁員了,也許是塞翁失馬,焉知禍福,藉著這段被裁員的日子,這名程式設計師索性開始放鬆享受生活:12月底被裁,現在每天接送孩子買菜做飯,中午午休,說句實話也不是大富大貴,只是這樣的日子突然發現好舒心,十年了沒這麼在春節前休息過,完全毫無壓力,還能早點回老家陪老媽辦年貨,以前的春節都

騰訊二,馬化騰定個新方向!

前幾天,知乎又搞了個網際網路十問營銷活動,美其名曰“網際網路洞見者”,掀起了一眾吃瓜熱潮。而騰訊

計算機視覺-計算機視覺(一):計算機視覺前的資訊採集和

之前一直覺得自己學的雜而不專,在之後的學習和幹活歷程中也不斷髮現自己確實需要靜下心來鑽研,讓自己像身邊的師兄一樣能有一技之長,能在社會上有自己的立足之地。講真在計算機這個龐大的體系下挑選出一個方向來確實蠻難,自己挑來挑去,有種亂花漸欲迷人眼的感覺,不過就目前自己的興趣、性格和

一個普通IT人的回顧

今年是我大學畢業滿10年的日子,也是我投身it技術的第10年。一直想能對過去 的經歷做些回顧與反思,以更好地走向未來,但總沒有筆。剛好csdn舉辦“講述程 序員的故事”徵文,這件事成了一個引子,我終於趁著暑期有時間,敲了一天鍵盤, 便有了這篇人生自述。 10年對於一個人來說是

幣圈,你需要解的數字貨幣錢包那些事兒

問題 strong fff 區塊 重置密碼 單詞 cto 而是 oss 如果你剛剛入坑幣圈,正欲入手數字貨幣,別著急,先靜下心來看一看下面的內容,我猜一定會對你有所幫助。 一、什麽是數字貨幣錢包 很多人說,數字貨幣錢包就是用來裝數字貨幣的,通俗來講這樣理解沒有問題,但實際上

堅持寫作,有些私藏工具跟你們分享

## 小黑碎碎念 翻看掘金專欄的第一篇文章,**2018 年 6 月 5 日**釋出,沒想到自己堅持寫作已經將近一年半多了。 ![](https://img2020.cnblogs.com/other/1419561/202004/1419561-20200403080637300-204008028.j

90%的 CTO 做不好績效管理?看看這個 IT 老兵有什麽絕活?(轉)

發放 進階 績效 大數據服務 應對 轉化 投資者 評分 顯示 原文地址: http://mp.weixin.qq.com/s/uiGMx5vuD3YNaoCClHuqEg 十多年從業經歷,從 2001 年開始帶團隊到現在,我幾乎經歷過所有的 IT 角色。2010 年,我隨創

阿裏巴巴Java架構師分享,會這個知識點的人去BAT

工作經驗 java開發框架 人才 一起 跳槽 技術開發 代碼 lis 框架 1.源碼分析專題 詳細介紹源碼中所用到的經典設計思想,看看大牛是如何寫代碼的,提升技術審美、提高核心競爭力。 幫助大家尋找分析源碼的切入點,在思想上來一次巨大的升華。知其然,並知其所以然。把知識變

近未來科幻火,導演和作家們想劇透你三之後的人生

科幻最近有一款互動電影式的主機遊戲正在悄悄走紅,相信不少玩家一定能脫口而出它的名字——《底特律:變人》。《底特律:變人》講述的故事是在2038年,仿生人為人類工作已經成為一種常態。而此時第三次世界大戰一觸即發,仿生人們開始被送上戰場。這時個別仿生人開始意識覺醒,發現人類無盡的貪婪才是戰爭的始作俑者。於是一場關

知乎大牛:,我如何看待IT行業?

大學畢業 在那 it培訓 在北京 基本上 但是 專業知識 技術 -- 一個行業的發展,會改變很多人的命運、生活。選擇好即將進入的行業,以及通向行業的機構入口,都是十分重要的。近日,一知乎大牛分享了他近10年的IT從業經歷,引起了網友的大範圍轉發和討論。真實的經歷,樸實的語言

阿里巴巴Java架構師分享,會這些知識點的人去BAT

近期都是在做一個專案,專案是一個大型的多節點部署的專案,做了好幾個版本,中間用到了很多技術和框架, 也用了一些管理工具和敏捷實踐。我這裡不是來說專案的,因為最近看了一些招聘資訊,結合專案中用到的一些知識和 管理措施,作為一個程式設計師,需要去實時評估下自己當前的能力是否能跟上時代的步伐,所以