0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一位IT工程師9年的程序人生

工程師人生 ? 來(lái)源:網(wǎng)絡(luò)整理 ? 作者:工程師吳畏 ? 2018-07-02 17:29 ? 次閱讀

時(shí)間一晃而過(guò),大學(xué)畢業(yè)轉(zhuǎn)眼間已經(jīng)工作9年了,總結(jié)一下自己這些年來(lái)感受。

與程序打交道的人生,是簡(jiǎn)單的人生

一次做規(guī)劃局的項(xiàng)目,規(guī)劃局的職員很是欽佩地說(shuō):“你們真了不起,在電腦上敲敲鍵盤(pán)就能做出軟件來(lái)?!?,

規(guī)劃局領(lǐng)導(dǎo)說(shuō):“跟電腦打交道是最簡(jiǎn)單的,難的是跟人打交道?!薄?/p>

領(lǐng)導(dǎo)的話很有深意,一語(yǔ)道破了本質(zhì),做程序的人,是比較簡(jiǎn)單的。

不懂什么叫編程

大學(xué)本科,讀“計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)”(相信看這篇博客的人多半也是學(xué)這個(gè)專(zhuān)業(yè)的 ^_*),課程重理論而輕實(shí)踐。

最初學(xué)習(xí)C語(yǔ)言,對(duì)于編程沒(méi)有任何概念,我清楚的記得,一次在課堂上問(wèn)老師:“計(jì)算機(jī)輸入法,可視化操作界面已經(jīng)很完善了,為什么要用C語(yǔ)言中 Print() 函數(shù)輸出一段字符呢?而且我們學(xué)習(xí)使用Console控制臺(tái)的黑白屏輸入輸出,也不像是平時(shí)使用的軟件???”。

老師聽(tīng)后也是一臉的懵逼,說(shuō):“你好好學(xué),慢慢就明白了”。

你不懂的,老師也沒(méi)法回答你,只有靠自己慢慢地摸索,慢慢去領(lǐng)悟。

Java還是C#,平臺(tái)選擇的愛(ài)恨情仇

初學(xué)Java,這是我接觸的第一個(gè)最具有實(shí)用意義的編程語(yǔ)言(可以做網(wǎng)站,做軟件,雖然C語(yǔ)言,C++也可以開(kāi)發(fā)應(yīng)用軟件,但畢竟使用的人較少,對(duì)于初學(xué)者,找到一個(gè)合適的教程都困難)。當(dāng)時(shí)的學(xué)習(xí),基本是自學(xué),上網(wǎng)下載視頻教程,一集一集地看,不懂的概念上網(wǎng)查,去圖書(shū)館借閱相關(guān)書(shū)籍資料,什么JSP標(biāo)簽,Servlet,JDBC,到Struts MVC,Hibernate,Spring,設(shè)計(jì)模式,半年時(shí)間,算是初步入門(mén),盡管對(duì)知識(shí)還是一知半解,但還是成功用Java做了畢業(yè)設(shè)計(jì),做過(guò)幾個(gè)小程序。

工作之后,開(kāi)始使用C#,算是與.NET平臺(tái)結(jié)緣,一行一行地敲代碼,一個(gè)接一個(gè)的做項(xiàng)目,一版又一版的升級(jí)軟件,一晃9年了。從最初的ASP.NET WebForm,ADO.NET,到ASP.NET MVC,WebAPI,EntityFramework,面向服務(wù)架構(gòu)的WCF,以及最新的跨平臺(tái).NET Core,微軟為軟件開(kāi)發(fā)人員,提供了編程最大的便利性。

僅從開(kāi)發(fā)語(yǔ)言本身角度講,C#并不比Java差,并且很多細(xì)微的地方,C#比Java做的要好,比如,C#中的get,set屬性訪問(wèn),要比Java的字段訪問(wèn)方便很多,相同邏輯代碼運(yùn)行效率方面,C#的MSIL比Java的字節(jié)碼允許效率還要稍微高一些,但是無(wú)奈,.NET平臺(tái)發(fā)展始終不及Java平臺(tái)。誠(chéng)然,平臺(tái)的發(fā)展不能僅從開(kāi)發(fā)語(yǔ)言本身考慮,平臺(tái)運(yùn)行環(huán)境,平臺(tái)參與人員整體水平,使用成本等,更是起著決定性作用,.NET平臺(tái)在互聯(lián)網(wǎng)大潮中,逐漸被邊緣化,免費(fèi)的Java平臺(tái),被開(kāi)源社區(qū)擁抱,成為互聯(lián)網(wǎng)項(xiàng)目開(kāi)發(fā)平臺(tái)的中流砥柱。微軟似乎意識(shí)到問(wèn)題所在,逐步加入開(kāi)源隊(duì)伍,并提供了跨平臺(tái)方案.Net Core,但并沒(méi)有明顯起色,.NET平臺(tái)開(kāi)發(fā)人員心中不免有一絲悲觀情緒,.Net平臺(tái)開(kāi)發(fā)人員似乎比Java開(kāi)發(fā)人員始終矮一頭的感覺(jué)。

前端編程,JavaScript從無(wú)知到覺(jué)醒

做Web開(kāi)發(fā),離不開(kāi)HTML,CSS,JavaScript,盡管日常工作以后臺(tái)開(kāi)發(fā)為主,但接觸的多了,慢慢地理解深入,從只會(huì)使用JS寫(xiě)函數(shù),發(fā)展到使用JS面向?qū)ο蟮墓δ?,理解了JS中閉包的概念(好燒腦,用離散數(shù)學(xué)中的概念來(lái)表示函數(shù)集合,讓沒(méi)學(xué)過(guò)集合概念的同學(xué)情何以堪)。明白了JS的面向?qū)ο缶幊蹋ㄟ^(guò)JS自定義前端控件,數(shù)據(jù)與邏輯代碼分離,達(dá)到優(yōu)雅地實(shí)現(xiàn)前端邏輯。學(xué)習(xí)的過(guò)程是曲折的,有時(shí)候一個(gè)概念始終理解不了,但一旦明白過(guò)來(lái),會(huì)有一種眼前一亮,豁然開(kāi)朗的感覺(jué)。起初一直不明白,為什么JQuery中的“$”這么牛,一個(gè)“$”符號(hào)能操作一切,讀過(guò)JQuery源碼之后才明白,這個(gè)“$”原來(lái)是jQuery在Window中定義的的一個(gè)變量,同時(shí)也是jQuery這個(gè)函數(shù)的別名,每次調(diào)用$(…)時(shí),其實(shí)間接地創(chuàng)建了一個(gè)JQuery的示例。當(dāng)然,這種操作得益于JS是一直動(dòng)態(tài)語(yǔ)言,可以給對(duì)象任意添加屬性和方法(相比較Java和C#是不能這樣操作的)。

技術(shù)之路要不斷學(xué)習(xí),路漫漫其修遠(yuǎn)

技術(shù)更新迭代的速度,遠(yuǎn)超想象,往往是剛學(xué)會(huì)一個(gè)新技術(shù),另一個(gè)更新的技術(shù)又變的火熱,似乎新技術(shù)的產(chǎn)生,也在遵循一個(gè)摩爾定律。追趕技術(shù)的腳步,就如同夸父追日一般,你一直在追趕,但它一直在你前面。好在,每一個(gè)新技術(shù),新架構(gòu)的產(chǎn)生,都是在為更簡(jiǎn)單、更高效的解決現(xiàn)有的問(wèn)題,所以,新的技術(shù),雖然增加了學(xué)習(xí)的負(fù)擔(dān),但是新技術(shù)的應(yīng)用,能夠解決現(xiàn)實(shí)的問(wèn)題,是效率的提升。從這個(gè)角度講,學(xué)習(xí)是值得的。通常來(lái)說(shuō),沒(méi)有誰(shuí)天生就會(huì)做什么,只要肯學(xué)習(xí),別人能做到的,你也能做到。

React火熱的時(shí)候,學(xué)習(xí)React,了解了這種基于模板的開(kāi)發(fā)方式,見(jiàn)識(shí)了這種類(lèi)似于MVC,實(shí)現(xiàn)數(shù)據(jù)與業(yè)務(wù)邏輯分離的編程方式在JS中的實(shí)際應(yīng)用,對(duì)于這種僅需要一個(gè)render()函數(shù)的超簡(jiǎn)潔的框架贊嘆不已。

Facebook搞出了React,國(guó)人也不示弱,于是誕生了Vue,相對(duì)來(lái)說(shuō)更簡(jiǎn)潔,使用更方便。

React發(fā)展出了React Native,圈子里更是為止振奮,為火熱的移動(dòng)端開(kāi)發(fā)又添了一把柴,讓移動(dòng)端開(kāi)發(fā),在AndroidIOS原生開(kāi)發(fā)之外,又多了一種全新的選擇。

我用3天時(shí)間,學(xué)會(huì)了開(kāi)發(fā)微信小程序,完成了原有Web功能向小程序的移植。

Node.JS火熱的時(shí)候,我用了一周的業(yè)余時(shí)間,學(xué)習(xí)NodeJS編程,配合MongoDB,搭建了簡(jiǎn)單的日志系統(tǒng)。

說(shuō)起來(lái)有點(diǎn)吹牛的意思,但卻是事實(shí)。

一方面,不管是React,微信小程序,Node.JS,本質(zhì)上都是JavaScript,Html,CSS的組合使用,相似度很高,只是各自有各自特點(diǎn)的規(guī)范特色而已,學(xué)習(xí)難度是逐漸降低的。

另一方面,我相信大多數(shù)人也有感受,當(dāng)工作經(jīng)驗(yàn),認(rèn)知水平達(dá)到一定積累之后,學(xué)習(xí)其實(shí)是一件水到渠成的事情。

總結(jié)

有一次跟朋友聊天,朋友說(shuō),“感覺(jué)自己越學(xué)習(xí),越感覺(jué)到不懂的方面更多了”。

我笑笑,表示同意他的觀點(diǎn),這是一個(gè)叫做“知識(shí)邊界”的問(wèn)題,每個(gè)人的知識(shí),就如同是一個(gè)圓,圓內(nèi)是你已經(jīng)了解的知識(shí),圓之外就是還不懂的知識(shí),一個(gè)人掌握的知識(shí)越多,這個(gè)圓也就越大,而圓越大,圓周所接觸的那些未知領(lǐng)域也就越多。如果一個(gè)人說(shuō)自己沒(méi)有什么不懂的,那只能說(shuō)明他知識(shí)面太小。如此,當(dāng)我們意識(shí)到自己有很多不懂的東西的時(shí)候,也不用焦慮,因?yàn)槲覀兊闹R(shí)在擴(kuò)展,保持一顆開(kāi)放,學(xué)習(xí)的心,這是人生路上所必須的。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 工程師
    +關(guān)注

    關(guān)注

    59

    文章

    1571

    瀏覽量

    68574
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3633

    瀏覽量

    93847
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    笑死,掌握眼識(shí)別資深硬件工程師的訣竅了!# #電路知識(shí) #電工 #硬核拆解

    硬件工程師
    MDD辰達(dá)半導(dǎo)體
    發(fā)布于 :2024年12月20日 17:48:17

    尋求專(zhuān)業(yè)工程師幫助設(shè)計(jì)USB多口充電器

    嗨, 我正在開(kāi)發(fā)款USB多口充電器,現(xiàn)尋求一位專(zhuān)業(yè)工程師或產(chǎn)品設(shè)計(jì)的幫助。希望能夠與有經(jīng)驗(yàn)的工程師合作,共同完成產(chǎn)品設(shè)計(jì)。以下是我們的需
    發(fā)表于 08-05 12:03

    正是拼的年紀(jì)|65歲電子工程師上班VLOG #65歲退休 #電子工程師 #搞笑 #上班vlog

    電子工程師
    安泰小課堂
    發(fā)布于 :2024年07月25日 11:31:02

    嵌入式軟件工程師如何提升自己?

    ,可以為自己的職業(yè)生涯打下堅(jiān)實(shí)的基礎(chǔ),并實(shí)現(xiàn)個(gè)人的職業(yè)目標(biāo)。愿每一位嵌入式軟件工程師都能在這個(gè)充滿挑戰(zhàn)和機(jī)遇的領(lǐng)域中取得成功!
    發(fā)表于 06-12 11:20

    嵌入式軟件工程師和硬件工程師的區(qū)別?

    嵌入式軟件工程師和硬件工程師的區(qū)別? 嵌入式軟件工程師 嵌入式軟件工程師是軟件開(kāi)發(fā)領(lǐng)域中的種專(zhuān)業(yè)工程師
    發(fā)表于 05-16 11:00

    大廠電子工程師常見(jiàn)面試題#電子工程師 #硬件工程師 #電路知識(shí) #面試題

    電子工程師電路
    安泰小課堂
    發(fā)布于 :2024年04月30日 17:33:15

    為何國(guó)外工程師偏愛(ài)使用for(;;)來(lái)實(shí)現(xiàn)MCU死循環(huán)?

    一位工程師發(fā)現(xiàn),國(guó)外工程師在給demo在做死循環(huán)時(shí)用的是for(;;),而不是常用的while(1)。這僅僅是個(gè)人習(xí)慣的問(wèn)題,還是有更深層次的含義?
    發(fā)表于 04-01 11:26 ?686次閱讀
    為何國(guó)外<b class='flag-5'>工程師</b>偏愛(ài)使用for(;;)來(lái)實(shí)現(xiàn)MCU死循環(huán)?

    一位硬件工程師的歷練之路:從入門(mén)學(xué)習(xí)理論到... #搞笑 #硬件工程師 #電子工程師 #揚(yáng)興科技

    硬件工程師揚(yáng)興科技
    揚(yáng)興科技
    發(fā)布于 :2024年03月13日 17:50:21

    如何搞崩個(gè)硬件工程師心態(tài)?試試對(duì)ta說(shuō)這幾句

    硬件工程師
    揚(yáng)興科技
    發(fā)布于 :2024年02月20日 18:05:49