- 大話程序員:從入門到優秀全攻略
- 安曉輝
- 1807字
- 2019-11-22 18:19:16
前言
這本書的“種子”,在我2005年初決定從事軟件開發的那一刻就埋下了,經歷了十幾年歲月的滋養,現在才破土而出。因此,我們要回到最初,從我的職業路線圖說起。

粗線箭頭代表工作的主線劇情,細線箭頭代表發展出的支線
從上圖可以看出,我從2005年到2018年,先后經歷了6個主線劇情,完成了5次轉型,下面簡要回顧一下。
2005年年初,我決定告別程控交換設備的售后技術支持工作,轉型從事軟件開發工作。
在這個過程中,經歷了技術選擇、自學、跨行找工作、漫長的面試與被鄙視等跨行進入軟件開發領域會必然遇見的問題,最終轉型為開發寬帶接入產品的軟件工程師。
對職業選擇與個人發展相關問題的探索,從這個時期的各種“切膚之痛”開始。
2008年下半年至2009年年初,從開發者轉型為研發部門經理,同時還負責部分軟件架構設計和核心模塊的編碼工作。這樣的狀態持續了將近6年,一直到2014年9月。
在這個過程中,從零開始從事智能機頂盒產品開發并且持續6年不斷打磨、反復迭代,我的技術能力在軟件架構、程序設計、編碼實現等方面都發生了躍遷。同時,因長時間使用Qt,在Qt應用開發方面也有了比較深的積淀,出版了《Qt on Android核心編程》和《Qt Quick核心編程》兩本技術圖書。
也是在這個時期,我完成了從“自己單干”到“帶團隊一起干”的轉變,從技術角色轉向了管理角色,對技術、項目、管理等有了較為全面的經驗和思考。
2014年下半年,接受朋友邀請,加入創業者行列。這算是很多程序員都會做的一道附加題,它讓我深刻體會到什么是“無路可退、無人可靠”。
2015年年底,解散創業團隊。
這時我已經系統地學習了職業規劃技術,于是對自己做了深入挖掘和分析,發現自己的成就感還是來源于技術性工作,所以果斷選擇了回歸開發崗位。
還是在2015年,考慮到我獨特的“軟件開發+職業規劃”背景,可以更好地幫助從事開發的小伙伴規劃自己的職業生涯,我開通了微信公眾號“程序視界”,分享我對職業的理解。
2016年年初,很多小伙伴開始在公眾號后臺問我各種問題,所以決定開通“有問有答”欄目,免費回答“程序視界”關注者的提問,希望能幫到更多的有緣人。
2017年7月,我對自我支配的渴望強烈到難以再忍受組織束縛的地步,于是主動離隊,成為自由職業者。
經過幾次生涯探索和規劃,我決定專注于開發者的職場成長領域,將自己定位為程序員的成長顧問,以寫作、課程、職業咨詢等方式養活自己。
成為自由職業者后,我有了更多的時間思考IT職場的問題,公眾號“程序視界”的“有問有答”欄目經過兩年多的運營,回答的問題已經涵蓋了技術選擇、跳槽策略、職場適應、生涯規劃、上下級溝通、怎么轉型從事軟件開發、如何快速提升自己等各個方面。
在這些問題中,有兩類問題出現了周期性,反反復復、持續不斷地被提出來。
一類是薪水方面的問題,例如,選擇什么樣的公司會有高薪?如何面試能拿到高薪職位?Java后臺服務開發和前端哪個薪水更高更有前途?公司好久沒漲薪水了該怎么辦?該不該發展副業賺點外快?
一類是能力提升方面的問題,例如,工作兩年多感覺技術很菜該怎么辦、想學新東西總是堅持不下來怎么辦?要學的技術好多,時間不夠用怎么辦?公司的技術氛圍不好,我成長得太慢要不要跳槽?做開發好痛苦,還要不要堅持下去?
這些問題以各種形式反復出現,讓我意識到,那些剛從事軟件開發工作沒幾年,還沒走過初、中級階段,尚未建立自己的知識體系形成優勢的小伙伴們的普遍問題,于是我就萌生了“寫一本書系統回答這些問題”的想法。
經過分析,我發現這些問題通常是由下面幾種原因造成的。
- ◆ 不了解自己的個性和職業傾向,行差踏錯進入軟件開發領域。
- ◆ 不懂職場選擇的通用邏輯。
- ◆ 不知道什么樣的崗位更適合自己。
- ◆ 不了解技術修煉的一般性方法和框架。
- ◆ 不懂怎么系統地為面試做準備。
- ◆ 不具備必要的職場基本功(軟能力)。
于是,我就面對著這些問題和潛在的原因,不斷追問自己,梳理、整合、抽象、重構,慢慢地把自身的職場經歷與體驗、職業規劃技術、超過500小時的開發者職業規劃咨詢,以及凝結在“有問有答”欄目的近兩年的思考融匯在了一起,形成了現在的答案,并以書的形式為大家呈現。
假如你:
- ◆ 想知道自己是否適合從事軟件開發工作。
- ◆ 想知道如何在諸多軟件開發崗位中做選擇。
- ◆ 想知道怎樣才能在技術之路上更有效地“升級打怪”。
- ◆ 想知道開發者的職場發展到底有哪些方向。
- ◆ 想知道那些可以助力開發者走得更遠的職場基本功。
那么,這本書可以提供一些方法、思維和工具給你,幫助你更好地探索自己,更快地走向你想要的未來。
安曉輝
2019年3月
- Java程序設計(慕課版)
- 數據庫程序員面試筆試真題與解析
- Microsoft Application Virtualization Cookbook
- C語言程序設計
- Unity Shader入門精要
- 大學計算機基礎實驗指導
- 精通Python自動化編程
- Mudbox 2013 Cookbook
- The Applied Data Science Workshop
- Android開發進階實戰:拓展與提升
- Python深度學習與項目實戰
- Java程序設計(項目教學版)
- 前端Serverless:面向全棧的無服務器架構實戰
- Comprehensive Ruby Programming
- Go語言Hyperledger區塊鏈開發實戰