Cảm nhận sau một tháng đào tạo onboarding
Không biết từ lúc nào tôi đã đi làm hơn một tháng. Trước khi đi làm, tôi chưa từng thực tập hay làm việc tại công ty nào, nên nhiều điều vẫn khá mới mẻ đối với tôi, một người vừa bắt đầu đi làm. Sự chuyển đổi từ trường học sang nơi làm việc cũng kéo theo sự thay đổi về vai trò, và khác biệt ở mỗi người là khác nhau. Với tôi, khi còn đi học, những điều giáo viên dạy trên lớp, tôi sẽ chọn lọc tiếp thu theo sở thích; thậm chí nếu không muốn học nhiều môn, tôi còn có thể trốn học. Đi làm thì khác. Những kỹ năng công ty yêu cầu bạn phải biết thì bạn buộc phải học, trừ khi bạn không muốn làm nữa. Khi còn đi học, mục đích lập trình của phần lớn mọi người là để vượt qua kỳ thi hoặc tìm được một công việc tốt, rất ít người thực sự dựa vào sở thích để duy trì việc lập trình. Sau khi đi làm, chúng ta lập trình nhiều hơn vì yêu cầu công việc; so với thời đi học, công việc thường có tính thử thách và áp lực lớn hơn. Khi còn đi học, điều quan trọng nhất là chịu trách nhiệm với bản thân, không ngừng học kiến thức để trang bị cho mình. Nhưng sau khi vào công ty, chúng ta không chỉ phải chịu trách nhiệm với bản thân mà còn phải chịu trách nhiệm với công ty. Dù sao công ty trả tiền thuê bạn, không phải để bạn cứ on beach mãi.
Khi mới vào công ty, theo yêu cầu của công ty, tôi chuyển sang dùng máy Mac. Vì trước đó luôn dùng hệ điều hành Windows nên tôi rất không quen. Lúc mới dùng Mac, tôi vụng về thấy rõ, bản thân cảm nhận rất rõ hiệu suất lập trình đã giảm ít nhất 30%. Khi đó tôi khá bực bội, trong lòng luôn phàn nàn tại sao không dùng thẳng Windows hoặc Linux. Nhưng cũng khá kỳ lạ, khoảng một tuần sau, tôi bắt đầu dần thích nghi với việc lập trình bằng Mac, thậm chí còn rất yêu thích nó. Ở đây tôi không muốn so sánh trải nghiệm lập trình trên Mac và Windows, cái nào tốt hơn thì tôi nghĩ vẫn tùy người. Tuy nhiên, cấu hình Mac cùng tầm giá thực sự bị Windows bỏ xa vài bậc. Dù vậy, trải nghiệm lập trình và sử dụng Mac thực sự khá tốt. Tất nhiên, bạn cũng có thể chọn Linux để phát triển hằng ngày, chắc chắn cũng rất ổn. Ngoài ra, Mac không chơi được một số game online phổ biến, nên là lựa chọn không tồi cho những bạn không thể kiềm chế bản thân trước ham muốn chơi game.
Phải nói rằng cơ chế đào tạo của ThoughtWorks khá tốt. Sau khi sinh viên mới tốt nghiệp vào làm, thông thường họ sẽ được sắp xếp đào tạo. Khác với những năm trước, năm nay chương trình đào tạo có thêm lớp địa phương Trung Quốc (TWU-C). Là học viên khóa đầu tiên của lớp địa phương, nói thật lòng thì trải nghiệm khá tốt. Chương trình đào tạo kéo dài 8 tuần. Ngoài những kỹ thuật cơ bản cần dùng cho công việc như ES6, SpringBoot..., còn có một số nội dung đào tạo kỹ năng cơ bản cho nhân viên mới, chẳng hạn như cách họp hiệu quả, cách đưa Feedback đúng cho người khác, cách refactor code, cách thực hiện TDD... Trong thời gian đào tạo, thỉnh thoảng có các hoạt động như Weekend Trip, City Tour, Cake time... Ba tuần cuối còn có một project mô phỏng thực tế. Project này về cơ bản khá giống project thực tế trong công việc chính thức của chúng tôi, cá nhân tôi cảm thấy rất tốt. Hiện project này đã hoàn thành chính thức một iteration. Tôi thấy trong quá trình làm project, điều thu hoạch được nhiều nhất không phải là các kỹ thuật sử dụng trong project, mà là cách hợp tác trong team, cách sử dụng Git đúng để phát triển cộng tác trong team, một iteration hoàn chỉnh trông như thế nào, những vấn đề có thể gặp trong quá trình làm project, quy trình vận hành hoàn chỉnh của một project, v.v.
ThoughtWorks rất khuyến khích chia sẻ và giúp đỡ người khác trưởng thành. Trong thời gian làm việc tại công ty, tôi cảm nhận điều này rất sâu sắc. Trong thời gian đào tạo, mỗi người chúng tôi có một Trainer phụ trách. Trainer là đồng nghiệp hằng ngày hướng dẫn chúng tôi học và làm project, mỗi Trainer thường phụ trách 5 - 6 người. Trainer thỉnh thoảng sẽ đưa Feedback về biểu hiện gần đây của chúng tôi. Cá nhân tôi thấy việc này không phải chỉ làm cho có; các Trainer đều rất có trách nhiệm, nhiều khi còn tìm chúng tôi trò chuyện sau giờ làm. Đồng nghiệp cũng rất nhiệt tình. Nếu bạn gặp vấn đề và hỏi người khác, nếu họ biết thì thường sẽ nói cho bạn không giữ lại điều gì. Nếu gặp vấn đề mà phần lớn mọi người đều không biết, thậm chí họ còn tổ chức một Session kỹ thuật để chia sẻ. Thứ sáu tuần trước, tôi đã chia sẻ trong nhóm về việc gọi từ xa bằng Feign, vì mọi người trong team chưa thật sự quen thuộc với phần kiến thức này, nhưng các project sau đó có khả năng cao sẽ dùng đến. Đúng lúc tôi vừa nghiên cứu phần nội dung này, nên đã chia sẻ với các đồng nghiệp khác trong nhóm để project được tiến hành tốt hơn.
Ngoài ra, ThoughtWorks cũng là một công ty rất đề cao văn hóa Feedback. Feedback là cho mọi người biết cách nhìn của chúng ta về biểu hiện của họ và họ nên làm thế nào để làm tốt hơn. Ban đầu tôi không quá để tâm, nhưng dần dần tôi thực sự cảm nhận được rằng việc đưa Feedback đúng cách có thể giúp ích rất nhiều cho người khác. Khi làm nhiều việc, con người thường khó nhận ra những vấn đề nhỏ mà người khác lại dễ dàng nhìn thấy. Chẳng hạn có một hiện tượng khá thú vị: giả sử khi làm project không có vai trò tester, bạn đã hoàn thành module của mình và tự test module đó rất nhiều lần, thấy rằng không còn vấn đề gì. Nhưng khi đưa vào sử dụng thực tế, rất có khả năng sẽ xuất hiện những vấn đề mà trước đó bạn chưa từng chú ý. Có thể giải thích điều này như sau: tầm nhìn của mỗi người ít nhiều đều có điểm mù, điều này liên quan chặt chẽ đến trọng tâm chú ý của chúng ta. Với những thứ do mình làm, dù tự test nhiều lần ở nhiều chỗ, bạn vẫn không phát hiện ra; nhưng nếu để người khác giúp test, rất có thể họ sẽ phát hiện nhiều vấn đề rõ ràng.

Sau khi đi làm, thời gian thường ngày dành cho việc cập nhật tài khoản công khai, chuyên mục và duy trì Github cũng ít đi. Thực ra, nhiều khi sau giờ làm tôi vẫn có thời gian riêng để làm việc của mình, nhưng tôi luôn lấy lý do công việc quá mệt hoặc thời gian quá rời rạc để trì hoãn. Hôm nay, khi xem lại Github, tôi đột nhiên phát hiện PR người khác gửi cho tôi trên Github từ 14 ngày trước vẫn chưa được xử lý. Đây thực sự là điểm tôi làm chưa tốt, vì chưa sắp xếp thời gian hợp lý. Thực ra tôi có rất nhiều điều muốn viết, sau này sẽ từ từ đưa chúng vào lịch. Sau khi đi làm, tôi càng nhận ra vài giờ sau giờ làm được dùng như thế nào thực sự rất quan trọng. Nếu bạn cảm thấy mình chưa hoàn thành tốt công việc cần làm trong ngày, sau giờ làm bạn có thể tiếp tục xử lý phần việc còn dang dở. Nếu công việc ban ngày vẫn nằm trong khả năng của bạn, sau khi về nhà bạn hoàn toàn có thể làm những việc mình hứng thú hoặc học kỹ thuật mình quan tâm. Làm bất cứ việc gì cũng phải dựa trên nền tảng của bản thân, không nên đặt mục tiêu quá xa thực tế.
Sau khi đi làm, xung quanh cũng sẽ có rất nhiều người giỏi. Tôi nghĩ mỗi người đi làm đều nên học hỏi nhiều hơn từ người khác. Trong số các đồng nghiệp cùng khóa đào tạo với chúng tôi, có người rất giỏi về kỹ thuật; cũng có người tuy kỹ thuật không quá nổi bật nhưng năng lực tổ chức và hợp tác team lại đặc biệt tốt. Có một đồng nghiệp rất giỏi. Khi chúng tôi còn đang học các cú pháp khác nhau của SpringBoot, anh ấy đã tranh thủ thời gian ngoài giờ để tự viết một phiên bản SpringBoot đơn giản hóa, bao gồm một số annotation thường dùng của Spring như @RestController, @Autowried, @Pathvairable, @RestquestParam, v.v. (Tôi đã liên hệ với đồng nghiệp này và muốn anh ấy open source nó. Sau này tôi sẽ cập nhật ngay trên tài khoản công khai, hãy cùng chờ nhé!). Tôi nghĩ đồng nghiệp này thực sự có hứng thú với lập trình. Hình như anh ấy đã bắt đầu tiếp xúc với lập trình từ cấp 2, đồng thời cũng rất hứng thú với các kiến thức low-level, từng tự viết và triển khai nhiều thứ ở tầng dưới. Ước mơ của anh ấy là tạo ra một wheel có hơn 20k Star trên Github. Tôi tin rằng với năng lực của đồng nghiệp này, anh ấy nhất định sẽ đạt được mục tiêu. Ở đây xin chúc anh ấy sớm thực hiện được mục tiêu này.
Đây là cảm nhận cá nhân của tôi sau hơn một tháng vào làm. Nhiều chỗ chỉ được lướt qua, sau này tôi sẽ dành thời gian chia sẻ với mọi người những kiến thức hữu ích đã học được ở công ty hoặc ngoài giờ, hy vọng những ai đã đọc đều có thể thu hoạch được điều gì đó.
