Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

สรุปบทสัมภาษณ์ของ Uncle Bob จาก TypeMock

$
0
0

ช่วงเย็น ๆ เห็นบทสัมภาษณ์ของ Uncle Bob จากเว็บของ TypeMock อ่านครบ 3 จบ จึงสรุปเรื่องที่น่าสนใจไว้นิดหน่อย อ่านไปขำไป อ่านไปยิ้มไป ลองมาดูกันว่ามีคำถามคำตอบอะไรบ้าง

ภาษาโปรแกรมที่ยังใช้อยู่ มีอะไรบ้าง ?

  • Java
  • Clojure
  • Go
  • Python
  • Ruby
  • C, C++
ส่วนเหตุผลลองไปอ่านกันดู แต่ที่น่าสนใจคือ การเขียนหลากหลายภาษานั่นเอง วันนี้ developer เขียนกี่ภาษา และ ทำไมถึงเขียน ? ลองตอบกันดูนะ

Passion ใน programming มีอะไรบ้าง ?

  • Keeping the code simple
  • Keeping the code clean
  • Keeping the code well structured
  • Keeping the code well tested
ไม่น่าจะต้องแปลอะไร แล้ว developer แต่ละคนมีอะไรบ้าง ?

อะไรที่ไม่ควรมีใน programming เลย ?

ตอบสั้น ๆ ว่า SQL ถ้าจะให้หนักกว่าก็ต้อง Store procedure นะ

สิ่งสำคัญที่ developer ต้องมีคืออะไร ?

ตอบสั้น ๆ อีกว่า Care คือความใส่ใจใน code ที่เขียนขึ้นมา ไม่ใช่รีบเร่งเขียนให้มันเสร็จ ๆ ไป ซึ่งแทนที่จะเร็วกลับทำให้ช้ากว่าเดิมอย่างมาก จากนั้นต้องอดทน และ ความเป็นมืออาชีพในสิ่งที่ทำ เพราะว่ามันคืออาชีพของเรา สิ่งที่ต้องตระหนักคือ เราเขียน code เพื่อให้คนอ่านเข้าใจได้ง่าย และง่ายต่อการเปลี่ยนแปลง โดยคนที่มีความสามารถเหล่านี้กลับมีน้อยมาก ๆ เป็นเรื่องที่แปลกแต่จริงนะ

จะโน้มน้าวให้ Manager เข้าใจหรือยอมรับกับ TDD ?

ตอบแบบตรง ๆ คือ ไม่ต้องทำ เพราะว่ามันไม่ใช่หน้าที่อะไรของ Manager เลย ต้องมาเข้าใจ หรือ รู้ว่าคุณทำอะไร แต่มีคุณเท่านั้นที่รู้และเข้าใจว่า ถ้าต้องการให้งานหรือ code ออกมาดี จะต้องทำอะไรบ้าง
คำถามจริง ๆ ที่ต้องถามคือ จะโน้วน้าวคนในทีมหรือเพื่อร่วมงานของคุณมาเขียน unit test หรือปฏิบัติตามแนวคิด TDD อย่างไรมากกว่า ?
ถ้าคุณเชื่อและลงมือทำแล้ว แต่ไม่มีใครเชื่อหรือทำตามคุณเลย หลาย ๆ คนก็จะเลิกทำ !! แต่สิ่งที่คุณต้องทำคือ อย่าละทิ้งแต่ให้ทำต่อไปเรื่อย ๆ ถ้าคุณอยู่ในทีมที่ไม่เขียนและไม่เห็นคุณค่าของมัน สิ่งที่ควรทำคือ เปลี่ยนทีมดีกว่า แต่ถ้าคนส่วนใหญ่ในทีมเห็นคุณค่าและปฏิบัติแล้ว คนบางส่วนไม่สนใจ สิ่งที่ควรทำคือ เอาคนที่ไม่สนใจออกไปจากทีม

สำหรับการฝึกฝน TDD ชอบโจทย์หรือ Kata อะไรบ้าง ?

  • Video Store
  • Bowling game
  • Prime factor
  • Word wrap
  • Stack

สิ่งที่ขาดไม่ได้สำหรับการทำงานในแต่ละวัน ?

Unit testing framework ดี ๆ กับ IDE แจ่ม ๆ เช่น Jetbrains

มีคำแนะนำแจ่ม ๆ อะไรบ้างที่เคยได้รับ ?

เข้าใจ business ของสิ่งที่กำลังทำก่อน จะทำให้เขียน code และแก้ไขปัญหาได้ดีและตรงมากยิ่งขึ้น ไม่ใช่แค่เลือกภาษาแจ่ม ๆ และเทคโนโลยีแจ่ม ๆ เพื่อสนองความต้องการของตนเอง

สุดท้ายแล้ว เหตุใดคุณภาพในอุตสาหกรรมการพัฒนา software มันจึงแย่เอามาก ๆ ?

เลือกวิธีการผิด คิดว่าสิ่งที่เลือกจะทำให้ไปได้เร็วหรือพัฒนาได้เร็ว แต่คิดผิด เราไม่สามารถไปได้เร็ว ถ้าทำแบบรีบเร่ง แต่เราสามารถไปได้เร็ว ถ้าคุณสนใจและใส่ใจในสิ่งที่ทำ ทำให้มันออกมาให้ดี  
ตามแนวคิดของ TDD คือ ทำดีดี !! อ่านจบแล้วก็เขียน code กันเถอะครับ

Viewing all articles
Browse latest Browse all 1997

Trending Articles