軟體工程師的自白:真希望自己從沒學過編碼

2020-12-05 讀芯術

全文共2137字,預計學習時長6分鐘

圖源:unsplash

真正的軟體工程不僅僅是一門技術,更是一種生活方式。我靠寫代碼謀生,連帽衫、桌球、隨處可見的零食和飲料,這就是我的真實生活。儘管從事這一領域會有回報,但我必須承認:有時真希望自己從沒學過編碼。

怪癖

自從我開始學習編寫代碼以來,瀏覽網頁就變得不一樣了。我再也不能忍受我在使用其他網站時遇到的錯誤。每當有什麼奇怪的事情發生時,好奇心就佔了上風,這時我必須打開瀏覽器的開發工具,開始調試。

試圖提交表單時出現神秘的錯誤消息?這時我會深入研究JavaScript控制臺、查找錯誤消息、挖掘原始碼,並通過網絡請求觀察它們。

用戶界面看起來有點過時,或者頁面布局非常華麗?不管怎樣,我都會調整瀏覽器窗口的大小,看看它處理屏幕大小的響應能力如何。你選擇的字體是Comic Sans嗎?我可能再也不會相信你和你的公司了。

請停止使用ComicSans字體

職業生涯

總的來說,工程師們相當固執己見,學究氣已深入骨髓。是否使用空格或制表符縮進代碼?更喜歡用Vim還是Emacs?Chrome還是Firefox?這些對話最終會導致有人問「這真的重要嗎?」,現實生活中經常會有人浪費時間和精力討論這種意義不大的問題。

xkcd——《真正的程式設計師》

隨著越來越多的公司採用敏捷項目管理方法,有時不得不在使用Waterfall、Scrum、或者Kanban的開發周期之間進行比較取捨。我們都喜歡抨擊Waterfall,認為它是過時的、效率低下的公司所使用的老古董。然而,Scrum與Kanban的戰爭仍在繼續。

「你說你是Scrum的忠實粉絲?我敢打賭,你一定喜歡人工時間框,它能輕鬆發送匆忙的代碼,以便在sprint結束之前完成想像中的最後期限。」

Dilbert - Scott Adams

說到敏捷法,具體指哪方面?時間尺度?努力?複雜性?風險?或者所有這些?可能會花上幾個小時討論每一個定義的優點,但最終無法達成共識。在某種程度上,這可能會演變成一場無意義的討論,但能夠相互理解和有效溝通是至關重要的,這包括對我們一天中使用的術語有一個共同的理解。

前端開發打開了另一個話題世界,最引人注目的是:「什麼時候才能最終放棄對InternetExplorer的支持?」我必須得拿捏好分寸,一邊對它深惡痛絕,時刻都想放棄它,同時也明白,對於那些已正在使用,深受其害的客戶來說,需要支持它。

Internet Explorer網絡熱圖

持續學習

隨著技術環境的不斷變化,持續學習是軟體工程的重要組成部分。每個月都有數百個新的庫和框架發布,JavaScript枯竭是真實存在的。當我告訴別人我花了一天時間配置Webpack、Rollup和Babel以使用最新的ES6+語法時,他們可能認為我是在胡編亂造。

Angular和Angular是兩個完全不同的東西;LitElement、Svelte和Stencil似乎是有前途的web組件解決方案;Deno可能是新的Node。

當有人問我工作時所使用的工具時,我只能直截了當地說:「我通常使用前端技術,像HTML、CSS和JS。有時我不得不使用PHP或SQL,但我更像是一個MEAN/MERN堆棧開發人員。有時使用Heroku之類的PaaS技術,但有時使用的是像AWS或GCP這樣的IaaS提供商。」

有關「開發者」熱圖 | 圖源:漫畫《Poorly Drawn Lines》

業餘生活

閒暇時,我會讀一些枯燥乏味的書,比如「乾淨的代碼」、「重構」和「領域驅動設計」。除了教科書,我還會在網上讀一些文章,這些文章裡時常會有一些建設性的建議,或者看看別人的編碼教程。

我更喜歡聽關於編程的播客,在上班的路上,沒什麼比聽別人談論代碼更好的事情了。因為到達上班地點,我也要整天討論代碼了。

除了通過網絡獲取資源外,軟體工程師還將他們個人生活的大部分時間用於在線創建內容。我的個人愛好是開發一些沒人見過的簡單應用程式和遊戲,比如 Crossy Block,它是 Flappy Bird knock-off的仿製品,還有corporate BSgenerator。這是在浪費時間嗎?也許吧。但是,當人們看到這些應用程式時,是否也能讓他們在兩分鐘內感到快樂呢?當然是。

Corporate BSGenerator app

編碼給了我一個機會,讓我可以去創造一些東西,並賦予了我創造力。它讓我對生活有了新的看法,甚至可以說是重塑了我的生活。軟體工程使我能夠解決困難但有趣的挑戰,並希望能夠用自己微不足道的力量使人們的生活過得更輕鬆。軟體工程有助於我的職業發展,使人有機會不斷學習,並從中受益匪淺!

好吧,我不得不承認,我熱愛編碼。

留言點讚關注

我們一起分享AI學習與發展的乾貨

如轉載,請後臺留言,遵守轉載規範

相關焦點

  • 小米加步槍:向軟體宣戰的BIM工程師們
    有人說,你這麼寫誤人子弟,不是每個工程師都要去學編程;有人說,一個尚未成型的標準,不要急著去評價;還有人說,無論你用什麼視角去寫,都會有人看了不高興。但我還是把它寫下來了,因為我不希望那些工程師們做過的事,只成為他們自己的回憶。
  • 軟體工程師除了寫代碼,還能做什麼工作?
    作者 | Karl Hughes 譯者 | 冬雨 策劃 | 蔡芳芳 很多學過、做過軟體開發的人不想再從事軟體開發工作,這篇文章將向軟體開發人員介紹許多可行的職業道路。
  • 令人羨慕的月薪過萬的軟體工程師,快來看看你入門了沒有
    ,或者您想像過像馬克·扎克伯格,蘇達爾·皮查伊這樣的人?無論您腦海中所描繪的是什麼,您都不能否認這樣一個事實,即使軟體工程師似乎是一個無聊的人(實際上他們並不是一個無聊的人),這些人仍然被認為是世界上最聰明和最酷的人。
  • GeneMark-ES:真核生物編碼基因預測軟體
    GeneMark-ES軟體用於預測真核生物中的蛋白編碼基因,和其他預測基因結構的軟體不同,它採用的是非監督算法,可以不依賴訓練集進行預測。/gm_key_64 ~/.gm_keygm_key文件是軟體的通行證,需要拷貝到家目錄下,軟體本身只需要解壓縮就可以了。
  • 軟體工程師需要學什麼?
    如果在這個時候選擇了軟體工程師,自己需要面對的除了挑戰也有很大的機遇!軟體工程師需要做什麼?1. 指導程式設計師的工作;2. 參與軟體工程系統的設計、開發、測試等過程;3. 協助工程管理人員保證項目質量;4. 負責工程中主要功能的代碼實現;5.
  • 軟體工程師必讀的10本書,你讀了嗎?
    全文共4614字,預計學習時長14分鐘若想成為一名優秀的軟體工程師,在努力寫代碼的同時,「讀代碼」同樣至關重要。在當代社會,人們的日常生活因各種各樣的新奇玩意兒而變得豐富多彩,比如播客、視頻以及博客等等。儘管如此,仍然有許多人會選擇捧讀一本好書。筆者作為一名資深「書蟲」,也已經涉獵過許多技術類書籍,例如軟體工程。
  • 職業規劃指南:怎樣才能成為軟體工程師?
    軟體工程師和開發人員的職位入選了 Glassdoor 2019年10個最受歡迎的技術職位的名單。招聘公司Hired的2019年軟體工程師狀況報告顯示,全球對工程師的需求逐年飆升,區塊鏈工程師需求增長517%,安全工程師需求增長132%。  對軟體工程師的需求變化與新技術的發展相關。
  • 網絡工程師和Linux運維工程師有什麼區別?學哪個比較好?
    網絡工程師和Linux運維工程師有什麼區別?學哪個比較好?在工作中,有一天突然遇到了Linux系統,公司mrtg監控的老系統是公司一位老總以前用Linux系統搭的,雖然以前聽說過Linux,但從來沒接觸過,在通過文檔完成工作後,我開始了解Linux系統,當時想著雲計算的基礎也是Linux,學習一下怎麼都不虧。
  • 如何在12個月內從零基礎成為一個在舊金山工作的軟體工程師
    我已經有很長一段時間沒有學習編程了,但我知道這就是我真正想做的.終於,在我2016年的生日那天,準備去學習編程,並決定義無反顧的學下去..Outco專門針對軟體工程師的面試過程,因為這個過程經常給許多甚至有經驗和熟練的工程師造成困擾.
  • 電子工程師:談談在大學該學啥沒學?啥學了又沒用?
    畢業1-2年後會是一個顯著分水嶺,要麼慶幸自己找到個合適的有實踐學習機會的研髮型工作,擁有電子工程師的基本「職業素養」,要麼知難而退轉行做其它(或者畢業時就根本找不到研發的工作)。每位工程師都要懂這些。0DhedncPCB layout 是另一個重要的技巧,考慮到更小的IC,更高的封裝密度、多層板以及超高頻信號,PCB設計比以前更複雜。幸運的是,Layout軟體現在越來越好用,雖然我們仍然需要一些基礎工作如地平面和屏蔽。教授們常說高校不教這個,因為它是技術員的工作。但今天,它顯然不是。
  • 淺談電子工程師和軟體工程師差距
    傳統製造業與之相比,其實無論軟體硬體,跟網際網路行業都要差一個檔次。 問題是傳統製造業內部,軟體的發展也也要好於硬體;因而在大多數人看來,軟體工程師相較於硬體工程師,也更加受人青睞,這是為什麼呢? 首先,我們先來了解一下,這兩者工作職責的不同。
  • 音頻工程師和聲學工程師的區別?
    這 個 世 界 上像你這樣熱愛建築聲學的人都 在 關 注 我音頻工程師和聲學工程師的區別
  • 學軟體工程就業前景怎麼樣?軟體工程考研容易嗎?
    學軟體工程就業前景怎麼樣?軟體工程考研容易嗎?軟體工程的就業前景還是非常好的現在是網際網路的時代,各種軟體APP、各種新技術層出不窮,那麼這些新技術都是需要各種各樣的人才來支撐的,這部分人才就是軟體工程師。
  • 面向軟體工程師的面試準備–以Google為例的完整指南
    Google為傑出的程式設計師打開了一扇門,他們不僅可以解決他們已經知道的問題,而且他們應該具有解決以前從未遇到過的問題的技能。如果您是其中一名具備此技能的人,並且您夢想著在Google擔任軟體工程師,那麼您需要遵循一項策略,並且需要了解該公司正在尋找的完整流程。
  • 軟體工程師薪水知多少?
    軟體工程師在哪裡機會最多?當然,薪水高低通常與經驗、地點和行業是密不可分的。Bjiednc這篇文章將深入解讀軟體工程師的薪資,還將比較不同國家、不同行業的軟體工程師的薪水。如果你恰好想換工作,希望這篇文章能夠讓你正確估算自己在市場上價值幾何。
  • 畢業於港中大深圳,從計算機科學與技術專業到華為軟體開發工程師
    回顧大學四年,沈子傑有一條自己的進階路線:大三暑假在微軟擔任高級雲工程師項目助理,之後又在百度做自然語言處理實習生,畢業後正式入職華為軟體開發工程師。本期「正青春·畢業生專訪」帶你走近香港中文大學(深圳)計算機科學與技術專業畢業生沈子傑,了解他的進階秘籍。
  • 偉創蜂鳥-軟體工程師的探索與求知
    猶豫的回答:軟體工程師        對方:啊?程序猿?IT男啊        猶豫的回答 :不是啊,我是搞電氣的,不是IT        對方:奧,電器啊,冰箱洗衣機嗎。說起要成為一名合格的偉創電氣公司的軟體工程師,真的並非朝夕之事。編程、電機學、數位訊號處理、控制理論、電力電子……,一個交叉學科的交叉職業。         而說起日常工作,編程?那只是冰山一角。
  • CPAT:轉錄本蛋白編碼能力預測軟體
    對於轉錄組測序的數據而言,組裝得到轉錄本之後,首先要做的就是區分蛋白編碼和非蛋白編碼的RNA。目前針對這一問題,有多種解決方案,基本可以分為以下兩類alignment-basedalignment-free第一種算法基於序列比對,可以較好的識別保守性較好的蛋白編碼基因, 包括CPC,PhyloCSF等軟體; 第二種算法不需要比對
  • 耒陽縣ACCP軟體工程師_科泰計算機學校
    耒陽縣ACCP軟體工程師,科泰計算機學校,這裡不僅是大學生深造、學一技之長,進入IT行業的平臺,更是讓許許多多的高考生成為了國家緊缺的IT人才,實現了自己的夢想。耒陽縣ACCP軟體工程師, liangyongfei 您好!7版本WeX5,appLoader我沒有用,回頭試一下。
  • 電子工程師:做硬體、軟體哪個好?
    本人從事電子工程師工作已有七八年,設計硬體也編寫過軟體,包括單片機、DSP、ARM等系統軟體編寫,以及HIM人機互動軟體。本人嘗試分析一下這個問題吧。軟體相對來說,入門容易一些,當然,想要做精做強也要靠後期工作經驗的積累,一個經驗豐富的軟體工程師也是企業競爭的對象。相對來說,軟體出錯付出的代價要小一些,在原來基礎上更高即可,而硬體出錯,也許得全部設計重做,從設計、制板、元器件、實驗等全部重來,需要付出昂貴的成本代價。