👻 7 เรื่องหลอนของโปรแกรมเมอร์ ที่ไม่ควรเจอตอนตี 3

Emily InParis

calendar icon

10 August 2026

Back-end Developer

เรื่องราว TechUp

7 ghost stories article illustration

1. 👻 Ghost Request — API ที่ไม่มีใครเรียก

ตี 2:17 น.

Server มี request เข้ามา endpoint หนึ่ง

POST /api/payment

ปัญหาคือ…

ไม่มีใครเขียน frontend ให้เรียก endpoint นี้

Developer เปิด GitHub ดูทั้ง repository

grep -r "/api/payment" .

ไม่มี

ลองดู Network log — ไม่มี

ลองดู Database — มี payment ใหม่จริง

และที่น่ากลัวที่สุดคือ…

Request นี้เกิดขึ้นทุกคืนตอน 2:17

สุดท้ายพบว่าเป็น Cron Job ตัวเก่าที่ถูก deploy ไว้เมื่อหลายเดือนก่อน

แต่ไม่มีใครจำได้ว่ามันยังทำงานอยู่

👻 Lesson: ระบบที่เรา “คิดว่าไม่มีแล้ว” อาจยังมีชีวิตอยู่

ใน Production สิ่งที่น่ากลัวกว่า Bug คือ Undocumented Behavior


2. 🧟‍♂️ The Zombie Code — Code ที่ลบไปแล้วแต่ยังทำงาน

Developer ลบ function นี้ออก

function calculateDiscount() {
  // old logic
}

Deploy

ทุกอย่างดูปกติ

หนึ่งสัปดาห์ต่อมา…

ลูกค้าบางคนยังได้ Discount แบบเก่า

ทีมเปิด Code ดู

function หายไปแล้ว

ไม่มี reference

ไม่มี import

ไม่มี test

แล้วมันทำงานได้ยังไง?

สุดท้ายพบว่า Server ตัวหนึ่งไม่ได้ถูก deploy ใหม่

Server A → new code
Server B → old code
Server C → new code

Load Balancer ส่ง request ไป Server B เป็นบางครั้ง

ทำให้เกิด Bug แบบ…

“บางครั้งมันเป็น บางครั้งมันไม่เป็น”

นี่คือหนึ่งใน Bug ที่ developer กลัวที่สุด

เพราะมันทำให้เราเริ่มสงสัยตัวเองว่า

“เมื่อกี้เราเห็นอะไรนะ?”


3. 🩸 if (user) — เงื่อนไขที่ไม่มีใครกล้าแตะ

มี Code บางส่วนที่เขียนแบบนี้

if (user) {
  doSomething()
}

ง่ายมาก

ธรรมดามาก

จนวันหนึ่งมีคนถามว่า

“ถ้าเอา if นี้ออกได้ไหม?”

ทุกคนเงียบ

เพราะไม่มีใครรู้ว่าทำไมมันต้องมี

Developer คนใหม่ลองเอาออก

Deploy

Production ล่ม

😐

ใส่กลับ

Deploy

ทุกอย่างกลับมาปกติ

จึงเกิดกฎใหม่ในทีมว่า

“ห้ามแตะ if นี้”

ไม่มีใครรู้ว่ามันแก้ปัญหาอะไร

ไม่มี comment

ไม่มี issue

ไม่มี documentation

มีเพียงความทรงจำของ Senior Developer ที่ลาออกไปเมื่อ 3 ปีก่อน

นี่คือสิ่งที่เรียกว่า

Haunted Code

Code ที่ไม่มีใครเข้าใจ แต่ทุกคนกลัวที่จะลบ


4. 🕯️ console.log() ที่ช่วยชีวิต Production

เวลา Debug เรามักทำแบบนี้

console.log("HERE 1")
console.log("HERE 2")
console.log(user)

แล้วเจอว่า Bug อยู่ตรงไหน

จากนั้นก็ลบ console.log() ออก

Bug กลับมา

😐

ใส่กลับ

Bug หาย

ปรากฏว่า console.log() เปลี่ยน timing ของระบบ

โดยเฉพาะระบบที่มี

  • Race condition

  • Async operation

  • Concurrent requests

  • Event loop

มันอาจทำให้ execution timing เปลี่ยน

จน Bug หายไป

นี่คือ Heisenbug

Bug ที่เมื่อเรา “พยายามสังเกตมัน”

มันกลับเปลี่ยนพฤติกรรม

เหมือนผีที่รู้ว่าเรากำลังมองมันอยู่


5. 🪦 วันที่ Date กลายเป็นศัตรู

new Date("2026-08-10")

Developer คิดว่า

“ก็วันที่ 10 สิงหาคมสิ”

แต่ระบบอีกเครื่องกลับมองเป็นอีก timezone

แล้ว payment deadline ที่ควรเป็น

10 Aug 2026 00:00

กลายเป็น

09 Aug 2026 17:00

เพราะ Server อยู่คนละ timezone

จากนั้นก็เกิด Bug สุดคลาสสิก:

“ทำไมวันนี้ระบบบอกว่า Deadline ผ่านแล้ว?”

Developer เปิด Database

ทุกอย่างถูกต้อง

เปิด Frontend

ถูกต้อง

เปิด Backend

ถูกต้อง

แต่…

คนละ Timezone

👻

เรื่องนี้สอนเราว่า

วันที่และเวลาใน Software ไม่เคยเป็นเรื่องง่ายอย่างที่มันดูเหมือน


6. 🔥 Production Bug ที่เกิดเฉพาะวันศุกร์

มี Bug หนึ่งเกิดทุกวันศุกร์

แต่ไม่เกิดวันอื่น

ทีมลองทุกอย่าง

  • Database

  • API

  • Cache

  • Frontend

  • Backend

  • Network

ไม่มีอะไรผิด

จนค้นพบว่า Code มี logic แบบนี้:

if (day === 5) {
  // special behavior
}

ใครเขียน?

ไม่มีใครรู้

ทำไมต้องวันศุกร์?

ไม่มีใครรู้

สุดท้ายเจอ comment เก่า:

// TODO: remove after campaign

Campaign จบไปแล้ว 2 ปี

แต่ Code ยังอยู่

👻

Technical Debt ไม่ได้หายไปเอง

มันแค่รอวันที่จะกลับมาหลอกเรา


☠️ และผีที่น่ากลัวที่สุด…

ไม่ใช่ Bug

ไม่ใช่ Production

ไม่ใช่ Database

แต่คือประโยคนี้:

“อย่าแก้เลย เดี๋ยวของพัง”

เมื่อ Developer ในทีมเริ่มกลัว Code ของตัวเอง

แปลว่า Codebase นั้นอาจไม่ได้มีแค่ Technical Debt

แต่มันมี Technical Fear

เกิดขึ้นเมื่อเราไม่รู้ว่า Code ทำงานอย่างไร แต่ยังต้องรักษามันไว้

ดังนั้นครั้งต่อไปที่เจอ Code แบบนี้:

// DO NOT TOUCH
// I DON'T KNOW WHY THIS WORKS

อย่าเพิ่งลบ

แต่ก็อย่าปล่อยให้มันกลายเป็นผี

เขียน Test

เขียน Comment

หาคนที่รู้

Refactor เมื่อมีโอกาส

เพราะ Code ที่ไม่มีใครเข้าใจ…

วันนี้อาจเป็นแค่ Legacy Code

แต่พรุ่งนี้

มันอาจกลายเป็น ผีประจำ Production 👻

ต้องการพัฒนาทักษะด้าน Back-end Developer เพิ่มเติมไหม?

ลงทะเบียนเรียนกับ TechUp เพื่อพัฒนาทักษะและเรียนรู้จากผู้เชี่ยวชาญในอุตสาหกรรม สร้างโอกาสความก้าวหน้าในอาชีพของคุณ

ดูทั้งหมด
mbti-as-developer article preview image

16 บุคลิก 16 สไตล์การโค้ด: เมื่อ MBTI เจอกับอาชีพ Developer

Back-end Developer

Basics of Programming

Career tips

Full-stack Developer

Front-end Developer

รู้จักตัวเองก่อนเขียนโค้ดบรรทัดแรก — เมื่อ 16 บุคลิก MBTI สะท้อนผ่านสไตล์การเป็น developer ที่แตกต่างกันสุดขั้ว

Emily InParis

10 August 2026

techup logo

TechUp เป็นสถาบันออนไลน์ที่จัด Bootcamp และคอร์สต่างๆ สำหรับผู้ที่ต้องการเริ่มต้นหรือพัฒนาตนเองในสายงานด้านเทคโนโลยี ภารกิจของเราคือการขยายโอกาสการเข้าถึงอาชีพเหล่านี้ ให้เปิดกว้างและเท่าเทียมมากขึ้นในสังคมไทย และเร่งการพัฒนาวงการเทคโนโลยีของประเทศไปพร้อมกัน

© Copyright 2026 TechUp Training Company Limited

ข้อกำหนดและเงื่อนไข

นโยบายความเป็นส่วนตัว (ลูกค้า)

นโยบายความเป็นส่วนตัว (พนักงาน)

นโยบายการใช้งานคุกกี้