Ngoài kiến thức thì mình còn học được những gì trong kỳ thực tập?

Từ ghế học đường bước vào môi trường doanh nghiệp là một sự thay đổi không hề nhẹ về thói quen, cách làm việc và kể cả kiến thức mình đã được học. Những thứ trong trường chỉ là những thứ rất cơ bản, chưa đủ đáp ứng cho công việc công ty. Mặc dù làm một trang web, mobile application hay một desktop application hoàn chỉnh thì mình cũng đủ sức để làm ra, nhưng vấn đề tại sao vẫn chưa đáp ứng được cho môi trường doanh nghiệp?

  • Thói quen code chỉ để cho chạy: code cho chạy không quan tâm đến performance bởi vì application mình code thì chỉ đâu đó mình dùng và bạn bè test qua thì dữ liệu rồi tải lượng cũng không đáng kể để mình chưa thấy được vấn đề performance quan trọng như thế nào. Hơn nữa, khi đọc docs thì cũng hay đọc những thứ mình cần tức thì chứ không quan tâm xung quanh, hoạt động như nào và sâu xuống có gì, làm theo => code chạy => xong :v
  • Chưa có tầm nhìn để mở rộng: thường thì đồ án trong trường thì mình cũng như nhiều bạn sẽ code sao cho nhanh cho dễ cho mình thời điểm đó vì đồ án chỉ chấm xong là “vứt”, chứ đâu cần mở rộng. Vẫn nghĩ rằng nếu muốn mở rộng một chức năng tương tự thì chỉ cần copy ra sửa một chút là xong. Nhưng giờ nhìn lại hơi “vô học” khi chúng ta đã được học rất nhiều kiến trúc, kỹ thuật để lập trình và cả lập trình hướng đối tượng.
  • Thói quen code mình mình đọc: code mọi thứ riêng biệt, tổ chức thư mục chưa tối ưu theo một pattern nào, gán cứng nhiều giá trị trong code hay đặt tên biến không nhất quán, code liên tiếp một đoạn dài ko phân cách nhóm code ra vì nghĩ mình có thể control được. Có thể là thời điểm đó là đúng với điều mình nghĩ, nhưng sau này thì mình không chắc là mình có thể đọc lại đống code mà chính mình viết ra.
  • Sợ sai sợ bị chửi: thực tập sinh mà, khi bước vào công ty có lẻ rằng mình là nhỏ tuổi non kinh nghiệm nhất rồi, nên khi hỏi hay bày tỏ quan điểm thường cân nhắc rất kĩ trước là có nên nói ra vì chưa tự tin vào ý kiến, quan điểm của mình nên nhiều lúc thôi nghĩ im trất cho lành :v hoặc đi hỏi riêng một bạn cùng cấp cho đỡ nhục đỡ bị chửi thay vì bày tỏ quan điểm trước những buổi họp, daily meeting trước team.

Và còn rất nhiều vấn đề nhỏ nhặt khác, tuy nhiên nhiêu đó đã đủ ảnh hưởng nhiều đến công việc của mình, của team rồi và của công ty rồi. Sau một kỳ thực tập vài tháng thì mình mới nhìn nhận được những thói quen như vậy và đã được rèn luyện để tốt hơn ở đây. Kiến thức là cái quan trọng, tuy nhiên kiến thức rộng thôi chưa đủ, phải đủ sâu và phải đủ tầm. Nên những điều nhỏ nhặt này mình cho rằng rất quan trọng để mình tối ưu và hoàn thiện bản thân hơn. Nên mình sẽ chia sẻ nhẹ vài điều mình thu được từ kỳ thực tập ngắn ngủi theo hệ quy chiếu của mình.

  • Thói quen đọc document tốt hơn khi thường xuyên được giao nhiệm vụ research liên quan đến tech stack của công ty và thậm chí những vấn đề mới để sharing lại cho team. Khác với trước, khi đọc docs thì mình đọc mình biết thì bấy giờ mình đọc để làm việc cho công ty và đương nhiên khi được review code thậm chí thỉnh thoảng lại bị hỏi ngang, không biết sẽ bị ăn chửi ngay. Nhưng nhờ ăn chửi mà mình lại phải đọc thật kỹ trước khi đặt tay vào cào phím. Sharing chỉ đơn giản là một lời chia sẻ ngắn trong buổi daily meeting hay buổi thuyết trình cũng vậy, khi nói cho người khác nghe thì đâu đó tâm lý buộc mình phải chắc chắn về lời mình nói ra. Học lém được thói quen đọc code ngay từ trong core lib/framework. Trước giờ khi không biết lib/framework này có hàm gì, nhận tham số gì và hoạt động như nào thì toàn lên google để tìm vì cho rằng code trong core thường rối, nhưng không, các thư viện/framework thường được ghi chú và code rất rõ ràng (đôi lúc mình còn thấy ghi chú, giải thích code còn nhiều gấp 10 lần số lượng dòng code) và docs trên các trang web đó cũng thưuòng lấy từ đây ra cả ấy mà :v. Đọc code trong core là cách mình thấy học được rất nhiều: lib đó có những thuộc tính nào, hàm nào, hoạt động như thế nào và hơn nữa là học được phong cách tổ chức code theo mình là thấy khá chuẩn và tối ưu. (Nhưng cũng tùy ngôn ngữ, các ngôn ngữ bậc thấp như C thì mình cùng công nhận rằng code nhìn vào hơi loạn :’( )

  • Code làm sao cho tối ưu vì dữ liệu doanh nghiệp không phải vài ngàn records như đồ án mình làm, code “dỏm” chỉ cần đưa lên môi trường staging là chậm ngó thấy ngay. Nhưng trước khi đưa lên các môi trường thì phải trải qua 1,2 lần review code từ các anh senior. Đặt tên biến, gán cứng giá trị trong code, hay code một lều không phân đoạn để một đống thì ăn chửi là điều đương nhiên, code đâu phải mình mày đọc và mày với tao đâu phải làm việc đây suốt đời mà còn lớp khác vào nữa, sau vài tháng ăn chửi sẽ khiến mình tốt hơn, có lúc bị chửi đến mức tự ái nhưng giờ nhìn lại phải biết ơn những câu chửi đó ^^

  • Để join và làm được task trong project thì mình cũng thường được cho thời gian để đọc full project. Một project không hề nhỏ, code người khác viết, mình thì mới biết cơ bản làm sao hiểu được luồng đi của ứng dụng? Đâu đó được chỉ debug để nắm luồng chạy của ứng dụng - một cách mà mình chưa từng làm trước đây (vì thường đọc code của chính mình viết hoặc bạn viết thì hỏi bạn :)) Khá khoai nhưng rất lợi hại, đỡ phải chạy hỏi cùng với sự bỡ ngỡ vì chính mình có thể thấy được luồng chạy. Quá trình đọc project thì mình cũng để ý cách tổ chức thư mục cũng như các class rất khoa học (khoa học sẽ tốn thời gian hơn, nhưng mở rộng và maintain rất tiện và nhanh chóng). Và được bonus thêm những lời giải thích tại sao dùng pattern này, làm vậy sau này sẽ có lợi gì.

  • May mắn được vào team anh chị cũng rất tâm lý, rất biết cách dìu dắt sinh viên, lúc đầu bày tỏ ý kiến luôn sợ sai, sợ thiếu nhưng dần dần được nhắc nhở và khơi gợi ý kiến thì mình cũng không ngại bày tỏ quan điểm trong các cuộc họp mặc dù chỉ là một thực tập sinh nhỏ nhoi. Sai thì nói ra mới biết sai mà sửa không thì cứ sai mãi :v Tuy rằng mạnh dạn chia sẻ ý kiến nhưng cũng không quên rằng đừng quá tự tin vào bản thân mà bị mọi người có cái nhìn không đẹp :v

Thời điểm này, những thói quen như vậy mình coi trọng hơn là kiến thức mình học được rất nhiều, vì đấy là sẽ là những tiền đề để kiến thức, thái độ của mình xa hơn, sâu hơn trong tương lai. Trên là những vấn đề mình gặp phải và được cải thiện sau vài tháng tham gia vào môi trường doanh nghiệp, hy vọng đâu đó ít nhiều giúp được các bạn chưa đi làm hoặc đi làm mà vẫn những thói quen “chưa tốt” đó sẽ có lại cái nhìn tốt hơn, rộng hơn.