你是否也只把關注點放在如何解決問題(How),而沒有再多去想想為什麼要這樣解決(why)?
你是否只關心結果,而忽略過程?
這次很榮幸有機會可以成為曼陀號領航計畫的成員,其實之前早就想要參加,但是在知道曼陀號的時候,剛好自己也還沒有什麼實務經驗,覺得報名可能比較沒有幫助,所以就沒有報名。但是現在的自己已經有一點點經驗,覺得是時候報名看看,就付出行動了,也很幸運地有入選,而且這次的船長又是一位自己一直都覺得很優秀的大大,也就是關鍵評論網集團整合長Richard,真的覺得很開心!
而且第一次月會其實就有好多好多收穫,怕自己忘記自己到底從中吸收到什麼,就來簡單做個心得紀錄吧!
本次月會主題
如何提升專業技能實力?要追求廣度還是深度?
本次月會流程
這次月會的流程大致上如下:
主要是分兩個大段落,進行分享和討論
船長第一段落分享 > 分組討論、結論分享 > 船長第二段落分享 > 分組討論、結論分享
船長分享 - 段落別重點摘要
第一個大段落:先追求廣度還是深度?
如果可以同時掌握好,我當然想要同時全都要XD,但我是一個普通人,根本無法...
其實這個問題,我在很久以前有在網路上問過一位小有名氣的工程師大大,但我忘記他回了我什麼了。在這次的月會中,船長則是以他個人多年看履歷、帶人的經驗告訴我們身為Junior的我們應該在現階段先追求深度,先求精再求廣。這裡的「專精」,不只是可以把一個專案開發出來的能力,更多是在於一個獨立開發的能力以及水準,像是了解及熟悉系統升級、搬遷,懂得修改底層套件,還有熟悉webpack、vite等打包工具的使用。
為什麼要先追求專精?
想要成為一位資深工程師,就需要具備提點後進的能力,那也就需要對於相關領域有一定強度和深度的理解和認識。當然,夠專精才能提高的自己的競爭力和技術實力。對於一項領域夠專精,也會對於技術有一定的美感,並且有能力去判斷什麼技術適用於什麼情境,甚至有能力去更快地掌握其他技術。
這個部分其實就跟學外語一樣,對於一種外語只要夠熟悉,就會產生語感和語言自有的一種邏輯(這個部分不知道有沒有人跟我一樣有同感),知道什麼情境下可以用什麼文法或詞彙,再去學相關語系的外語,也會學得比較快。再轉回來以前端技術來說的話,其實就是當你精通一個前端框架,再去碰其他框架會比其他人更快上手。所以如果是先顧好專精這部分,再去增加自己的廣度,反而能有更好的效果。
在船長的分享中,還有一個很有趣的點,就是當你有了「別人給的api或套件不一定都完全沒問題」的認知後,也代表自己在前進了。這段話其實我自己很有感,因為第一次在公司接別人的api時,我真的覺得別人的東西一定不會有錯,因為大家都比我資深。漸漸地才發現,其他大家都一樣,都有可能出錯,這跟資不資深沒有關係。不過也是因為經驗的累積,讓我能在有錯誤出現時,很快就能掌握是前端的問題還是後端的問題,這大概也是一種小小的成長吧。
那要專精的標準是什麼呢?
- 有沒有教別人的能力
其實這個大家都有聽過,當自己有能力把學會的東西用前顯易懂的方式說明給不會的人聽,並且讓其他人也聽得懂,那就代表自己真的對於這個領域或技術有一定的熟悉度。當然所謂「教學相長」,在跟別人交流的時候,也能夠發現自己還不足的地方,達到與對方互相學習成長的正循環。
- 有沒有解決複雜問題的能力
這個部分其實也是大家都知道的部分,因為當你有能力解決更難的問題,當然也就代表自已的技術力有一定的水準。不過我想有意識培養自己這項能力的人,應該會比沒有這麼做的人多,包括我自己對於這個部分也非常需要加強。
像是船長分享的過程中其實有提到「當在使用套件遇到問題時,是選擇棄坑?還是想辦法去看source code,進去套件底層找到問題並解決?」以我為例的話,大多數時候,也許因為時程壓力,也許因為下意識覺得工作就只是工作,都會以解決問題為目標前進,也就會變成不擇手段地解決問題,囫圇吞棗地消化這個問題,進而導致下次如果來個變化題,我可能就只能直接死在那。久而久之,就讓自己成為碼農了ㅠㅠ。所以改善這部分的心態,真的很重要!
- 參加conf,與更厲害的專家交流
和一些專家交流不僅可以從專家身上知道自己有哪些地方需要加強,還可以吸收到很多不同的觀點,讓自己變得更好。除此之外,我自己覺得更重要的還有讓自己知道自己是否有所成長,因為想要與專家交流,自己勢必還是要有一些相關經驗及體悟,當你有了一些東西,也才能與更厲害的大大有共同的話題一起討論。
第二個大段落:本科或非本科重要嗎?
直接切入正題,是本科不是本科並不重要,重要的是非本科的自己要怎麼把對於本科生來說,最基本的那些知識給補起來,像是程式語言理論、資料結構和資料庫、網路與分散式系統。在船長的分享中也有提到一些大家都知道的現況,也就是在學校學的技術,不一定是工作中用得到的技術,也就是產學無法結合的狀況,針對這部分船長也有提到「如果產學能結合的話,就代表是產業太落後,而不是學校太厲害」。主要是因為學校沒有那麼多的資金去針對技術做發展,所以通常都是產業帶著學校跑,而不是學校帶著產業跑。這點也再次證明了是不是本科真的不重要,當然本科還是有本科的優勢,所以非本科的我們想要趕上本科的人,還是得加把勁把基礎自學好。
其實我也偶爾也會糾結於自己不是本科生的這一點!甚至不止一次有想要去考資工系的念頭,但是礙於我已經一把年紀了,實在是沒辦法像學生一樣每天埋頭苦讀,而且如果真的要考資工系,以我的文科腦,可能也無法達成,所以這念頭每次都默默地出現又再度默默地消失。但仔細想想自己真正需要的還是專精自己的前端技術,以及把基礎補強,讓自己克服冒牌者症候群。
老實說以韓文這項外語來說,其實自身經驗也是非本科的學得比本科的還好!以前還在韓文的圈子裡時,身邊有許多韓文超厲害的人其實都是非本科。所以說一定要是本科嗎?答案應該很明顯了!只是的確必須下更多苦工追上本科生。
分組討論 - 我自己印象深刻的部分
在分組討論環節我參與了「程式語言與技術框架」和「前端」這兩個部分的小組討論。
雖然自己的實務經驗不多,一開始甚至很擔心自己說不出什麼很棒的東西跟大家討論,但從大家不同經驗中所遇到困擾的狀況,還是很有收穫,不論是對於職涯發展的擔憂,還是開始需要帶人、成為PO的煩惱,亦或是不知道該怎麼在現在的領域中有所突破的困擾。因為大家分人的分享的面相很多元,這裡就簡單記錄一下自己最有感的部分了。
(其實原本有人提到DDD,還想說要不要跟大家深聊DDD,但我也還是小菜鳥一個,而且討論太深入好像很離題,就先pass了!)
在分組討論中最有感的部分其實就是這次月會一個我覺得很重點的內容,也就是「Junior要怎麼往Senior邁進」。
在小組分享中航海士Zet大大分享到了幾個關於這個部份的重點,而這些內容也正好呼應到前面船長分享的內容,先求精再求廣。在初期學習時,不管是線上課程或是實體課程,通常都是在教大家怎麼用這些技術下去開發,教使用這些技術的方法。但是想要往資深工程師邁進,不能只是知道怎麼使用,還需要進一步了解為什麼這樣使用,還有這是在解決什麼樣的問題,也就是前面所提到的追求「專精」的部分。但老實說,當我回顧過去的這些日子,我發現其實自己只是一昧地在追求知道要怎麼用新的技術,我會寫Vue,也會寫React,也碰過nginx,然後勒?雖然過往的實務經驗的確對我自己有一些幫助,但是還是感覺卡在一個不高不低的階段,我想問題點大概就是出在這裡吧!
而點醒我自己問題點在哪,讓我印象非常深刻的討論內容,就是航海士提醒大家的這段話:「在解決問題時,要有意識地去思考為什麼要這樣做,這麼做的優點和缺點是什麼,把這些脈絡都掌握了,在下次遇到類似的問題時,才有能力以過往累積的經驗下去判斷這個問題要怎麼解決。」這也才能達到所謂的專精。還有聽到一個心態我也覺得很受用,就是當自己當下能做的工作都做得差不多了,能碰的東西也差不多就是那些,該怎麼辦呢?航海士給的建議是「可以在現有資源下,去思考我還可多做些什麼?」這個部分我覺得也是所謂達到專精很重要的心態,
分組討論環節雖然沒有真正聚焦在技術層面,不過仍然在心態、心法上,還是有滿滿的收穫,也讓我有一個方向去反思自己該怎麼做,才能讓自己變得更好。
我的Action
在這次的月會後,不僅是把有益的話給聽進耳裡和心裡,還得要真正地付諸行動,才對自己能有真正的幫助,所以也替自己訂下了幾個行動,當然除了訂下可以執行的事項外,確實地執行才是最重要的,請路過看到這篇文的各位幫忙鞭策我(_ _)
- 搞懂從這場月會中聽到的一些技術名詞
在這次月會中,我有聽到一些重要但自己一直沒有好好去理解的技術詞彙是什麼意思,都在月會中被提出是很重要的基礎知識了,不懂當然得好好地一個個補回來。
- 確實把成為Senior該具備的心態落實於工作和生活中
雖然這部分我可能會需要一些時間去調整和習慣,但是有意識地提醒自己做到這一步,不馬虎地只是完成任務,而是連細節都掌握,長久下來才能真正突破成長瓶頸!
感想總結
其實在這場月會中聽到的心態部分自己真的非常有感,雖然這些心態是大多數人都已經知道的事情,但是有時候沒人提點的話,真的很容易會自動忽略掉這些細節,而且實踐起來的確也沒有想像中那麼容易,我想這大概也就是業界資深大大和菜一輩子的小小的差距吧!雖然我並沒有自信自己有一天能成為那些大大一樣,甚至連成為中中(?)的自信也沒有,但我也不希望自己在轉職成為工程師後,仍然持續停留在一個差不多的階段,我不想成為差不多的工程師啊!!!繼續努力,往成為一位自己心目中理想的工程師前進!