ตอนมาทำงานเป็น Developer ใหม่ๆ ก็สงสัยว่าทำไมไม่ใช้เทคโนโลยีใหม่ๆกับตัว Service หลักของบริษัท หรือทำไมไม่รื้อเขียนใหม่ไปเลย
พอทำงานไปได้ดูแล Service ที่มีคนใช้งานตลอดก็ได้เข้าใจว่า
Service นั้นมีคนใช้งานตลอดเวลา การที่คุณจะปรับเปลี่ยนอะไรมันมีกระทบกับผู้ใช้งาน ซึ่งคนใช้งานเขาไม่แคร์หรอกครับว่าคุณจะใช้เทคโนโลยีอะไร ขอแค่งานที่เขาทำทุกวันมันทำงานได้แค่นั้นเขาก็พอใจแล้ว
การจะแก้ปัญหานี้ก็อาจทำได้ถ้าคุณพร้อมที่จะ Run 2 Service พร้อมกันคือ Service เก่า กับ Service ใหม่ ลูกค้าคงไม่บ่น คำถามต่อไปคือใครจะเป็นคนดูแล Source code ทั้ง 2 Service ทีมเดิมเหรอ ทีมเดิมเขาคงชี้หน้าด่าแหละว่างานฉันก็เยอะพอทนแล้ว คุณจะมาเพิ่มงานให้ฉันอีก ต้องแก้ทั้ง bug เก่า เขียนของใหม่ให้เท่าของเก่ารับรองว่าบ้าตายกันไปข้าง จริงๆมีอีกหลายปัญหาเลยที่จะตามมา ไม่ว่าจะ Report ก็ออกผลสรุป การใช้ Data อ้างอิงกันระหว่างระบบเก่าและระบบใหม่
โอเคถ้าคุณมีคนเยอะพอ การจะทำ Service ใหม่ขึ้นมาได้นั้นมันต้องมีเท่าของเดิมหรือดีกว่าของเดิม คำถามคือ มีคนเคยจด Business Logic ทั้งหมดไว้ไหม ส่วนใหญ่จะบอกว่าไม่ ทั้งหมดคือการไปไล่อ่าน Code ทั้งหมด ยิ่ง Service อยู่มานานเท่าไหร่ Business Logic ก็มากเท่านั้น
ดังนั้นการที่ Service เก่าจะย้ายไปใช้เทคโนโลยีใหม่นั้นเป็นเรื่องที่ต้องใช้ทรัพยากรเยอะมาก ก็ไม่ต้องแปลกใจหากบางที่ยังยอมพัฒนา Application ในเทคโนโลยีเดิมๆ ไม่ยอมเปลี่ยนไปใช้เทคโนโลยีใหม่ ภาษาใหม่