看看 台積電 軟體工程師徵才的 JD:
1.Develop state of the art code
2.Continue to refactor existing applications
3.Contribute to write tests to ensure software quality
4.Apply software design principles to ensure software quality
5.Ensure sustainability and performance of software applications
6.Collaborate with colleagues in design and code reviews.
7.Willing to learn new IT technology
...
1.BS/MS degree or above and major in Computer Science, Information engineering, Industry Engineering, Statistics or Mathematic related fields, similar technical field of study or equivalent practical experience.
2.Good at any listed programming languages : C++,C#, JAVA, Python, GO, JavaScript.
3.Familiar with software engineering methodologies: UP, XP or DevOps
4.Familiar with software engineering practices: CI, CD, DDD or TDD
5.Have foundation of OOP, design principles and design patterns
6.Experience managing container-based workloads, using Kubernetes or other orchestration software is a plus.
7.Good communication skills with proactive, good interpersonal and problem-solving capability.
8.With AI related experience is a plus.
9.Familiar with source code version control tools : Git
—
雖然我無法確定台積電裡面這些東西落實的程度有多少,事實上這份 JD 也是蠻大鍋炒的,但是其實仔細看,這些要求跟加分的選項,不就是這幾年我粉絲專頁上分享、技術培訓課程主題、輔導客戶的顧問案 一直在圍繞的東西嗎?
就是一些基本功,得搞到很扎實的基本功,得這些面向都顧到的基本功,得有這些基本功對應的實務經驗/創造價值的經驗,其實就可以篩掉95%的應徵者了。
很多人心心念念想要到自己理想的公司或工作內容,卻只停在想,而沒開始行動「#讓自己有資格去爭取這份工作」。
—
上面這份 JD 真要挑比較跳的地方,就是那個 AI related experience is a plus.
不過都說是 plus 了,就看看就好。扣掉這一點,如果其他的部份你都可以很紮實,說真的,是你在挑工作,不是工作在挑你。
光一個 TDD, 有多少工程師是真能在產品開發上,時程壓力中,用 TDD 來開發,而且獲得對應的好處呢?
至少讓自己能多符合一些上面 JD的技能要求吧:https://tdd.best/category/courses/
「tdd, ddd」的推薦目錄:
- 關於tdd, ddd 在 91 敏捷開發之路 Facebook 的最佳解答
- 關於tdd, ddd 在 91 敏捷開發之路 Facebook 的最佳貼文
- 關於tdd, ddd 在 BorntoDev Facebook 的精選貼文
- 關於tdd, ddd 在 TDD, DDD, & BDD Well Explained - YouTube 的評價
- 關於tdd, ddd 在 D3 vs TDD best practices [closed] - Stack Overflow 的評價
- 關於tdd, ddd 在 How to combine strict TDD and DDD? 的評價
- 關於tdd, ddd 在 chrissimon-au/tdd-ddd-demo-dotnet - GitHub 的評價
- 關於tdd, ddd 在 搞笑談軟工| 領域驅動設計的核心不過是**Model-Driven Design ... 的評價
tdd, ddd 在 91 敏捷開發之路 Facebook 的最佳貼文
很高興看著一堆熱血佛心的好友們把第一屆的 DDD 年會搞了起來,至少凝聚了台灣對 DDD 有興趣、用 DDD 來解決問題的人們,從原本多個單點,到社群的由點成線,再到整個年會幾個不同面向的呈現交流。
台灣還是需要很多這樣的人,幫軟體業注入一些活水,持續成長、持續改善產品、改善團隊協作方式。
在架構規劃之餘,也不要忘了團隊的基本功培養,就像 agile/devops/scrum 是好東西,但團隊的 CI/build server, CD/feature flags/trunk-based/auto testing, code review/pair programming/refactoring/specification by examples 這些如果沒扎根,那些層次更高的 DDD/CQRS/Event Sourcing/micro services, TDD/ATDD/BDD, agile/devops/scrum/LeSS 一不小心會把原本的小苗碾死的。
該學的都該在用之前就學習,你不會知道那一天因為實務上的一個火花就能讓你融會貫通,但看清領域限制、資源限制、團隊限制、技術限制,是一位合格的 architect 必備的基本條件。
DDD 我還很菜,希望有機會可以跟很多夥伴們一起學習交流。(話說 Odd-e 泰國團隊對 DDD 很熟稔就是了 XD)
tdd, ddd 在 BorntoDev Facebook 的精選貼文
เชื่อว่าน้องๆ นักศึกษาสายการพัฒนาซอฟต์แวร์หลาย ๆ คนคงรู้จักกับ TDD (Test-Driven Development) มากันแล้ว ในวันนี้เรามารู้จักกับ DDD (Deadline driven development) กันบ้างดีกว่า ซึ่งเอาจริงๆ พี่ว่าน้องๆหลายๆคนจะต้องทำแบบนี้อยู่แน่ๆ ! 🤣
.
สำหรับน้องๆ บางคนอาจจะมองว่า "งานบางงานมันง่ายไปหมด" เช่น
.
"โถ่ววววว ... ก็แค่เว็บแบบนี้ เชื่อม Database นู่นนี่นั่นก็ไม่นานก็.."สร้าง"..เสร็จแล้ว"
.
"แอปพลิเคชันนี้ไม่น่าจะ "สร้าง" ยากนะ .. ดูทรงไม่นานทำจริงๆก็น่าจะเสร็จ.."
.
ตรงนี้พี่ขอเน้นคำว่า "สร้าง" ตัวหนาๆ ไว้เลยเนอะ เพราะจะบอกว่าประโยคดังกล่าวสร้างความ (micro)chip หายมานัดต่อนัดแล้ว แม้ว่าหลาย ๆ คนจะมีฝีมือเก่งมากๆ เลยก็ตาม เพราะอะไรรู้ไหมครับ .. ?
.
เพราะว่าการพัฒนาโปรแกรมจริงๆ แล้วมันไม่เหมาะสมกับคำว่า "สร้าง" เสียเลยด้วยซ้ำ แต่จริงๆ แล้วมันเป็นการค้นหาแนวทางในการแก้ไขปัญหามากกว่า 🧐
.
ถ้าอธิบายคำว่าสร้างเราก็มักจะนึกถึงการสร้างบ้านที่มักจะมีรูปแบบที่แน่นอนตายตัว โอเค มันต้องมีเสา มีคาน มีกำแพงใช่มั้ย ? ถ้ามีจะต้องทาสีปูนตรงกำแพง ใส่ Wallpaper ให้มันด้วยนะ 🏚️
.
แต่การพัฒนาโปรแกรมนั้นจะแตกต่างกันออกไป (ภาษาอังกฤษตรงนี้จะใช้คำว่า finding a solution) ใช่ครับมันเป็นการหา Solution นั่นเอง..👨🏫
.
โดยให้เปรียบเทียบการหาสไตล์นี้ก็ให้ลองจินตนาการว่าเรายืนอยู่ในหมู่บ้านจัดสรรแห่งหนึ่งที่บ้านแต่ละหลังนั้นหน้าตามันคล้ายๆ กันหมดเลย แล้วให้เราทำการ "จดสิ่งของที่อยู่ในบ้านแต่ละหลังทั้งหมดมาเป็นลิสต์รายการ" ไม่ว่าจะเป็น ถ้วย ถัง จาน ลูกบอล เตียง อะไรก็แล้วแต่จดมาให้หมด ..
.
ถ้าให้ทำแบบนั้นคิดว่าเราจะใช้เวลาทั้งหมดเท่าไหร่กันครับ ?
.
.
ตอบยากใช่ไหมครับ ? การพัฒนาโปรแกรมก็เช่นกันครับ 😉
.
.
ดังนั้นทราบแบบนี้แล้ว "อย่า" ยึดแค่เวลาส่งมอบงานอย่างเดียว เพราะจริง ๆ อาจจะมีรายละเอียดงานจำนวนมากที่เรายังไม่ได้เก็บอีกเพียบ .. สำหรับน้อง ๆ ที่กำลังหาแนวทางแก้ไขกับปัญหาดังกล่าวหละก็ .. ติดตามต่อตอนถัดไปนะครับผม 😊
@พี่เปรม - BorntoDev
tdd, ddd 在 How to combine strict TDD and DDD? 的推薦與評價
DDD is about software design. TDD is about code design. In DDD, the "model" represents de abstraction of domain, all the knowledge from domain ... ... <看更多>
tdd, ddd 在 TDD, DDD, & BDD Well Explained - YouTube 的推薦與評價
[DDDesign Taiwan 2021 Conference] 劉鳯軒- TDD, DDD, & BDD Well Explained. 1.6K views · 1 year ago ...more ... ... <看更多>