TỔNG KẾT CUỐI NĂM 2019 - những game nổ hũ uy tín
Hôm nay là mùng tám âm lịch rồi, cách đây một tháng trước Tết, tôi đã có ý định viết bài tổng kết cuối năm. Nhưng khi bắt đầu viết thì thấy nó mang hơi hướng cảm xúc quá nhiều nên quyết định viết lại nhẹ nhàng hơn. Gần đây tôi cũng chưa thấy ai chia sẻ một bài viết hoàn chỉnh về khía cạnh kỹ thuật, vì vậy tôi sẽ cố gắng viết lại bài tổng kết của mình trong năm này và cố gắng hạn chế những cảm xúc mạnh mẽ.
CHUYỂN VIỆC
Đầu năm, tôi chuyển sang công ty mới, đồng nghĩa với việc thay đổi môi trường làm việc. Công ty mới khác hẳn so với nơi cũ, cả về hướng đi lẫn trọng tâm công việc. Có lẽ do sự khác biệt trong ưu tiên nên ban đầu tôi không quen lắm, đặc biệt là áp lực công việc khá lớn. Tuy nhiên, nói chung mối quan hệ giữa các đồng nghiệp vẫn rất tốt. Tôi tiếp tục làm việc trong lĩnh vực Java, và xin cảm ơn công ty cũ đã cho tôi cơ hội chuyển sang Java. Theo tôi thấy, thị trường ở Hàng Châu chủ yếu nghiêng về Java, nhưng lúc đầu tôi vẫn cảm thấy chưa thực sự quen thuộc với ngôn ngữ này. Trong Java còn rất nhiều điều đáng để tìm hiểu sâu hơn, đặc biệt là đối với phỏng vấn tuyển dụng. Sau khi trải nghiệm thêm, tôi nhận ra rằng phần lớn các cuộc phỏng vấn ngoài các công ty hàng đầu như Alibaba đều tuân theo một số quy tắc và cấu trúc nhất định. Tuy nhiên, chi tiết cụ thể thì tùy từng người mà khác nhau. Phỏng vấn đôi khi cũng dựa vào "duyên phận". Nếu điểm quan tâm của người phỏng vấn trùng hợp với ứng viên thì dễ dàng vượt qua hơn, ngược lại sẽ gặp nhiều câu hỏi khó trả lời. Tôi sẽ dành thời gian sau này để nói riêng về chủ đề này.
Ngay sau khi vào công ty mới, tôi đã được giao phụ trách một dự án quan trọng với tiến độ gấp rút. Áp lực trong giai đoạn đó thực sự rất lớn, nhưng may mắn là kết quả cuối cùng đạt được khá tốt. Qua dự án này, tôi nhận ra rằng có những phần kiến thức mà tôi chưa nắm vững tại công ty cũ, ví dụ như Maven. Đối với lập trình viên Java, Maven thật sự rất quan trọng nhưng hầu hết các buổi phỏng vấn tôi tham gia đều không đề cập đến nó. Ví dụ như phân tích dependence hay giải quyết xung đột, hoặc thậm chí là hiểu rõ bản chất của bean. Đây luôn là điểm thắc mắc của tôi từ khi học Spring. Ban đầu tôi không trực tiếp bóng đá hiểu rõ bean và IOC là gì, có lẽ vì cách tiếp cận trên mạng hoặc sách vở không phù hợp với tư duy của tôi. Mãi sau này tôi mới nhận ra rằng để hiểu bean cần nắm hai khái niệm cơ bản: lập trình hướng đối tượng và container đối tượng cùng với nguyên lý đảo ngược phụ thuộc (Dependency Injection). Tôi sẽ dành thời gian sau này để viết chuyên đề về vấn đề này. Nhìn chung, tôi tự đánh giá mình đã có bước tiến đáng kể về mặt kỹ thuật, chủ yếu là theo hướng thực tế.
Sau khi hoàn thành dự án quan trọng này, tôi bắt đầu thở phào nhẹ nhõm hơn. Mặc dù vẫn có một số dự án khẩn cấp và khối lượng công việc lớn, nhưng nhờ sự hỗ trợ từ trưởng nhóm (TL), chúng tôi đã có thể phối hợp tài nguyên hiệu quả hơn.
PHỎNG VẤN
Vì công ty thiếu nhân lực phát triển nên tôi cũng có dịp tham gia vào quá trình phỏng vấn tuyển dụng. Tôi nhận thấy rằng các ứng viên khá đa dạng. Một số người đã có kinh nghiệm làm việc lâu năm nhưng lại không trả lời tốt các câu hỏi cơ bản, trong khi đó có những sinh viên đang học nhưng lại chuẩn bị rất kỹ lưỡng cho các câu hỏi phổ biến trong phỏng vấn. Tuy nhiên, tôi nghĩ rằng chỉ dựa vào các câu hỏi phỏng vấn thông thường thì chưa đủ để đánh giá toàn diện một người. Điều quan trọng là họ phải là người biết giải quyết vấn đề thực tế chứ không chỉ giỏi nhớ bài. Dù sao thì việc chuẩn bị kỹ lưỡng cho phỏng vấn vẫn là yếu tố quan trọng, thể hiện sự tôn trọng trong quá trình chọn lọc hai chiều. Ấn tượng sâu sắc nhất của tôi là khi tham gia phỏng vấn tuyển dụng tại một trường đại học ở Hàng Châu. Nhiều bạn sinh viên năm cuối cao học 2020 đã tham gia, và đa số đều có nền tảng kiến thức rất vững chắc. So sánh với bản thân mình ngày xưa thì tôi thực sự cảm thấy xấu hổ. Cường độ phỏng vấn hôm đó rất cao, kéo dài từ chiều tới khoảng 6-7 giờ tối. Tôi xin gửi lời chúc tới tất cả các bạn ứng viên, mong rằng mọi người sẽ tìm được công việc ưng ý. Đúng là hành trình này không hề dễ dàng.
HƯỚNG KỸ THUẬT
Trong suốt phần lớn năm, tôi luôn cảm thấy lo lắng và không thể quay lại trạng thái chủ động dành thời gian học tập như trước. Có lẽ do thay đổi công ty là nguyên nhân chính, và việc thích nghi với môi trường mới cũng là điều bình thường. Tuy nhiên, từ tháng mười trở đi, tôi dần cải thiện và bắt đầu học hỏi thêm về:
- Spring: Spring quả thực là một hệ thống khổng lồ, nhưng cần phải nắm bắt được cốt lõi trước khi mở rộng hiểu biết về các chi tiết khác. Hiểu rõ vòng đời của bean là rất quan trọng, nhưng không phải học thuộc lòng mà cần hiểu rõ chức năng và ứng dụng thực tiễn trong công việc.
- MySQL: Tôi tập trung vào MVCC, tuy chưa nghiên cứu kỹ mã nguồn nhưng đã nắm được khái quát. Hy vọng sẽ có thời gian viết bài chuyên đề về phần này.
- Java source code: Ví dụ như AQS, tôi đã đọc mã nguồn kết hợp với các bài viết liên quan. Ban đầu tôi không thể tập trung đọc mã nguồn, nhưng sau khi bị lãnh đạo thúc giục thì tôi đã hoàn thành việc đọc, bao gồm cả ConditionObject.
- Redis source code: Bao gồm cả mã nguồn của Redis Distributed Lock và cấu trúc dữ liệu của Redis. Tôi đã viết bài về phần này nhưng vì vội vàng nên chất lượng chưa tốt, hy vọng sẽ cải thiện sau này.
- JVM source code: Tôi muốn tìm hiểu về bộ thu gom rác G1, đã đọc xong cuốn sách của Zhou Zhiming nhưng chưa nắm vững hoàn toàn. Đặc biệt là phần mã nguồn của G1 collector, đây cũng là kế hoạch chính cho năm mới.
- MQ: Tìm hiểu về zero copy và sendfile, mặc dù không trực tiếp liên quan đến chủ đề hàng đợi tin nhắn.
Nhìn chung, tôi đã học được một số thứ, những game nổ hũ uy tín hy vọng năm mới sẽ tiếp tục cố gắng.
CUỘC SỐNG
Chỗ ở của tôi không thay đổi, bởi vì khu vực xung quanh rất thuận tiện, tạm thời chưa tìm được chỗ nào tốt hơn nên không có ý định chuyển. Tuy nhiên, vấn đề lớn nhất là không có thang máy, ban đầu tôi không nghĩ là phiền phức nhưng sau khi sống thực tế thì cảm thấy khá mệt mỏi. Mong the thao 24h ngoai hang anh rằng lần thuê nhà sau sẽ có thang máy hoặc ít nhất là tầng thấp hơn. Ngoài ra, tôi còn phải xử lý vấn đề nghẹt đường ống thoát nước. Lần đầu tiên tôi gọi thợ đến sửa, mất hai trăm tệ nhưng chỉ giữ được một tháng. Sau đó tôi tự học cách thông và duy trì được khoảng nửa năm, cảm giác rất thành tựu 😊.
Về chạy bộ, đầu năm tôi thường chạy ở Zijingang, nhưng sau đó vì công việc bận rộn nên không còn đi nữa. Thay vào đó, máy chạy bộ ở công ty giúp tôi duy trì thói quen vận động duy nhất này. Sau khi gặp vấn đề về dạ dày và cần kiểm soát cân nặng, tôi quyết định duy trì chạy bộ vào cuối tuần tại nhà. Trong nửa cuối năm, tôi duy trì được ít nhất một lần/tuần. Mặc dù so với những người chạy marathon thì tôi còn kém xa, nhưng tôi đã tự phá vỡ giới hạn của bản thân bằng cách chạy 12 km, quãng đường xa nhất của mình. Giờ đây, chạy 10 km không còn khiến tôi cảm thấy quá mệt mỏi. Năm nay tôi đã đạt mục tiêu 300 km và giảm cân nhẹ, kết quả khá hài lòng.
KỲ VỌNG
Hy vọng trong công việc tôi sẽ tiến bộ về mặt kỹ thuật, có thêm nhiều thời gian dành cho gia đình, tiếp tục chạy bộ để giảm cân và giữ cho gia đình khỏe mạnh. Amen!