11 Joy of Programming - Niềm vui lập trình

(Post 03/11/2006) Cuộc thi viết “Aptechite & Software Project” dành riêng cho các Aptechite đã kết thúc Lần này mục Người Aptech xin giới thiệu đến các bạn bài đoạt giải cao nhất trong cuộc thi – bài của bạn Ngô Vũ Thắng đến từ FPT-Aptech.

Những ngày cuối tháng chín, mùa mưa đã thấm sâu vào đất Sài Thành. Dường như mọi người dân đã quen với việc đi lại tất bật dưới tiết trời chợt nắng chợt mưa này. Vào giữa trưa ngày thứ bảy 23/09/06, cơn mưa bất chợt cũng không nán chân một cậu sinh viên như tôi rong ruổi trên chiếc xe máy đến Nhà Văn Hóa Sinh Viên thành phố. Bởi lẽ hôm đó là một ngày thứ bảy đặc biệt, ngày tôi tốt nghiệp khóa học lập trình viên quốc tế Aptech. Trên đường đi lên hội trường buổi lễ, tôi nở những nụ cười tươi với những gương mặt quen thuộc mà suốt gần hai năm chúng tôi đã cùng học, cùng trải nghiệm và cùng nhau ứng dụng kiến thức, công nghệ để làm các project ứng dụng vào thực tế cuộc sống. Lúc ấy, tôi chợt nghĩ mình đã may mắn lắm khi tham gia làm 04 project với 03 nhóm bạn khác nhau. Vì sau mỗi project, chúng tôi lại càng thân thiết và hiểu rõ nhau hơn. Vẫn còn đấy những người bạn cùng tôi làm e-project và project cuối khóa, nhưng chỉ còn 1 người bạn đã cùng tham gia với tôi trong nhóm 5 người ở project đầu tiên khi chúng tôi vào học tại FPT-Aptech. Đó là dự án phần mềm đầu tay của tôi khi làm việc chung với một nhóm và đóng vai trò của 1 team-leader. Một tháng sống cùng project ấy dường như hiện lại trong tâm trí tôi như ngày hôm qua.

Sau khi hoàn thành 04 môn học đầu tiên của học kì I, cô Thúy – một giảng viên tận tâm và nhiệt tình – đã hướng dẫn chúng tôi qui trình của 01 dự án phần mềm và tiến hành chia nhóm. Mỗi nhóm từ 04 đến 05 người sẽ ngồi lại bàn với nhau sẽ thực hiện đề tài nào. Nhóm chúng tôi đến từ nhiều nơi khác nhau: Hoàng Vinh, Xuân Tuyến, Văn Hòa, Công Dân và tôi. Về phần chọn lựa dự án, nhóm chúng tôi đưa ra 03 lựa chọn: xây dựng 1 trang web bán điện thoại di động, xây dựng chương trình quản lý bán hàng cơ khí hoặc xây dựng trang web bán CD và sách. Chúng tôi đã bàn thảo và thống nhất chọn trang web thương mại điện tử bán CD và sách và cùng thống nhất đặt tên nhóm là JoP (Joy of Programming – Niềm vui lập trình) và tên project là EbookCDOnline.

Nhưng sau khi chọn đề tài rồi, chúng tôi gặp phải những qui trình lạ lẫm như phân tích, thiết kế và lập tài liệu kĩ thuật (documentation). Đặc biệt là việc viết cuốn documentation đã tốn thời gian rất nhiều trước khi bắt tay hiện thực những đoạn code. Nhưng sau khi được cô Thúy tận tình giải thích sự cần thiết của cuốn documentation, chúng tôi đã hăng say xây dựng cuốn tài liệu kĩ thuật chi tiết, rõ ràng và đẹp đẽ, nhằm hỗ trợ cho việc hiện thực của chúng tôi về sau và cũng để cho dự án của chúng tôi sau này được mở rộng, nâng cấp. Lúc ấy, công việc của chúng tôi trôi chảy lắm. Không khí trong nhóm rất hòa đồng, vui vẻ và mọi người cùng muốn đóng góp sức mình vào dự án. Đã có nhiều cuộc nói chuyện ngoài lề trong nhóm và những lúc ấy tôi thường cố xóa làn ranh vô hình phân biệt 1 team-leader với những thành viên còn lại. Mặt khác, tôi cố gắng đảm nhận tốt công việc của team-leader là tổng hợp các ý kiến của các bạn thành 01 hướng đi chung, tổng hợp các công đoạn nhỏ lại thành sản phẩm cuối cùng và kết hợp những kinh nghiệm lập trình trước đây của mình với những hướng dẫn của thầy cô, tạo thành những “pattern” để chúng tôi có thể dễ dàng lập trình và kiểm soát code.

Sau giai đoạn nộp tài liệu thiết kế, chúng tôi còn 2 tuần để hiện thực và testing trước khi nộp và báo cáo đề tài. Đây là giai đoạn khó khăn của nhóm chúng tôi do 01 thành viên không thể theo sát project, và chúng tôi còn phải nghiên cứu, tìm hiểu cách hiện thực một giỏ hàng hoặc tính toán tồn kho… Các nhóm còn lại trong lớp phần lớn đều gặp tình trạng tương tự. Nhưng với sự hướng dẫn của Cô Thúy và sự kết hợp của các trưởng nhóm, chúng tôi đã phần nào nắm được ý tưởng và cách thức hiện thực.

Tuần lễ cuối cùng là giai đoạn khó khăn nhất và cũng là kỉ niệm đáng nhớ nhất của nhóm JoP chúng tôi. Tại thời điểm này, tôi đã phạm một sai lầm mà sau này tôi mới nhận ra. Đó là việc thúc đẩy nhóm thực hiện càng nhiều chức năng càng tốt, như một cách thể hiện khả năng của nhóm so với những đề tài của nhóm khác. Việc cố gắng thực hiện nhiều chức năng đã tạo một sức ép và vô hình đẩy chúng tôi vào một vòng luẩn quẩn. Chúng tôi đã thức cùng nhau nhiều đêm tại ngôi nhà yên tĩnh của tôi, mà các bạn thường gọi là “căn cứ chính”. Sự nỗ lực đã được đền đáp xứng đáng, và nhóm cũng đã hiện thực xong các chức năng mà chúng tôi đề ra ngay trước 01 ngày so với hạn chót nộp đề tài. Nhưng ngay sau niềm vui đó, chúng tôi không còn nhiều thời gian cho công đoạn testing và chỉnh sửa phần mềm trong nhiều tình huống khác nhau. Ngay lúc tôi kí tên nộp sản phẩm, là lúc tôi vừa có cảm giác tự hào, vừa có cảm giác nao nao như là chưa hoàn thành xong cái gì đó. Lúc đó tôi nghĩ giá mà thêm được 01 hay 02 ngày testing thì chắc chắn sản phẩm sẽ hoàn chỉnh. Sau này, nếu tiếp tục dự án khác, tôi tự nhủ sẽ không ôm đồm nhiều chức năng, mà sẽ phân tích ra một project’s scope (phạm vi dự án) rõ ràng, để mình và các bạn trong nhóm không phải “hao tâm tổn lực” giai đoạn cuối và mang tâm trạng lo lo khi nộp sản phẩm.

Ngày báo cáo, chúng tôi vừa háo hức, vừa hồi hộp khi từng nhóm lên báo cáo. Nhóm JoP của chúng tôi đã được hội đồng đánh giá cao về giao diện và chức năng. Tuy vẫn còn tồn tại nhiều lỗi validation nhỏ, nhưng những nụ cười trừ và gãi đầu của chúng tôi dường như nhận được sự thông cảm của các giáo viên hội đồng. Project EbookCDOnline của chúng tôi được chấm điểm khá cao và là niềm tự hào của tất cả 05 người trong nhóm chúng tôi. Riêng tôi, tôi cũng giữ cho riêng mình 01 niềm tự hào nho nhỏ, đó là niềm tự hào của 01 team-leader dẫn dắt 01 dự án thành công.

Ngô Vũ Thắng

FPT Aptech trực thuộc Tổ chức Giáo dục FPT có hơn 25 năm kinh nghiệm đào tạo lập trình viên quốc tế tại Việt Nam, và luôn là sự lựa chọn ưu tiên của các sinh viên và nhà tuyển dụng.
0981578920
icons8-exercise-96