回文不用ACG點 這篇也沒什麼西洽點
這問題我這個臭酸宅應該有點資格回答 不過版上好像有同學和學弟 拜託別漏我氣
本文會參雜中國用語請見諒
先說結論
難 非常難 我個人認為有兩種機會
第一種是你有自信自己聰明才智PR值在台灣超過全體國民97%以上
學習時能自己開路 或是別人指點一下你就能學很快很快 非常快 快到不行這種
再考慮這件事
我自己是屬於第二種機會
(以下是經驗 有很多冗餘的廢話 不想看直接跳第四頁)
大學專業種樹 還繼續讀了研究所但沒畢業 陸續找了幾個專業或非專業工作
後來被找去北京的IT公司 人數約40-100(沒打錯) 主業務是特定行業ERP系統(*1)
米蟲了幾個月在每個部門都流轉一陣子 最後被塞到研發工程部
當時我對於寫程式的所有經驗
就是高中時電腦社花四周四堂課用VB寫一個只能加減的計算機 乘除寫不出來
公司的研發總監被塞了我這個屎缺 用力拍胸脯保證但實際上抖到不行(26都這樣 很會吹)
因為有太多我這種莫名其妙什麼鳥毛都不會的新人說要寫程式 然後過不到兩個月就GG
然後我學習的過程
原本公司的上班時間是0830-1800 中間休息1.5小時 我每天0630到公司 2000以後出公司
上班以外的時間 還有上班時稍微沒事的空檔就要狂看Code
第一周
先學SQL增刪改查這些基礎語法 和公司產品的數據庫結構
第二周
學C#的基礎程式碼 自己拿Winform學寫一些超簡單的小工具
第三周
開始幫客服解決需要在客戶上線數據庫中手動修數據的任務 實務練習SQL(*2)
同時開始大量讀公司產品的Code 也是從這時候學到很多爛到不行的程式碼寫法
因為公司十個工程師只有一個是本科出身 兩個是北大青鳥(類似官方版巨匠)...
第五周
開始幫忙修bug和加feature 當然這時候我什麼狗屁都不懂 怎麼可能會弄
總監:阿你看那裏有個按鈕對吧 你把裡面的代碼複製過去 加個按鈕就好
...你他媽跟我開玩笑吧
工程師新手期剛開始讀Code應該都能體會這種感覺
因為看不懂裡面的東西 那段程式碼對你來說是"一塊物體"
只能整塊Ctrl+C Ctrl+V 直到哪天發現不好使了(26用語 不起作用 沒辦法用的意思)
必須把"這塊東西"拆解 開始研究裡面一行行程式碼是什麼意思
搞懂了才知道問題在哪 為什麼不能用 要怎麼改 如果想要有不同的結果該怎麼做
能力就是這樣進步的 你理解的越快 進步的越迅速
我從一點點都不懂 到可以獨立作業SQL和C#的Winform大約是75-90天左右
後面又被叫去開發Web應用 自學ASP.NET JQ/JS AJAX 還有各種CSS 是另一個悲慘經驗...
這是都是指"搬磚" 就是26俗稱的碼農
要升級成"設計房子"的工程師 那就要慧根了 這個慧根我到現在還沒頓悟
不知道是我太笨還是客戶太GY 總覺得我想的和客戶要的對不上
這就是我說的第二種機會
當公司老闆是你親戚的時候 只會種樹的清潔工直接空降到IT公司薪水最高的部門
還直接指揮部門大老(但不牛只是能吹)一對一專門教你寫程式 教不會扣他薪水
也沒人敢吭聲...還好我不是太笨 幫前輩保住他的薪水了
*1:公司從一開始就沒有正式的開發流程 然後ERP又是一套非常龐大的東西
所以在做了接近四年 後兩年幾乎變成唯二的主工程師
所有跟Code有關的東西通通都會到我手上
一個人負責開發新產品 做新功能 修BUG 和客戶抬槓 和業務休....罵
工作時數比996還多 大概是一周6.5天 一天12小時以上 周日可以偷懶半天
這種情況下 公司主產品的Code我只瞭解了1/2左右 還有一大半是黑洞代碼
就是有人問了我還不知道有這功能
所以當初百萬走路王倒的時候說黑洞程式碼太多 無法解決核心問題
我太可以理解了 簡直想替他們流淚
*2:公司產品做的太爛 數據常有問題
天天幫客戶手動修數據庫 就是線上正在用的生產資料庫...
也學到如果Delete和Update時忘記加where該怎麼辦
"阿不好意思 你們這個服務器的硬盤有問題啦 我什麼都還沒開始弄就掛了"