ref: https://svpino.com/lessons-learned-from-the-smartest-software-engineer-ive-met-35895ac9fe3a
本篇文章是工作經驗談,作者想要分享這十多年的工作經驗中,從那些聰明人身上所學到的事情,包含了
1. Fast is better than good
2. Unlearn what you know about technical debt
3. There aren’t stupid questions
4. Communication outweighs technical skills
5. Just because you can doesn’t mean you should
6. Share like there’s no tomorrow
7. Take full responsibility
8. The best code is the one nobody wrote
9. If you don’t test, it doesn’t work
10. Embrace failures
Fast is better than good
大部分的情況下,一個稱得上是好的解決方案勢必都要能夠針對時間,精力與成本這三個方面取得平衡。
太多人很容易一開始就會想要設計最完美個解決方案,導致一開始花費大量時間在思考跟設計,卻遲遲沒有動手。
作者認為不是說不要思考,而是不要認為有辦法一開始就可以想到一個最佳解,而是應該一邊做一邊改進。
Unlearn what you know about technical debt
技術債想必是大家都很厭惡的一個情境,作者希望大家可以從不同層面的地方去看待技術債
作者認為只要能夠用正確的方式去面對,技術債身上也可以有值得學習的機會,因為大部分的技術債
都是因為時間與人力不足下進行取捨所造成的結果,這邊帶來的隱含是到底哪些事情是團隊當前最重要的,哪些是不重要可以之後再改善的
最後來個公道話,計畫債太多一定有問題,但是沒有技術債更大的機率代表你都把時間花費在不是最重要的事情身上
There aren’t stupid questions
有問題就使勁地去發問,更多時候努力工作並不會讓你這個人獲得一個很深刻的印象,但是有效率與聰明的工作相對容易讓你被人記住。
任何不清楚的地方就問,問到一切都明瞭。
最後補上一個引言
「會問問題的人會當傻子五分鐘,但是不問問題人的人則是一生傻子」
Communication outweighs technical skills
能夠透過溝通來清楚描述想法的能力可謂是一個不可或缺的技能。
相對於技術能力來說,溝通能力很容易被大家給遺忘,甚至大家都不會覺得這記得有什麼值得重要的。
但是良好的溝通帶來的效果是無形的,所以請投資時間去學習如何有效的溝通。
Just because you can doesn’t mean you should
最簡單為團隊帶來影響的方式就是好好的針對所有事情排定優先順序,學會如何分辨重要性其實非常重要
畢竟時間有限,如何於有效的時間內帶來最大的效益也是一個不可或缺的技能
Share like there’s no tomorrow
隱瞞各種資訊並不會讓你成為團隊中不可或缺的關鍵人物,相反的,願意分享事情與知識的人更容易變成團隊中的核心角色
學會分享也同時藉由分享的這個步驟讓整體團隊一起成長
後續有興趣的可以參閱原文
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...