2 điểm bởi GN⁺ 2023-12-15 | 1 bình luận | Chia sẻ qua WhatsApp

Phỏng vấn mẹ tôi, một lập trình viên COBOL trên mainframe

  • Mẹ tôi đã làm việc tại một trong những ngân hàng lớn nhất trong EU từ trước cả khi tôi sinh ra.
  • Thế giới lập trình ngân hàng hoàn toàn khác với những gì đa số mọi người quen thuộc.
  • Nếu mẹ tôi và nhóm của bà ngừng làm việc, ngân hàng sẽ sụp đổ chỉ trong vài tuần.

Năm 1991

  • Mẹ tôi bắt đầu chương trình đào tạo nội bộ tại Nordbanken (nay là Nordea).
  • Bà trải qua nhiều bài kiểm tra khác nhau và vượt qua kiểm tra IQ, đánh giá tâm lý và kiểm tra đa nhiệm.
  • Bà bắt đầu với vai trò lập trình viên COBOL trên mainframe IBM và 25 năm sau vẫn làm đúng công việc đó tại cùng ngân hàng.

COBOL

  • COBOL không phải là một ngôn ngữ lập trình hào nhoáng như Haskell thuần hàm hay Golang về đồng thời.
  • COBOL là một ngôn ngữ mệnh lệnh, thủ tục, và từ năm 2002 đã có tính hướng đối tượng.
  • Trong bối cảnh lập trình mainframe, hầu như không có ai biết COBOL.

Cơ sở dữ liệu

  • Cơ sở dữ liệu chính được gọi là IMS, một cơ sở dữ liệu phân cấp do IBM tạo ra cho chương trình Apollo.
  • Họ đang cố gắng di chuyển sang DB2, nhưng đây là công việc sẽ mất nhiều năm.
  • Cơ sở dữ liệu DB2 hiện đang lưu trữ khoảng 10TB dữ liệu.

Batch

  • Khoảng 80% hệ thống được cấu thành từ các tác vụ batch.
  • Các tác vụ batch chạy vào những thời điểm hoặc khoảng thời gian nhất định, xử lý dữ liệu hoặc truyền dữ liệu sang các ngân hàng/tổ chức khác.

Những vấn đề ngân hàng đang đối mặt

  • Các ngân hàng sử dụng mainframe có rất nhiều vấn đề phải xử lý.
  • Các lập trình viên đang ngày càng lớn tuổi, và nhân viên mới mất 2-3 năm mới có thể làm việc độc lập.
  • Có những chương trình đã tồn tại hàng chục năm mà không ai biết chúng thực sự làm gì.

Lời cuối

  • Rất thú vị khi nghĩ xem Nordea và các ngân hàng khác sẽ áp dụng công nghệ mới nào trong vài năm tới.

Hỏi & Đáp

  • Tại sao lại chọn lập trình COBOL trên mainframe IBM? Vì bà muốn làm việc với máy tính.
  • Điều tệ nhất trong một ngày làm việc là gì? Một đồng nghiệp quên dấu chấm trong mô-đun hệ thống quan trọng khiến ngân hàng bị sập suốt 16 giờ.
  • Tương lai của ngân hàng sẽ ra sao? Họ nhận ra rằng cần thay thế mainframe bằng thứ gì đó hiện đại hơn.
  • Là một nữ lập trình viên trong thập niên 90, bà gặp những thách thức gì? Không có vấn đề gì.
  • Làm việc với cùng một codebase suốt hơn 20 năm có trở nên nhàm chán không? Việc xây dựng các hệ thống mới luôn thú vị.
  • Viết code cho ngân hàng có đáng sợ không? Rất đáng sợ, nhưng môi trường kiểm thử rất vững chắc nên phần lớn đều diễn ra suôn sẻ.
  • Bà đã từng mắc sai lầm lớn nào với hệ thống ngân hàng chưa? Năm 1997, bà đã mắc lỗi khiến người ta có thể rút tiền trái phép từ tài khoản tiết kiệm hưu trí.
  • Môi trường làm việc như thế nào? Họ đã chuyển từ bàn làm việc cá nhân sang không gian mở, và bà rất ghét điều đó.

Ý kiến của GN⁺

  • Mainframe và ngôn ngữ COBOL vẫn giữ vai trò quan trọng trong ngành tài chính, và chuyên môn về công nghệ này rất có giá trị.
  • Độ phức tạp của hệ thống ngân hàng và sự phụ thuộc vào công nghệ cũ khiến việc chuyển đổi sang hệ thống mới trở nên khó khăn, và đây là một thách thức lớn.
  • Bài phỏng vấn này cho thấy rằng so với tốc độ phát triển nhanh của công nghệ, một số ngành vẫn đang sử dụng công nghệ cũ, tạo nên một sự tương phản thú vị.

1 bình luận

 
GN⁺ 2023-12-15
Ý kiến trên Hacker News
  • Thế giới lập trình ngân hàng rất khác với những gì phần lớn lập trình viên quen thuộc.

    • Nếu muốn tìm hiểu thêm về lập trình trong ngân hàng, nên đọc "An oral history of Bank Python".
    • Trái với quan niệm phổ biến rằng các lập trình viên mainframe trẻ sẽ nhận lương cao, thực tế mức lương có thể chỉ ở mức trung bình hoặc thấp hơn.
    • So với việc biết COBOL, kiến thức nội bộ của tổ chức về logic nghiệp vụ được viết bằng COBOL còn có giá trị hơn.
  • Chia sẻ kinh nghiệm tích hợp với các hệ thống ngân hàng lõi khi làm tư vấn tích hợp hệ thống trong lĩnh vực dịch vụ tài chính.

    • Tái sử dụng các điểm tích hợp hiện có hiệu quả hơn so với việc đàm phán một giao diện mới.
    • Việc tích hợp thường được chuyển giao trước buổi tối để xử lý theo lô các tài liệu có cấu trúc.
    • Khi trích xuất dữ liệu, rất khó tìm được API 'hiện đại', và cần phải thương lượng với bộ phận pháp lý và tuân thủ.
    • Những người phụ trách tuân thủ đôi khi có thể thực tế và định hướng giải pháp hơn cả bộ phận IT.
  • Chia sẻ câu chuyện gia đình mang tính cá nhân về lịch sử lập trình.

    • Bà đã lập trình bằng thẻ đục lỗ, cha thì dùng FORTRAN và COBOL trên mainframe của Liên Xô.
    • Bản thân thì lập trình bằng nhiều ngôn ngữ khác nhau, và hiện con cái cũng đang học Java và Python ở trung học.
  • Các lập trình viên COBOL đóng vai trò quan trọng trong việc duy trì hoạt động của các ngân hàng; nếu họ đồng loạt nghỉ việc đột ngột, điều đó có thể gây tác động lớn đến ngân hàng và nền kinh tế.

    • Với ngân hàng Nordea của Thụy Điển, một kịch bản như vậy có thể ảnh hưởng đến kinh tế Thụy Điển và Bắc Âu.
  • Chia sẻ kinh nghiệm làm việc tại bộ phận IT của một công ty bảo hiểm.

    • Vai trò quan trọng của công việc này không nằm ở lập trình mà ở chỗ là nguồn tri thức về miền nghiệp vụ.
    • Trước đây mọi thứ đều được lưu dưới dạng tài liệu vật lý, và đã có các dự án để sắp xếp lại chúng.
  • Chia sẻ ý kiến cá nhân về môi trường làm việc.

    • Đã chuyển từ bàn làm việc riêng sang không gian mở kiểu "chọn chỗ nào còn trống thì ngồi", và không hài lòng về điều đó.
  • Chia sẻ câu chuyện về người bà từng tính toán quỹ đạo vệ tinh ở Liên Xô.

    • Thật thú vị khi biết bà đã tham gia vào việc tính toán quỹ đạo vệ tinh.
  • Chia sẻ trải nghiệm về vai trò quan trọng của các nữ lập trình viên trong việc duy trì COBOL.

    • Trước đây có nhiều nữ lập trình viên, nhưng trong nhóm lập trình viên trẻ thì nam giới ngày càng chiếm đa số.
  • COBOL không phải là một ngôn ngữ "ngầu", nhưng mainframe đã đủ cũ để trở thành kiểu "retro cool", và phần lớn có thể chạy Linux như một tùy chọn.

    • Có hứng thú với FORTRAN, và đang tự hỏi liệu mình có thể dành sự quan tâm tương tự cho COBOL hay không.