NHỮNG DÒNG CODE GIẾT NGƯỜI – ĐẠO ĐỨC VÀ CÁI TÂM CỦA DEVELOPER

Thuở đi học, chúng ta từng được học môn “Đạo đức nghề nghiệp“. Môn này cũng khá là nhàm chán, mình chỉ nhớ mang máng nội dung là lập trình viên không được lừa đảo, gây hại cho khách hàng v…v gì gì đó.

0
55
pile of 100 dollar notes on table on fire

Thuở đi học, chúng ta từng được học môn “Đạo đức nghề nghiệp“. Môn này cũng khá là nhàm chán, mình chỉ nhớ mang máng nội dung là lập trình viên không được lừa đảo, gây hại cho khách hàng v…v gì gì đó.

Xét cho cùng, đạo đức vô cùng quan trọng với những ngành liên quan trực tiếp tới mạng sống con người như ngành y, nên lúc nào ta cũng nghe than phiền về y đức. Đạo đức trong ngành lập trình liệu có quan trọng vậy không?

Câu hỏi sẽ được trả lời ở cuối bài viết nhé!

Những dòng code giết người

Lập trình viên hầu hết là những thanh niên hiền lành chăm chỉ, ngồi máy 8 tiếng mỗi ngày (hoặc hơn). “Giết người” là một khái niệm vô cùng xa lạ với lập trình viên.

Họ không thể, nhưng những dòng code do họ viết ra thì có thể. Ta có thể điểm qua một vài cái chết do code và lỗi lầm của coder:

  • Sự kiện cỗ máy Therac-25 năm 1982 chính là câu chuyện nổi tiếng nhất về việc code giết người. Therac-25 là một cỗ máy xạ trị cho bệnh nhân ung thư. Do sai lần trong việc code và kiểm thử, máy chiếu phóng xạ quá liều, làm chết 3 người, bị thương 6 người.
  • Năm 1994 ở Scotland, lỗi phần mềm dẫn đến một vụ tai nạn máy bay, giết chết 29 người.
  • Tháng 6 năm 2010, con worm máy tính Stuxnet được các chuyên viên Semactec tìm thấy. Con worm “vô hại” này được có khả năng thăm nhập và phá hoại các lò phản ứng hạt nhân. Stuxnex lây lan khá rộng ở Iran, chưa rõ có lò phản ứng nào bị nổ hay thiệt hại vì nó chưa.
stux

Mặt mũi và cơ chế con worn Stuxnet

Và làm bốc hơi hàng tỉ đô la

Không chỉ gây thiệt hại về người, đôi khi code và bug cũng gây ra những thiệt hại khổng lồ về tiền bạc:

  • Năm 1966, do lỗi của phần mềm nên tên lửa European Ariane 5 đã… chệch khỏi đường bay sau 37 giây cất cánh. Hậu quả là nó… “tự bạo” ngay trên không, gây thiệt hại 370 triệu đô.
  • Tháng 1/1982, thời chiến tranh lạnh, CIA cố ý tuồn một số công nghệ có lỗi ngầm cho liên xô, trong số đó bao gồm một phần mềm đi kèm bug. Bug này về sau đã làm… nổ tang hoang đường ống dẫn gas của Siberia, gây ra “vụ nổ không hạt nhân lớn nhất từ trước đến nay”.
  • Năm 1998, một module trong vệ tinh sao hoả bị lỗi, khiến nó “úp mặt vào sao Hỏa” ngay khi tới nơi. gây thiệt hại 327 triệu đô và 1 năm chờ đợi.
  • Nội trong 2002, bug khiến Mĩ thiệt hại 60 tỉ đô (Ở đây là đô la chứ không phải VND nhé)
  • Một chuyện khác mình nghe từ thời còn làm Fsoft. Một đối tác của Fsoft khi tích hợp các module cho hệ thống chứng khoán thì bị lỗi, không hiển thị được giá cổ phiếu trong vòng 1,2 tiếng gì đó. Thiệt hại cũng nhẹ, chỉ vào cỡ… vài trăm nghìn tới vài triệu đô la.
pile of 100 dollar notes on table on fire

Một con bug nho nhỏ có thế làm “bốc hơi” một số tiền to to

bn0337-970x250

Rất nhiều khóa học IT đang được ưu đãi. Click xem ngay!

Trách nhiệm của developer?

Trong các sự việc kể trên, lỗi bắt nguồn từ nhiều phía, nhưng developer vẫn là một trong những người chịu trách nhiệm nhiều nhất.

Trong một bài thuyết trình gần đây, bác Robert Martin đã nói: Lập trình viên chúng ta là người thống trị thế giới. Máy móc không thể hoạt động nếu không có người lập trình. Công ty không thể hoạt động nếu không có phần mềm. Bàn tay gõ code, cũng chính là bàn tay vẽ nên thế giới.

Mình nghĩ đa phần bạn đọc của blog đều còn đi học, hoặc đã đi làm nhưng phần nhiều ở mảng Web. Ở mảng này, một số lỗi lầm nho nhỏ có thể chẳng gây hại cho ai. Tuy nhiên, nếu chúng ta lập trình nhúng, hoặc viết code cho phần mềm/thiết bị y tế, hoặc cơ sở hạ tầng, một lỗi lầm nho nhỏ thôi cũng có thể để lại hậu quả vô cùng to lớn.

Nhân vô thập toàn, lập trình viên không phải lúc này cũng hoàn toàn đúng. Nhiều lúc gặp bug, lập trình viên chúng ta thường đùa rằng: Đó không phải là bug, đó là tính năng. Thế những, hãy nghĩ đến lúc thứ mình viết ra được khách hàng sử dụng.

bug

Bé không phải bug, bé là tính năng mà

Đôi khi, một con bug nhỏ nhỏ có thể ảnh hưởng đến mạng người, hoặc vài chục triệu đô la. Liệu bạn có thể thoải mái cười nếu nghe tin có người thiệt mạng do ứng dụng mình làm ra, có công ty mất hợp đồng triệu đô chỉ vì vài “sơ sót” nho nhỏ trong code của mình?

Đừng coi thường bản thân mình, cũng đừng nên coi thường nghề nghiệp của mình! Hãy code có tâm, có đạo đức. Đừng để một ngày nào đó, bạn lại gác tay lên trán hối hận vì những dòng code mình đã viết nhé.

regret11

Link tham khảo về các sự kiện trong bài viết:

bn0337-970x250

Rất nhiều khóa học IT đang được ưu đãi. Click xem ngay!

Nguồn: Toidicodedao

Facebook Comments