Lời thú tội của một lập trình viên Cobol
Mùa hè năm ngoái, Michael Vũ, một nhà tư vấn độc lập về CNTT 40 tuổi, cảm thấy bị rơi vào một hoàn cảnh hoàn toàn bất ngờ thông qua nghề nghiệp của mình. Anh đã ký một hợp đồng làm việc 3 tuần để giúp một nhà bán lẻ lớn của Mỹ với một dự án làm báo cáo doanh nghiệp. Công việc ban đầu ...
Mùa hè năm ngoái, Michael Vũ, một nhà tư vấn độc lập về CNTT 40 tuổi, cảm thấy bị rơi vào một hoàn cảnh hoàn toàn bất ngờ thông qua nghề nghiệp của mình.
Anh đã ký một hợp đồng làm việc 3 tuần để giúp một nhà bán lẻ lớn của Mỹ với một dự án làm báo cáo doanh nghiệp. Công việc ban đầu đã rất thành công và dự án đó được mở rộng. Như một hệ quả, Vũ đột nhiên chìm sâu trong thế giới của ngôn ngữ lập trình Cobol.
Vâng, Cobol, con khủng long lập trình đã rất được ưa chuộng vào những năm 80 của thế kỷ trước. Cobol, khét tiếng với cú pháp quá phức tạp và code rất dài. Đó chính là Cobol.
Mặc dù anh chưa bao giờ làm việc với Cobol trước đây, Vũ đã thực sự muốn tìm hiểu một chút. Ở Mỹ người ta đang chứng kiến thế hệ baby boomer (thế hệ bùng nổ dân số những người được sinh ra ngay sau đại chiến thế giới lần thứ 2) đang đến tuổi về hưu với số lượng lớn, Vũ nhìn thấy một cơ hội. “Tôi nói với bản thân mình rằng, ngay cả khi chỉ có 0,1% số người thuộc thế hệ baby boomer là các lập trình viên Cobol, thì điều đó cũng sẽ mở ra một thị trường việc làm khổng lồ.”
Công việc của Vũ về dự án đó đã được tiến hành, anh nhận ra rằng hãng bán lẻ nọ có rất nhiều phần code viết bằng Cobol có tuổi đời đã hàng chục năm. Và giai đoạn tiếp theo của dự án này phụ thuộc vào phần code đó.
Vũ là người đã được đào tạo và có nhiều kinh nghiệm trong C và C++, nên anh nhảy vào học Cobol một cách nhanh chóng. Và anh cũng luyện thêm kỹ năng để nâng cao giá trị chiến lược của mình đối với tổ chức này. “Tôi đã đi từ vị trí chỉ là một coder bình thường không có hiểu biết về công việc kinh doanh của họ trở thành một người mà hãng này đang dựa vào để trích xuất thông tin kinh doanh từ code base của họ,” anh nói. Bây giờ anh dành ra 30% thời gian của mình để làm việc với Cobol, và anh hy vọng rằng luôn duy trì được mức độ như vậy hoặc thậm chí tăng thêm.
Đối với Vũ, làm việc với Cobol cảm giác một chút giống như mình đang phát hiện ra một nghệ thuật bị đánh mất. “Cú sốc đối với tôi đó là Cobol vẫn đang được sử dụng rất nhiều, ngay cả khi khách hàng của tôi đang sử dụng những công nghệ mới nhất trong doanh nghiệp như Java, C++ và Visual Basic”, Vũ nói.
Có điều gì đang xảy ra ở đây? Liệu có phải các báo cáo nói về cái chết của Cobol đã được người ta phóng đại lên rất nhiều.
Có khoảng 75% dữ liệu của các doanh nghiệp trên thế giới vẫn được xử lý trong Cobol, và khoảng 90% của tất cả các giao dịch tài chính trong Cobol, theo Arunn Ramadoss, người đứng đầu chương trình kết nối học tập tại Micro Focus International PLC, tổ chức cung cấp các phần mềm để giúp hiện đại hóa các ứng dụng Cobol.
Bởi vì một số lượng rất lớn ứng dụng và hạ tầng đã được cài đặt trước đây, nên sẽ là quá tốn kém để cố gắng thay thế tất cả phần code đó, ông nói. Thay vào đó, nhiều công ty đang tìm cách để tích hợp Cobol với các ứng dụng mới hơn.
Tuy nhiên, những lập trình viên Cobol nhiều kinh nghiệm, những người có thể làm công việc đó một cách tốt nhất thì đang chết dần hoặc ít nhất là đang ở tuổi về hưu. Trong một cuộc khảo sát của Micro Focus với những khách hàng của mình vào năm 2007, hơn 75% các CIO nói rằng họ sẽ cần nhiều lập trình viên COBOL trong vòng 5 năm tới, và 73% nói là đã có một khoảng thời gian khó khăn để tìm kiếm các chuyên gia được đào tạo về Cobol.
Thị trường lao động của người lớn tuổi
“Không còn nghi ngờ gì nữa, đó là một thách thức để tìm một lập trình viên Cobol, người mà chưa gần đến tuổi về hưu,” theo Dale Vecchio, phó chủ tịch nghiên cứu phát triển ứng dụng tại Gartner Inc. Trong năm 2004, lần gần đây nhất Gartner cố gắng thống kê số lượng lập trình viên Cobol, hãng tư vấn này ước tính có khoảng 2 triệu lập trình viên Cobol trên toàn thế giới và số lượng này cứ giảm 5% mỗi năm.
“Cobol sẽ đi xuống dốc nhanh chóng trong vòng 10 năm tới… khi mà thế hệ bùng nổ dân số (baby boomer) đến tuổi nghỉ hưu và không có đủ lượng dân số để bù vào,” Vecchio lưu ý.
Như kinh nghiệm của Vũ cho thấy, có thể điều này đồng nghĩa với cơ hội nghề nghiệp cho những chuyên gia IT sẵn sàng học hỏi và làm việc với Cobol. (Tuy nhiên, những cơ hội này sẽ tồn tại trong bao lâu, là một chủ đề gây nhiều tranh cãi.)
Chúng tôi đã tiến hành khảo sát các lập trình viên Cobol và các công ty đang làm việc trong lĩnh vực Cobol và xác định rằng thị trường này hiện nay hỗ trợ hai loại nghề nghiệp:
- Một vai trò mới nổi lên trong đó các lập trình viên như một cầu nối giữa code Cobol và các ứng dụng mới. Công việc đó đòi hỏi những người hiểu Cobol, các quy tắc kinh doanh và quy trình mà chương trình Cobol cũ dựa trên đó, và những ngôn ngữ hiện đại hơn như Java.
- Một con đường lập trình truyền thống, trong đó các nhân viên bảo trì và sửa chữa các phần code Cobol cũ và viết thêm những code mới, cũng vẫn trong Cobol.
Vai trò liên lạc của Cobol có thể là một con đường sự nghiệp thú vị, Ramadoss nói. “Cobol không chỉ dừng lại ở Cobol,” ông cho biết. “Bạn có thể tích hợp nó vào bất kỳ công nghệ hiện đại nào khác.”
Với sự xuất hiện của kiến trúc hướng dịch vụ, các công ty có thể dễ dàng sử dụng lại code Cobol của họ, theo Nate Murphy, chủ tịch của Nate Murphy International, một công ty dịch vụ chuyên nghiệp về CNTT.
Murphy hiện nay 66 tuổi, người đã có nhiều thập kỷ làm việc với các máy tính lớn (mainframe) và kinh nghiệm lập trình Cobol, nhận thấy một sự hồi sinh giá trị của Cobol vì sự xuất hiện của SOA và Language Environment của IBM, chúng cung cấp một môi trường runtime cho việc kết hợp nhiều ngôn ngữ lập trình khác nhau, bao gồm cả Cobol.
“Giờ đây bạn có thể mở rộng và thêm các chương trình con (subroutines) cho các tính năng dựa trên Web khác mà bạn cần,” ông nói. “Tất cả điều này thật bất ngờ khi bạn đã có một tài sản có giá trị trong các chương trình Cobol cũ, và bạn có thể mở rộng chúng và mở rộng khả năng của chúng mà không cần phải viết thêm code mới.”
Con đường sự nghiệp khác thường nhiều công việc lập trình truyền thống hơn – bảo trì và sửa chữa code cũ cũng như viết code Cobol mới. Trong khi một số công ty hiện đang chuyển loại công việc viết code Cobol này đến những nơi như Ấn Độ – đặc biệt là việc bảo trì các phần code cũ – rất nhiều tổ chức muốn giữ một số lượng lập trình viên nhất định tại Mỹ, đặc biệt là nếu công việc của họ là chìa khóa để giữ cho các hệ thống nghiệp vụ quan trọng có thể chạy ổn định.
Đó là vị trí mà Stacy Watts, một lập trình viên senior 28 tuổi tại tập đoàn Bảo hiểm Nationwide ở Des Moines, đang nắm giữ. Cô đã lập trình Cobol trong khoảng 7 năm, và năm ngoái công ty tạo cho cô một cơ hội để giám sát từ xa một đội lập trình viên ở Ấn Độ. Watts thiết kế chương trình và sau đó chuyển phần thiết kế đó đến các lập trình viên Ấn Độ để họ thực hiện nó cho cô.
Watts nói rằng cô không hề lo lắng rằng công việc của mình có thể bị chuyển sang thuê ngoài. Ngay cả với những lập trình viên giá rẻ ở bên kia bán cầu, “Chúng tôi vẫn không có đủ người để có thể hoàn thành tất cả mọi công việc,” Watts nói. Hơn nữa, cô xem cơ hội được công ty cho quản lý một nhóm lập trình viên Ấn Độ như là một bước tiến tới một vai trò quản lý cao hơn của mình sau này.
Mặc dù Watts được học một số ngôn ngữ lập trình ở trường, bao gồm cả Visual Basic, C và Java, cô tự nhiên bị hút về phía COBOL. “Công việc với máy tính lớn có vẻ dễ dàng hơn đối với tôi,” cô nói. “Nó rất có ý nghĩa đối với tôi.”
Các lập trình viên Cobol thường xuyên trích dẫn rằng sự đảm bảo về công việc như là một trong những điểm thu hút trong sự lựa chọn nghề nghiệp của mình. Brian Vance, một lập trình viên mainframe 30 tuổi tại hãng Bảo hiểm Grangeở Columbus, Ohio, bắt đầu làm việc tại công ty này cách đây 5 năm, với việc bảo trì và cập nhật code Cobol cũ. Hiện nay, anh ta đang phát triển phần code Cobol mới cho các chi nhánh cung cấp dịch vụ bảo hiểm ở nhiều tiểu bang khác nhau.
Là người trẻ nhất trong số 20 lập trình viên Cobol tại công ty này, Vance thấy trước một sự nghiệp ổn định và an toàn. “Tôi biết đó là trò chơi của một người già. Tôi thích vị trí được là người trẻ tuổi hơn trên thị trường,” anh nói. “Sẽ có nhiều người về hưu và không có ai để lấp vào các vị trí của họ cả. Vì vậy, tôi nghĩ rằng công việc của mình hiện nay thực sự ổn định và có giá.”
John Walczak, một lập trình viên Cobol 31 tuổi tại tập đoàn Sallie Mae Inc ở Indianapolis, cũng nói rằng anh ta hài lòng và an toàn trong công việc của mình. Sau khi anh tốt nghiệp trường Đại học Eastern Illinois, Walczak muốn làm việc trên các dự án liên quan đến web. Nhưng tập đoàn Sallie Mae đã thuê anh làm việc trên dự án Cobol, cùng với lời hứa rằng anh sẽ có thể chuyển chuyển sang làm bất cứ công việc nào khác tại công ty nếu anh muốn.
Sau một vài năm, anh đã thực sự có cơ hội để chuyển sang một nhóm phát triển Web. Nhưng sau khi tiếp xúc công việc mới thì Walczak đã thực sự ngạc nhiên, vì anh không thích nó. “Tôi nghĩ mình đã chuẩn bị để xây dựng các trang Web và làm đồ họa. Nhưng những thứ đó đều đã được dựng sẵn,” anh nói. Thay vào đó, anh đã được giao công việc phần back-end “nghĩa là viết rất nhiều code bằng Visual Basic và một số code .NET.” Bởi vậy anh đã quyết định quay trở lại để lập trình COBOL.
Bây giờ công ty đang cố gắng để thuyết phục Walczak chuyển sang một vai trò cao hơn. Sau khi làm việc tại Sallie Mae hơn 8 năm, Walczak hiểu rõ các hệ thống hoạt động như thế nào. “Vì vậy, họ muốn tôi sử dụng kiến thức đó để giúp phát triển và thiết kế các dự án mới,” anh nói.
Vấn đề đó là, Walczak không chắc là mình muốn chuyển sang công việc mới. “Tôi yêu lập trình. Tôi thích viết code,” anh nói. “Khi nào hai tay tôi cũng gắn chặt với bàn phím để lập trình, nhưng họ đang cố gắng để nâng tôi lên chức vụ quản lý cao hơn. Tôi chẳng muốn điều đó.”
Cobol: sẽ ra đi, nhưng vào khi nào?
Hầu hết các nhà quan sát đều đồng ý rằng một kiến thức về Cobol có thể giúp sự nghiệp của bạn trong ngắn hạn. Nhưng liệu COBOL có tồn tại đủ dài đến lúc bạn đến tuổi nghỉ hưu?
Các công ty tham gia vào thị trường Cobol thích trỏ đến các số liệu thống kê – chẳng hạn như 75% dữ liệu kinh doanh của thế giới vẫn đang trong Cobol – để chứng minh rằng Cobol, và những công việc liên quan đến Cobol, sẽ vẫn còn rất nhiều trong những năm tới.
Dale Vecchio, một nhà phân tích của hãng tư vấn Gartner, lại không chắc chắn về điều đó.
“Tôi đang nhìn thấy sự quan tâm ngày càng tăng trong các tổ chức về việc chuyển khỏi phụ thuộc vào máy tính lớn IBM và Cobol,” Vecchio nói. “Chúng ta phải chấp nhận rằng họ có thể bỏ dùng các máy tính lớn và chuyển sang Windows hoặc Unix hoặc Linux. Tôi mong rằng điều này vẫn sẽ tiếp tục diễn ra trong 5-7 năm tới.”
Ngoài ra, các công ty lớn đang ngày càng thay thế các ứng dụng có thể tùy biến trên mainframe như quản lý nguồn nhân lực, quản lý chuỗi cung ứng – thường được viết bằng Cobol – thành các phần mềm đóng gói từ các công ty như Oracle, ông lưu ý.
Việc làm cho Cobol còn rất nhiều
Tuy nhiên, lập trình Cobol vẫn là một kỹ năng hữu ích cho các chuyên gia IT cần có. “Thế giới không cần đến 100.000 lập trình viên Cobol mới, nhưng cũng cần hàng ngàn lập trình viên Cobol mới”, Drake Coker, giám đốc công nghệ về Cobol tại Micro Focus International nói.
“Có rất nhiều công việc ngoài kia cho những người biết làm thế nào để viết ra một hệ thống với công nghệ mới mà tích hợp được vào một hệ thống hiện có,” ông nói thêm.
Làm thế nào để đưa Cobol vào tập kỹ năng của bạn là một vấn đề khác. Ngày càng ít các trường cao đẳng và đại học Hoa Kỳ đào tạo về Cobol. Trong vài năm qua, cả IBM và Micro Focus đã đưa ra sáng kiến để khuyến khích các trường đại học đào tạo lập trình viên mainframe nhiều hơn. Thông qua các chương trình này, các công ty cung cấp cho các trường học những công nghệ và chương trình học miễn phí.
Mặc dù những nỗ lực này có thể giúp gữ lại một số khóa học về Cobol, nhưng Vecchio không nghĩ rằng chúng sẽ làm được gì nhiều để ngăn chặn sự suy giảm mạnh của Cobol. Các nỗ lực này, theo như ông nói, “là quá ít, và quá muộn màng.”
Techtalk via Techmaster