Trải qua ba dự án thì tôi cũng đã đi làm được một năm, một năm không phải là ngắn mà cũng không quá dài, những kiến thức tôi đã được học trong các dự án thì đang rất rời rạc, không có hệ thống gì cả, nhưng lúc này tôi chưa nhận ra được điều đó. Ở bài viết trước thì tôi đã nói tôi hay được giao cho những màn hình khó và quá khả năng. Tôi có nói sẽ kể cho các bạn nghe về những lần fail dự án, fail ở đây với tôi có nghĩa là dự án phát sinh nhiều bug, fix bug này ảnh hưởng bug kia, không kiểm soát được bug. Trong dự án này tôi đã trải qua rất nhiều khó khăn mà nhờ đó mà tôi đã trưởng thành lên được. Và câu chuyện của tôi là……

Sau khi kết thúc dự án chạy trên Ipad thì hiện tại team tôi các thành viên đang trống tay, có nghĩa là đang rảnh rỗi không có việc gì làm. Những team khác đang có dự án và đang thiếu người và thế là tôi và mọi người được điều đi sang team khác để đánh thuê. Đầu tiên tôi được đẩy sang một team đang làm ngôn ngữ VB, VB là visual basic, đây là một dự án đã được viết cách đây khá lâu và đang convert lên version mới hơn, tôi cũng không nhớ rõ đó là phiên bản nào, tôi chỉ qua đây được hai tuần thôi, trong hai tuần này tôi code không nhiều, chỉ làm làm mấy cái lặt vặt này nọ. Cũng không có gì để nói về dự án này vì tôi tham gia thời gian rất ngắn. Sau hai tuần thì tôi lại bị đẩy sang một team khác đang có dự án mới và đang rất cần người. Ở team này có một anh leader mới lên, kinh nghiệm làm leader chưa có nên quản lý team cũng như dự án có rất nhiều vấn đề, theo ý kiến cá nhân của tôi nhìn nhận là như vậy.

Và thế là tôi trở lại với dự án làm về java, sau một năm không đụng đến java, cũng có một số cái đã quên, kiến thức cũ đã quên còn kiến thức mới không học, đây là sai lầm của tôi. Công nghệ mới, version mới luôn luôn được update hàng ngày, còn tôi vẫn đang chìm đắm trong những cái gọi là cũ rích. Lúc nãy những kiến thức, kỹ thuật của tôi rất đang là rời rạc, có thể nói là chỉ code được cho chạy, còn việc am hiểu về một lĩnh vực, ngôn ngữ nào đó thì nó ở một level khác. Với level như tôi thì code cho chạy được cũng là tuyệt vời lắm rồi.

Dự án này là một khách hàng hoàn toàn mới, nhân tiện tôi sẽ nói về khách hàng của công ty, công ty sẽ có những khách hàng gọi là khách hàng thân thiết, khi có những dự án thì đều sẽ đưa về công ty tôi để outsource. Còn dự án tôi sắp tham gia thì đây là khách hàng đầu tiên mà công ty làm việc, ở khách hàng này có rất nhiều chuyện vui để mà kể, trong khi làm dự án thì tôi sẽ kể cho mọi người nghe. Anh leader nói với chúng tôi là dự án này yêu cầu senior ba năm trở lên để làm, tuy nhiên nhìn đi nhìn lại trong team thì số người được ba năm đếm trên đầu ngón tay, anh leader bảo các em cứ nghĩ mình là senior đi :)). Khi đi làm tôi thấy được sự lừa dối với khách hàng, lừa dối rằng team rất giỏi toàn senior cả.

Lan man như vậy là đủ rồi, quay trở lại với dự án, dự án này yêu cầu build một hệ thống học online, hệ thống này sẽ được bán cho các trường đại học để học sinh có thể đăng ký học. Hệ thống được chia ra làm ba hệ thống con, đầu tiên là trang web để học sinh có thể học và làm bài thi. Thứ hai là trang quản lý các user, tạo các khóa học, bài học và nội dung học. Thứ ba là trang giành cho giáo viên để họ sáng tạo nội dung giảng dạy bằng hình thức quay video. Chúng tôi phải làm từ khâu thiết kế chi tiết, code, test. Bên công ty họ chỉ đưa một thiết kế cơ bản, cơ bản đến mức mà đọc vào không hiểu làm gì, chỉ có cái layout và một vài thông tin nói chung chung, có thêm một sơ đồ ERD của database. Chúng tôi sẽ nhìn vào sơ đồ ERD kết hợp với thiết kế cơ bản của họ mà sẽ thiết kế ra các file thiết kế chi tiết hoàn chỉnh, lúc này đòi hỏi bạn phải suy nghĩ xem màn hình đó thì sẽ sử dụng table nào, những item nào, hiển thị lên màn hình những thông tin gì, vấn đề gì mà không hiểu thì sẽ đem đi hỏi khách hàng. Nếu các bạn đã học môn phân tích thiết kế hệ thống thì trong dự án này bạn sẽ được phát huy những cái đã học tại nhà trường. Giai đoạn đầu tiên sẽ là thiết kế chi tiết, sau khi thiết kế hoàn chỉnh cho tất cả các màn hình thì sẽ gửi cho khách hàng để họ xem lại, sau giai đoạn thiết kế chi tiết là đến giai đoạn coding. Hệ thống lần này khách hàng yêu cầu xây dựng bằng spring framework + thymeleaf. Và lúc này spring boot đang là công cụ để phát triển web nhanh chóng thay thế cho spring MVC trước kia, thymeleaf là để xây dựng giao diện, thay thế cho JSP trước khi. Spring boot và thymeleaf kết hợp ăn ý để tạo nên một trang web hoàn chỉnh. Hệ thống yêu cầu bảo mật nên sử dụng thêm spring security để phân quyền cũng như giới hạn quyền cho user để vào từng hệ thống con tương ứng. Ở dự án này giao diện màn hình được code bằng html, css, js thì phía khách hàng họ sẽ cung cấp, khi nào coding xử lý cho màn hình thì sẽ đem những cái đó apply vào màn hình của mình. Đây cũng là lần đầu tiên tôi làm về spring framework và thymeleaf, đầu tiên sẽ có một người kinh nghiệm dồi dào, dựng lên cấu trúc source code, code demo một màn hình, sau đó chúng tôi sẽ bắt chước mà code theo, dĩ nhiên là có nhiều cái mới lạ không có trong code mẫu thì tôi phải search, search xong thấy ráp vào chạy được thì cho qua, đơn giải lúc này suy nghĩ của tôi đó là code để chạy được và không quan tâm điều gì xảy ra sau đó :)).

Phần 1 của bài viết Come back – Trở lại với dự án Java thì mình xin dừng tại đây, mình sẽ viết tiếp phần 2 ở bài viết mới nhé.
Hãy like và share để mọi người cùng đọc và follow fanpage của mình nhé.
Cám ơn các bạn đã quan tâm theo dõi