衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一位剛入行的軟件開發工程師所必須要了解的幾件事

工程師人生 ? 來源:網絡整理 ? 作者:工程師吳畏 ? 2018-08-13 15:35 ? 次閱讀

我的軟件開發生涯開始于15年前。

但是直到最近的5年,我才真正開始看到自己在軟件開發領域的巨大進步。

這里有一些感悟是我希望能夠在我進入軟件開發領域時所知道的事情,如果我早一些領悟到,相信會比現在更加成功,也更節省一些時間。

軟件開發工作沒有“正確方法”

在軟件開發生涯的早期,我曾經浪費了大量的時間在學習和爭辯,錯誤的相信有一條“絕對正確的方法”能夠應付軟件開發的很多方面。

結果證明我曾經認為關于軟件開發的每一件正確的事情到最后都是錯誤的。

但是更重要的是,我發現很少有事情是黑白分明的。在寫代碼和開發軟件時所做的幾乎每一個決定都取決于當時所處的環境。

我曾經討論過關于技術的宗教式信仰是如何對軟件開發者不利的,但這個話題已超出技術范疇。

沒有萬能的最佳實踐方式,這句話很對。甚至像“是否應該進行單元測試”、“敏捷開發和瀑布模型哪個最好”這種高熱度的話題都不會有一個直截了當的簡單答案。

在我的職業生涯中,我已經浪費了大量時間在這種“正確方法”上以至于最終一無所獲,而不是探尋可以讓我走更遠的“實用主義”道路。

一頁一頁看書不是最佳的學習方式

當我第一次想提升自己的編程水平和各種技術水平時,我花了非常多的時間一頁一頁地讀具體的技術類的書。

讀書并沒有錯,但是要有選擇那些重要的書和重要的章節讀。

比如,我記得我曾經讀過一本非常厚的關于Visual C++的書(我非常確定是《Beginning Visual C++ 2012》的早期版本),總之,這本書是一本包含了海量知識的好書,但是一頁一頁讀并不是學習Visual C++的最佳途徑。

早知道我就應該像過流水賬一般地粗略地看下這本書的所有章節,以了解Visual C++包括哪些知識點,然后再考慮哪些部分是最重要的,是應該首先讀的。

如果我坐下來實際練習下書中的基礎練習題而不是僅僅看過或跳過這些例子的話,會有更多的收獲。除非你實際用你的所學解決了實際的問題,否則算不上你學會了這門技術。

深入學習特別技術是浪費時間

我不僅僅浪費時間在一頁一頁的讀書,還經常選擇了那些錯誤的書讀。

曾經的我花費了大量的時間讀諸如ASP.NET或Hibernate等特別技術的書,而不是讀像《代碼大全》、《代碼整潔之道》、《敏捷軟件開發:原則、模式與實踐(C#版)》(順便說一句,如果你還沒有讀過這些書,我推薦你讀一讀)。

比起知道你所用的技術的重要性,成為某一特別領域的專家是不重要的。知道某一個具體API調用一點好處都沒有,當你需要它的時候只要查詢下就好了。

我曾經花費大量時間深入學習的許多技術中,到最后要不這技術逐漸沒落,要不就是太過技術以至于我自己放棄了它。這些特別技術中的絕大多數最終都證明是在浪費時間。

只要是我正在使用,無論什么語言,成為這種編程語言方面的專家都是很重要的,因為在一門特殊語言方面的專業知識能夠讓你活躍在軟件開發領域許多年。當然,我仍然在花時間深入學習C++、C#和JAVA,但是,對于現在的我來說,可能多花一點時間在C++的各種紛繁難懂之處并沒有什么好處。

技術社區在軟件生涯中及其重要

在我早年的職業生涯中,我犯過的一個錯誤就是沒有投入到技術社區中求助或幫助他人。

我總是樂于幫助我的同事,并和我所接觸的各類職業打交道,但從來超出我所在公司的人員和崗位范圍。

曾經我花了大量時間將自己投入在所在公司的職業生涯中,而沒有在軟件開發社區中投入一點時間,這點非常的不劃算。

曾經我花時間致力于內部技術建設的分享或實踐原本也可以在技術社區中做同樣的分享和交流,也同樣會給我帶來工作上的認可。

我也錯誤的認為我沒有什么有價值的事情貢獻給技術社區。

現在的我會和很多軟件開發的新手們聊天,有時候我想相比我們他們一定花了很多精力貢獻在技術社區,因為和其他新手相比較,他們看起來沒有懂的更多,也沒那么抓狂。

如果時光能夠倒流,我確信年輕時候的自己一定會投入很多時間在技術會議和用戶群組上,我會盡早地開始寫自己的博客并創建自己的項目和資源與其他人分享,而不是呆呆地讀書。

永遠有編外項目在做

影響我職業生涯最大的選擇可能就是杜絕看電視、《無盡的任務》和《魔獸世界》游戲了,取而代之的是將這些時間用在我的編外項目上。

在過去的生活中我已經浪費了很多時間在做娛樂活動,而不是那些能夠充實我生活的事情。

在大約3-4年前,我已經基本和看電視這種活動決絕了,現在的我甚至都很少看電影。看電視和看絕大多數電影都是一種時間浪費,浪費那些原本可以做一些有用之事的時間。多數的電視游戲也是如此,但至少玩電視游戲收獲的也不僅僅只是無用信息

我非常喜歡玩電視游戲,而且恐怕也不會有停手的那一天,但是我著實希望我能夠把花費在玩游戲、看電視的時間投入在自有的項目上。

不幸的是,我真正開始自己的第一個項目卻是在大約3年以前,那時的我開始著手創建一個Android應用程序。

當你為別人工作時,能夠花時間在自己的項目上非常重要,否則就是在犧牲自己的精力為別人建造帝國。

在過去的幾年間,我不僅從編外項目中學習到了不少東西,而且也從其中得到了巨大的利益。事實上,其中的一個編外計劃:創建Pluralsight課程,是我現在正全職在在做的事情。

將所學揉合起來

以上所說是少數我后悔沒有在自己職業生涯開始時不知道的感悟,但從一開始我仍然做了很多正確的事情。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 開發工程師
    +關注

    關注

    1

    文章

    91

    瀏覽量

    14951
收藏 人收藏

    評論

    相關推薦

    為什么嵌入式驅動開發工程師可以拿高薪?

    。 為什么嵌入式驅動開發工程師可以拿高薪? 嵌入式驅動開發工程師屬于技術密集型工作,不僅需要深入了解硬件的工作原理,還需掌握各種編程語言
    發表于 01-07 16:56

    我國軟件開發者數量突破940萬

    。目前,開源已覆蓋軟件開發的所有場景,全球97%的軟件開發者和99%的企業使用開源軟件。 工業和信息化部總工程師 謝少鋒:我國已經成為全球開源參與者數量排名第二,增長速度最快的國家,開
    的頭像 發表于 12-24 13:52 ?190次閱讀

    嵌入式工程師常用的開發工具有哪些?

    仿真器可以模擬復雜的微控制器和外設,幫助工程師在早期階段進行軟件開發和調試。這大大縮短了開發周期,降低了開發成本。 總之,嵌入式工程師需要
    發表于 12-20 15:29

    了解嵌入式軟件開發的對象

    以前應用場景很單,嵌入式開發可能談不上面向對象開發。但現在,做嵌入式開發,沒有面向對象開發,你就有點落伍了。 本文結合個人經驗和周立
    的頭像 發表于 11-15 10:31 ?430次閱讀
    <b class='flag-5'>一</b>文<b class='flag-5'>了解</b>嵌入式<b class='flag-5'>軟件開發</b>的對象

    尋求專業工程師幫助設計USB多口充電器

    嗨, 我正在開發款USB多口充電器,現尋求一位專業工程師或產品設計的幫助。希望能夠與有經驗的工程師
    發表于 08-05 12:03

    【《軟件開發珠璣》閱讀體驗】+ 心得

    ,《軟件開發珠璣》是本值得每個軟件開發者閱讀的書籍。它教會了我們如何了解需求、設計、項目管理,如何與團隊合作以及如何持續學習和進步。在未來的軟件開
    發表于 06-23 17:56

    找STM32硬件開發兼職工程師

    上海做傳感器的公司,找STM32硬件開發兼職工程師,會硬件開發,嵌入式軟件開發,可項目外包。有意聯系:15900460170
    發表于 06-22 19:12

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

    ,可以為自己的職業生涯打下堅實的基礎,并實現個人的職業目標。愿每一位嵌入式軟件工程師都能在這個充滿挑戰和機遇的領域中取得成功!
    發表于 06-12 11:20

    共讀《軟件開發珠璣》

    作為項目經理,要處理好五大過程組和十大領域; 作為軟件配置管理,對軟件工程、算法和應用開發還不夠了解,本書介紹的軟件開發和管理60條經驗教訓
    發表于 05-21 11:28

    嵌入式軟件工程師和硬件工程師的區別?

    嵌入式軟件工程師和硬件工程師的區別? 嵌入式軟件工程師 嵌入式軟件工程師軟件開發領域中的種專
    發表于 05-16 11:00

    為何國外工程師偏愛使用for(;;)來實現MCU死循環?

    一位工程師發現,國外工程師在給demo在做死循環時用的是for(;;),而不是常用的while(1)。這僅僅是個人習慣的問題,還是有更深層次的含義?
    發表于 04-01 11:26 ?715次閱讀
    為何國外<b class='flag-5'>工程師</b>偏愛使用for(;;)來實現MCU死循環?

    嵌入式工程師需要掌握哪些技術?

    些必要的技術能力是至關重要的。在本篇中,我們將討論入行嵌入式必須的技術能力。 1.C/C++編程能力:C/C++是嵌入式系統開發中最常
    發表于 03-04 16:38
    大发888下载安装| 大发888下载官方| 黄金岛棋牌游戏下载| 银泰国际娱乐城| 菲律宾百家乐官网太阳城| 法拉利百家乐官网的玩法技巧和规则| 百家乐高手和勒威| 罗马百家乐的玩法技巧和规则| 六合彩走势图| 百家乐官网赌博技巧网| 网上百家乐的赌博网站| 宝马会娱乐城返水| 百家乐官网赌场技巧大全| HG百家乐大转轮| 皇冠备用网址| 百家乐官网群的微博| 百家乐娱乐场开户注册| 哈密市| 在线百家乐官网下| 菲律宾太阳城娱乐| 百家乐官网线上代理网站| 半圆百家乐桌子| 六合彩今天开什么| 庞博百家乐官网的玩法技巧和规则| 万达百家乐娱乐城| 百家乐官网单跳投注法| 缅甸百家乐网站| 大发888.comwf| 百家乐官网最新的投注方法| 百家乐无损打法| 百家乐官网视频世界| 属狗与属猪能做生意吗| 大发888主页优惠| 澳门百家乐官网娱乐场开户注册| 威尼斯人娱乐城百家乐| 百家乐官网隔一数打投注法| 百家乐游戏免费试| 大发888存款方式| 路虎百家乐官网的玩法技巧和规则| 真人游戏 豆瓣| 百家乐官网的战术|