Sau khi hoàn thành tất cả các môn học, học đủ số lượng tín chỉ quy định và không nợ môn nào thì tôi đã chắc chắn là mình sẽ ra được trường.
Trong khi chờ đợi đến lúc nhận bằng tốt nghiệp thì tôi đã đi nộp CV vào hai công ty.

Đó là vào giữa tháng 9/2014, tôi đã tự mình làm CV và bắt đầu tìm kiếm công việc cho mình trên itviec, hai công ty đã lọt vào mắt xanh của tôi (Nói nghe chảnh vãi :)) ). Tôi đã nộp vào hai công ty này tôi gọi tắt là công ty A và B. Tôi không nói tên chính xác ra, vì những bài viết sau này có thể tôi sẽ nói xấu công ty vì vậy để không làm ảnh hưởng đến danh tiếng thì tôi xin được giấu tên nhé.

Sau khi gửi CV vào công ty A thì một tuần sau họ gọi để hẹn ngày đi phỏng vấn, tôi liền lên google search “10 vạn câu hỏi phỏng vấn Java” và ôn tập kiến thức cho bản thân. Sau khi cảm thấy kiến thức đã đủ thì tôi đã đến trụ sở của công ty A, vừa bước vào thì thấy khoảng mười người khác cũng đang chờ và tôi cũng ngồi chờ bên ngoài.

Tới giờ hẹn thì có một chị “xinh đệp” đi ra và mời mọi người vào một cái phòng để làm bài test trên máy tính, tôi lựa chọn một máy và ngồi vào đó, bài test trắc nghiệm thì được làm trên một phần mềm của công ty, khi nhấn vào nút Start để bắt đầu làm thì tôi giật bắn mình, từ trên xuống dưới toàn kiến thức về C, C++. Ôi chúa ơi, 4 năm học tôi toàn học Java, giờ cho làm C, C++ thì sao tôi biết làm thế nào đây, rõ ràng trong CV tôi ghi skill là Java mà. Thôi thì đến nước này thì nhắm mắt làm bừa, tôi chọn lụi từ trên xuống dưới và đi về trong một tâm trạng buồn bã và xác định là fail rồi. Vài ngày sau thì nhận được mail thông báo là rớt vòng test, vậy là không có duyên với công ty A.

Ngay sau đó thì công ty B cũng đã gọi đi phỏng vấn, sau khi fail ở công ty A thì tôi cũng thấy hơi nản rồi, cũng không ôn thêm kiến thức gì nữa. Tới ngày hẹn tôi lên và chờ ngoài sảnh, cũng có tầm mười mấy người cũng chờ như tôi, trong đó có một thằng bạn chung lớp của tôi. Tới giờ thì cũng lại có một chị “xinh đệp”, xin lỗi tôi đã nhầm chị không xinh đẹp :)) bước ra gọi chúng tôi vào phòng để làm bài test. Có ba bài test làm trắc nghiệm trên giấy, thứ nhất là test về thuật toán này nọ, đại loại như là cho một chương trình chạy, rồi cho ra kết quả là gì, bài test thứ 2 là test về IQ, bài thứ 3 là test về SQL. May mắn là bài đầu tiên đúng sở trường của tôi là đó là Java, tôi đã đọc và làm hết các câu trong bài, tôi tự tin về phần này. Ở bài test IQ thì tôi làm được 3/4, bài test SQL thì cho hai table có các column và data, câu hỏi thì họ sẽ viết các câu SQL và mình phải chọn đáp án cho những câu SQL đó. Phần này thì tôi cũng làm được kha khá. Hết giờ mọi người nộp bài và về nhà chờ kết quả.

Sau ba đến bốn ngày thì tôi nhận được điện thoại của cái chị gì đó thông báo rằng tôi đã đậu được vòng một và thằng bạn của tôi cũng đậu luôn và hẹn ngày đi phỏng vấn vòng hai. Phỏng vấn chỉ có hai vòng thôi, vòng hai đến đó chủ yếu hỏi về mức lương mong muốn, môi trường làm việc. Được một anh chắc là manager hỏi về mức lương thì tôi nói mức lương mong muốn ra và về nhà và chờ đợi. Sau vài ngày thì cũng có kết quả, tôi và thằng bạn cả hai đều pass. Khoảng đầu tháng mười thì chúng tôi bắt đầu thử việc. Mức lương thử việc thì đa số là 85% của lương chính thức và tôi cũng như vậy, quá trình thử việc thì diễn ra trong vòng hai tháng.

Và tôi đã chính bước vào con đường lập trình, trở thành lập trình viên chuyên nghiệp. Tới ngày đi làm tôi và thằng bạn được cùng một người hướng dẫn, được nhận máy tính và chỗ ngồi. Ngồi vào máy một lát sau thì có một anh leader gọi hai đứa lại nói sơ sơ về quá trình thử việc, đưa cho tài liệu về coding rule, coding convention, cách comment source code về ngồi đọc. Tôi sẽ không nói chi tiết về mấy cái tài liệu vừa nói, khi viết bài về những dự án thật thì tôi sẽ nói sâu hơn. Sau hơn một buổi sáng chỉ ngồi đọc tài liệu thì cũng đã đến giờ ăn trưa, tôi và bạn đi ăn cơm sau khi ăn xong thì vào nghỉ trưa, ở đây công ty họ nghỉ trưa từ 12h đến 1h15. Đầu giờ chiều thì tôi được phòng kế toán gọi để đi ký hợp đồng thử việc, đọc sơ sơ qua thì thấy mức lương cũng giống như tôi đề nghị và hưởng 85% khi thử việc.

Sau khi ký hợp đồng thì tôi lại về chỗ ngồi, anh leader lại gọi lại để phổ biến về project thử việc, chúng tôi được giao cho làm một cái project nhỏ, quản lý thông tin của khách hàng, chức năng chủ yếu là thêm, xóa sửa, hiển thị danh sách, phân trang. Nhưng có một điểm là yêu cầu sử dụng framework Struts để xây dựng web quản lý thông tin khách hàng, database lưu trữ thì sử dụng SQL server. Như phần hai tôi đã có nói là sử dụng ZK framework để làm đồ án chứ chưa biết gì về Struts cả, anh leader gửi cho tôi cái file excel, gọi là file thiết kế màn hình cho project, trong file này bao gồm layout của màn hình gồm các item hiển thị trên màn hình, mô tả về các column và kiểu dữ liệu trong database, mô tả các chức năng của từng nút nhấn trên màn hình.

Tài liệu đã có, eclipse đã có, SQL server đã cài, chỉ có Struts là tôi không biết gì về nó, dĩ nhiên là sẽ không có ai hướng dẫn cho tôi cả, người nào cũng có công việc của họ, không ai rảnh rỗi mà đi chỉ cho tôi chính xác phải làm như thế nào, chỉ quăng cho 2,3 cái link về Struts rồi lên đó mà đọc. Tôi thì đã làm qua ZK framework nên khi tìm hiểu Struts tôi thấy nó cũng tương tự về cách giao tiếp giữa client và server nên quá trình tìm hiểu khá là nhanh, ngồi tìm hiểu đến chiều thì tôi đã dựng được một cái source hello word chạy bằng Struts và thế là hết ngày thử việc đầu tiên của tôi.

Ngày thử việc thứ hai thì tôi bắt đầu làm project, lúc đó nhờ quá trình làm đồ án ở trường nên tôi cũng đã biết phương hướng để làm. Đầu tiên tôi lướt qua các sheet của file excel thì thấy có ba màn hình chính là màn hình trang chủ hiển thị danh sách thông tin khách hàng (tôi gọi là màn hình list), màn hình thứ hai là thêm (cập nhật) thông tin khách hàng, chức năng thêm và cập nhật được viết chung một màn hình. Màn hình thứ ba là hiển thị thông tin chi tiết của khách hàng đó. Tôi tiến hành lên layout cho màn hình list trước tiên vì màn hình này là nơi có nút nhấn để di chuyển sang hai màn hình còn lại. Sau khi lên được layout thì bước tiếp theo tôi tiến hành tạo database và kết nối database. Dựa vào thông tin mô tả trong file tôi đã tạo được database tương ứng, sau đó tiến hành lấy tất cả data hiển thị lên table trên màn hình, tại màn hình này có yêu cầu làm cả phân trang. Tôi lên google search được một cái lib được viết bằng java, hỗ trợ phân trang cho dữ liệu, tôi liền down load về và làm chức năng phân trang. À quên nói là project không cho dùng jquery hay framwork của javascript nhé. Sau khi hoàn thành màn hình đầu tiên thì tiến hành làm màn hình thêm, cập nhật, chi tiết. Project hoàn thành đúng một tuần sau khi comment đầy đủ source code, test các kiểu. Trong công ty yêu cầu khi làm dự án phải comment đầy đủ nhé, lý do bắt comment thì sau này mình sẽ nói.

Khi project hoàn thành thì mình thông báo với anh leader và anh leader sẽ review lại, vài tiếng sau được gọi lại và được hỏi về cái vụ phân trang. Cách phân trang của tôi đang làm là lấy toàn bộ danh sách khách hàng lên một lần và tiến hành phân trang trên toàn bộ số khách hàng đó, đây là suy nghĩ sai lầm của tôi vì nếu trường hợp là dữ liệu khách hàng ít thì không vấn đề gì nhưng đối với cơ sở dữ liệu mà hàng triệu, trăm triệu thì lấy lên một lần như vậy thì rất là nặng, dữ liệu càng nhiều thì hậu quả càng cao, vì vậy anh leader nói làm lại phần đó, cách tốt nhất là sẽ lấy từng phần dữ liệu lên. Tôi tiến hành nghiên cứu cách làm. Đầu tiên tôi truy vấn 20 dòng dưới csdl, khi nhấn trang tiếp theo tối tiếp tục truy vấn 20 dòng tiếp theo và cứ làm như vậy cho đến khi hết danh sách. Sau khi làm xong, tôi báo lại tiếp tục báo lại, anh leader review cho một số bug nhỏ để fix, sau đó tôi được đánh giá khá tốt về việc tìm hiểu framework mới và kỹ thuật cũng gọi là làm được.

Sau hai tuần thử việc anh manager và leader gọi những đứa thử việc vào phòng họp và đánh giá, tôi được gọi vào trước và được khen về kỹ thuật và được nhận vào làm nhân viên chính thức chỉ sau hai tuần (thử việc bình thường là hai tháng). Tôi rất mừng vì điều đó, một thằng sắp tốt nghiệp được một công ty nhận vào làm đó là một điều may mắn, sau khi được nhận thông báo tôi ra khỏi vòng họp và tới thằng bạn đi vào. Anh leader ra nói với tôi là hôm nay về sớm đi, dẫn bạn đi nhậu, tôi không hiểu anh ấy đang nói gì, từ phòng họp thằng bạn đi ra, thấy vẻ mặt nó có vẻ buồn, tôi liền chợt nhận ra đằng sau câu nói vừa rồi là gì. Tôi liền lấy tờ kết quả đánh giá của nó coi, một tin buồn là nó bị chấm dứt thử việc, nó được nhận xét là còn yếu trong kỹ thuật, cách tìm hiểu framework. Nhìn thấy nó buồn mà trong lòng tôi cũng không được vui.

Và thế là kết thúc thời gian thử việc và phần này tôi cũng xin được dừng tại đây. Phần tiếp theo tôi sẽ kể cho các bạn về dự án đầu tiên tôi tham gia. Hy vọng sẽ đem đến cho các bạn nhiều thông tin bổ ích cho sau này.

Các bạn nhớ like fanpage để theo dõi những bài viết mới nhất nhé.

Đón đọc => [Tâm sự lập trình – Phần 4] : Dự án đầu tiên – Ngôn ngữ Delphi