ช่วงวันหยุดหยิบหนังสือ The Passionate Programmer มาอ่าน
โดยเนื้อหาในหนังสือประกอบไปด้วย 5 ส่วนรวมทั้งหมดมี 53 หัวข้อ
จึงทำการสรุปไว้นิดหน่อย
น่าจะมีประโยชน์สำหรับการพัฒนา software บ้าง

ส่วนที่ 1

  • ต้องทำการศึกษาเทคโนโลยีใหม่ ๆ อยู่อย่างเสมอ
  • ต้องรู้ด้วยว่าความต้องการในตลาดงานเป็นอย่างไร อะไรเป็นที่ต้องการและไม่ต้องการ
  • ต้องเข้าใจในตัว business ด้วยนะ
  • อย่าเป็นคนที่น้ำเต็มแก้ว ต้องเรียนรู้จากผู้อื่นเสมอ
  • ทำการเรียนรู้เพื่อเข้าใจแต่ละภาษาโปรแกรมว่าแตกต่างกันอย่างไร มีเป้าหมายอย่างไร
  • อย่ากลัวที่จะตัดสินใจ เพราะว่าความกลัวทำให้เราไม่กล้าลงมือทำอะไร
  • ต้องทำการ update สิ่งที่รู้และไม่รู็อยู่อย่างสม่ำเสมอ เพื่อให้เรารู้ตัวเอง
  • ต้องลงในรายละเอียดของแต่ละภาษาโปรแกรม แต่ละเทคโนโลยีที่ใช้งาน
  • พยายามใช้เทคโนโลยีที่แตกต่าง ทั้งระบบใหญ่และระบบเล็ก เพื่อให้เข้าใจในตัวเทคโนโลยีต่าง ๆ
  • Love it or Leave it ดังนั้นถ้าชอบสถ้ารักสิ่งใดต้องทำให้มันเต็มที่

ส่วนที่ 2

  • ต้องเรียนรู้ พัฒนาและปรับปรุงในเครื่องมือและเทคโนโลยีที่ใช้ในงานปัจจุบัน
  • ต้องเรียนรู้เพิ่มเติมว่า จะทำอย่างไรให้ business มันดีขึ้นกว่าเดิมอยู่เสมอ
  • หา mentor ซะ
  • จงไปเป็น mentor ให้คนอื่นด้วย แล้วคุณจะเข้าใจมากยิ่งขึ้น
  • ต้องฝึกฝนอย่างสม่ำเสมอ ตัวอย่างเช่นเป็น developer คุณทำการฝึกเขียน code บ้างหรือไม่ ?
  • ต้องทำการเรียนรู้และเข้าใจเกี่ยวกับกระบวนการในการพัฒนา software เพื่อเข้าใจจุดแข็งและจุดอ่อน และนำมาใช้งาน
  • ทำการเรียนรู้การเขียน code ด้วยการอ่าน code ของคนอื่น
  • งานอะไรที่มันต้องทำซ้ำ ๆ ก็ทำให้มันทำงานแบบอัตโนมัติ (หัดขี้เกียจบ้าง)

ส่วนที่ 3

  • ถ้าต้องการหรืออยากได้อะไร ก็ให้ลงมือทำเดี๋ยวนี้ อย่ามันแต่หาข้ออ้าง
  • Predict the future
  • ควรทำการ review process และ ปัญหาต่าง ๆ ในทุก ๆ วัน
  • ต้องรู้และเข้าใจเป้าหมายของบริษัท
  • ทำการตั้งเป้าหมายระยะยาวของงานที่ทำอยู่ เช่นในสัปดาห์ต่อไปจะทำอย่างไรให้ดีขึ้นกว่าเดิม มีเป้าหมายเพื่อให้งานสำเร็จ
  • จงทำงานที่น่าเบื่อให้มันสนุกขึ้น เช่นการเปิดให้เห็นว่าแต่ละคนทำอะไรกันอยู่บ้าง ซึ่งอาจจะมีคนที่รู็และทำได้ดีกว่า
  • ทำสิ่งต่าง ๆ ให้คุ้มค่า รวมทั้งเราทำงานคุ้มเงินค่าจ้างหรือไม่
  • ทำการแบ่งปันความรู้ในสิ่งที่เราทำแก่คนอื่น ๆ ทั้งทีมและหัวหน้า
  • ต้องทำการวัดผลอยู่อย่างเสมอ เพื่อทำการปรับปรุงให้ดีขึ้น (Measure => Improve => Measure)
  • ทำงานให้คุ้มกับการว่าจ้าง เช่นในเวลางานก็ตั้งใจทำงาน
  • เรียนรู้ที่จะผิดพลาด เพื่อให้รู้เข้าใจและระวัง
  • ถ้าไม่รู้ก็บอกว่าไม่รู้
  • จงอย่ากลัวหรือกระต่ายตื่นตูมเกินไป
  • พูดได้ ก็ต้องทำได้ และแสดงออกมาให้เห็น

ส่วนที่ 4

  • ต้องรู้เสมอว่าคนรอบตัวคิดกับเราอย่างไรบ้าง
  • เป็นคนอ่อนน้อมถ่อมตน เข้ากับคนง่าย ๆ
  • ให้ทำการสรุปไว้ด้วยว่าเราทำการตัดสินใจอะไรไปบ้าง อย่างไร เพื่อนำมาวิเคราะห์เพื่อหาวิธีการปรับปรุงต่อไป
  • เน้นการสื่อสารด้วยการพูดคุยแบบเห็นหน้ามากกว่า email และ chat
  • รู้จักพูด สรุปให้ชัดเจนไม่ต้องมากความ
  • ทำอะไรต้องมีเป้าหมายเสมอ เพื่อทำให้คุณรู้ว่าต้องทำอะไรบ้างเพื่อไปยังเป้าหมายนั้น
  • ถ้ายังไม่เขียน blog ก็ให้มาเขียนกันเถอะนะ อย่ามีข้ออ้างเลย
  • ทำการสร้างตัวตนของเราขึ้นมาบ้าง
  • เข้าไป contribute กับ opensource บ้าง
  • ลองทำบางสิ่งบางอย่าง จากที่เคยทำนานเป็นสัปดาห์ให้เหลือวันเดียวดูบ้างสิ เริ่มต้นจากส่วนเล็ก ๆ นะ
  • ทำการ contribute กลับไปยัง software ที่เราใช้กันบ้าง หรือแนะนำ feature ใหม่ ๆ ไปยังผู้สร้าง

ส่วนที่ 5

  • ต้องทำการ update เทคโนโลยีต่าง ๆ ที่ใช้อยู่อย่างเสมอ เพราะว่าสิ่งที่ใช้ในวันนี้พรุ่งนี้อาจจะล้าสมัยหรือเลิกใช้ไปแล้ว
  • ลองทำอย่างอื่นดูบ้าง เช่นถ้าเป็น programmer ให้ลองทำเหมือนเป็น tester, manager ดูบ้าง ไม่ใช่เปลี่ยนงานแต่ลองทำอะไรที่แตกต่างดูบ้าง
  • เส้นทางระหว่างการเดินทางสวยงามกว่าเป้าหมายปลายทางเสมอ
  • ทำการสรุปสิ่งที่ผ่านมา ปัจจุบันและอนาคต พร้อมสรุปที่ต้องการศึกษาเพิ่มเติม
  • ให้ศึกษา trend และ ตลาดด้วยว่าเป็นอย่างไร อย่าเป็นกบในกะลา
  • Feedback จากเพื่อร่วมงานนั้นสำคัญมาก ๆ เป็นเหมือนกระจกบานใหญ่สะท้อนตัวเราเอง
  • อย่างเชื่อมั่นใจบางสิ่งบางอย่างมากจนเกินไป รวมทั้งอะไรที่ไม่ชอบก็ให้ลองนำมาใช้งานดูบ้าง
  • อย่างวางแผนแบบ Waterfall และอย่าทำอะไรที่ลูกค้าไม่ต้องการ
  • จงทำให้ดีกว่าเมื่อวาน หรือ ดีกว่าเดิมอยู่อย่างเสมอ
  • ออกไปทำอย่างอื่นบ้างเถอะ ให้ตัวเองเป็นอิสระบ้าง

ขอให้สนุกกับการพัฒนา software ครับ