Libro

สรุปคลิปของ Coding Jesus: หนังสือสำหรับ software engineer ที่อยากเข้าสาย quant trading

Coding Jesus แนะนำหนังสือห้าธีมสำหรับ software engineer ที่อยากเข้าสาย quant trading ไล่จากเครือข่าย ระบบปฏิบัติการ ฮาร์ดแวร์ ไปจนถึง concurrency และการเขียนโค้ดที่สะอาด

ภาพจากคลิป read these 5 books to break into quant trading as a software engineer ของช่อง Coding Jesus (getcracked.io)

ที่มาของบทความ: บทความนี้สรุปคลิป "read these 5 books to break into quant trading as a software engineer" ของช่อง Coding Jesus (getcracked.io) เผยแพร่เมื่อ 28 กรกฎาคม 2024 ความยาวราว 9 นาที เรียบเรียงจากคำบรรยายภาษาอังกฤษของคลิป คำบรรยายถอดด้วยเครื่อง ชื่อเฉพาะบางคำอาจคลาดเคลื่อน เนื้อหาต่อจากนี้เป็นความเห็นและประสบการณ์ของผู้พูด ซึ่ง Libro ยังไม่ได้ตรวจสอบ

ถ้าเห็นโค้ดที่มี if ซ้อนกันสี่ชั้น ผู้พูดบอกว่ารู้ได้ทันทีว่าคนเขียนยังอ่านเรื่อง design pattern และ core guidelines มาไม่พอ และเขาเจอแบบนี้แม้แต่กับ senior software engineer ที่เขียนฟังก์ชันยาว 120 บรรทัด

นี่คือเหตุผลที่ลิสต์สำหรับ software engineer ที่อยากเข้าสาย quant trading ของเขาไม่ได้จบที่เรื่องเครือข่ายหรือฮาร์ดแวร์ ผู้พูดย้ำตั้งแต่ต้นว่าหนังสือชุดนี้ทำให้เป็นโปรแกรมเมอร์ที่รอบด้านขึ้น ต่อให้ไม่ได้อยากเข้าวงการนี้ก็ตาม

สิ่งที่ผู้พูดเล่า

สามเล่มที่ไม่ผูกกับภาษา

เล่มแรกคือ TCP/IP Illustrated, Volume 1 หนาราว 800 หน้า ผู้พูดอ่านจบทั้งเล่ม เขาบอกว่าเรื่องอย่าง multicast, UDP, ARP, MTU, congestion control หรือ TCP keepalive อาจโผล่ในสัมภาษณ์ระดับ junior แต่จะถูกคาดหวังจริงจังในระดับ mid และ senior

เล่มที่สองคือ Operating Systems: Three Easy Pieces ผู้พูดบอกว่าบางบริษัท quant trading มีรอบสัมภาษณ์แยกเฉพาะ และอ่านแค่สองส่วนแรกก็ผ่านรอบนั้นได้สบาย หัวข้อที่เขาไล่ให้ฟังมีตั้งแต่ TLB, segmentation, thread กับ process ไปจนถึง scheduler แบบ multi-level feedback queue

เล่มที่สามคือ Inside the Machine ที่พาลงไปถึงฮาร์ดแวร์ ทั้ง front-end และ back-end ของ CPU, superscalar, pipelining, cache coherency และ cache line เล่มนี้เล่าตามวิวัฒนาการของ CPU ส่วนที่เฉพาะกับ CPU รุ่นใดรุ่นหนึ่งเขาให้ข้าม แต่แนวคิดอย่าง branch prediction, ALU และ instruction pointer ยังใช้ได้ไม่ว่ายุคไหน

สองธีมที่ผูกกับภาษา

ผู้พูดเลือก C++ แต่บอกว่าใครใช้ C#, Python หรือ Java ให้หาเล่มในภาษาของตัวเองที่ครอบคลุมธีมเดียวกัน ธีมแรกคือ concurrency หนังสือ OS อธิบายว่าเกิดอะไรขึ้นในระดับระบบปฏิบัติการ ส่วน C++ Concurrency in Action สอนวิธีทำสิ่งนั้นผ่านภาษา เขาบอกว่าหนังสือแบบนี้อาจต้องอ่านมากกว่าหนึ่งรอบ ไม่ใช่อ่านทั้งเล่มซ้ำสามครั้ง แต่อ่านจบหนึ่งรอบ ไปเจอแนวคิดในงานจริง แล้วกลับมาเปิดทบทวน เขาจดโน้ตและขีดเส้นใต้ในเล่ม และบอกว่าแม้หนาแต่มีแผนภาพช่วยเยอะ ไม่ต้องกังวล

ธีมสุดท้ายคือการเขียนโค้ดที่สะอาด ปลอดภัย และเร็ว

Code that people are going to want to read. Code that you're going to be proud of to submit.

เขาเสนอสองเล่ม อ่านเล่มใดเล่มหนึ่งก็ได้ ถ้าเขียน C++ อยู่แล้วอ่านทั้งคู่ ตัวเขาอ่านทั้งสองเล่ม และคิดว่าชื่อตัวเองน่าจะอยู่ในหน้า errata ของเล่มหนึ่ง เพราะอ่านละเอียดจนเจอจุดผิดแล้วส่งแก้ เขาปิดว่าความเข้าใจเรื่องนี้ทำให้เป็นผู้สมัครที่ดีขึ้น ไม่ว่าในสาย quant trading หรืออุตสาหกรรมไหน

หนังสือที่กล่าวถึงในคลิป

ไม่ผูกกับภาษา

  1. TCP/IP Illustrated, Volume 1 — W. Richard Stevens และ Kevin R. Fall ผู้พูดอ่านจบทั้งเล่ม

  2. Operating Systems: Three Easy Pieces — Remzi H. Arpaci-Dusseau และ Andrea C. Arpaci-Dusseau อ่านสองส่วนแรก

  3. Inside the Machine — Jon Stokes ฮาร์ดแวร์และ CPU

ผูกกับภาษา C++

  1. C++ Concurrency in Action — Anthony Williams

  2. Beautiful C++ — J. Guy Davidson และ Kate Gregory หนึ่งในสองเล่มของธีมโค้ดสะอาด

  3. C++ Software Design — Klaus Iglberger อีกเล่มของธีมเดียวกัน

Libro สังเกตว่า

  • ชื่อคลิปบอกห้าเล่ม แต่ผู้พูดแบ่งเป็นห้าธีม และธีมสุดท้ายมีสองเล่มให้เลือก รายการจึงมีหกเล่ม

  • ผู้พูดพูดว่ารอบสัมภาษณ์นั้นเป็น "computer architecture" แต่เล่มที่เขาแนะนำเป็นหนังสือระบบปฏิบัติการ อาจเป็นการพูดพลาดหรือถอดคำผิด บทความนี้จึงไม่ระบุชื่อรอบ

  • ผู้พูดไม่ได้บอกว่าเขาอยู่ใน errata ของเล่มไหนในสองเล่มสุดท้าย และไม่ได้เอ่ยชื่อผู้เขียนของหลายเล่ม ชื่อผู้เขียนในรายการมาจากรายชื่อต้นทาง

  • อ่านต่อได้ที่บทความแนะนำ Operating Systems: Three Easy Pieces บทความแนะนำ Inside the Machine และบทความแนะนำ C++ Concurrency in Action

ดูคลิปต้นทาง

read these 5 books to break into quant trading as a software engineer — ช่อง Coding Jesus (getcracked.io) ภาพหัวบทความเป็นเฟรมจากคลิปนี้ ตัดจากภาพหน้าจอ YouTube

  • ปกหนังสือ Operating Systems: Three Easy Pieces

    Operating Systems: Three Easy Pieces

    Remzi H. Arpaci-Dusseau & Andrea C. Arpaci-Dusseau

    ผู้พูดบอกว่าบางบริษัท quant trading มีรอบสัมภาษณ์แยกเฉพาะ และอ่านแค่สองส่วนแรกก็ผ่านรอบนั้นได้สบาย

    ดูรายละเอียด

  • ปกหนังสือ Inside the Machine

    Inside the Machine

    Jon Stokes

    เล่มด้านฮาร์ดแวร์ อธิบาย CPU, pipelining และ cache ตามวิวัฒนาการของ CPU ผู้พูดให้ข้ามส่วนที่เฉพาะกับ CPU รุ่นใดรุ่นหนึ่ง

    ดูรายละเอียด

  • ปกหนังสือ C++ Concurrency in Action

    C++ Concurrency in Action

    Anthony Williams

    เล่มด้าน concurrency ผ่านภาษา C++ ผู้พูดบอกว่าอาจต้องอ่านมากกว่าหนึ่งรอบ และกลับมาเปิดทบทวนเมื่อเจอแนวคิดในงานจริง

    ดูรายละเอียด

  • ปกหนังสือ C++ Software Design

    C++ Software Design

    Klaus Iglberger

    หนึ่งในสองเล่มของธีมสุดท้าย ว่าด้วยการเขียนโค้ด C++ ที่สะอาด ปลอดภัย และเร็ว ผู้พูดอ่านทั้งสองเล่ม

    ดูรายละเอียด

บทความนี้อ่านจบได้ในตัวเอง หนังสือด้านบนคือจุดต่อยอดสำหรับผู้ที่ต้องการศึกษาลึกขึ้น