Dev Trẻ MFV Nói Gì Về Golang
Mỗi người đều có một lựa chọn ngôn ngữ riêng của mình, cùng nghe hai bạn trẻ Tyler và Mikel bộc bạch về ngôn ngữ Golang cũng như về MFV nhé.
Tyler
Chào mọi người, mình là Tyler, một Gopher team Stampless 😎.
Trước khi mình dùng Golang trong công việc chính thức, mình chỉ ứng dụng ở các dự án freelance và khi thực tập ở trường. Chứ trước đó mình từng là Dev Node.
Tiếp xúc với các ngôn ngữ khác nhau, Tyler thấy rằng code của Golang rất dễ đọc cũng như nắm bắt được ý đồ tác giả, hiệu năng và khả năng xử lý đồng thời rất tốt và dễ sử dụng. Ta có thể tận dụng khả năng xử lí của đồng thời đó để tối ưu hiệu suất cho những tác vụ nặng hoặc phải gọi đến nhiều dịch vụ bên thứ 3. Chưa nói tới Go có cả một kho thư viện chính thống hỗ trợ việc phát triển và giám sát hệ thống rất có ích trong công việc.
Làm Developer thì dĩ nhiên là phải ngồi code rồi, nhưng code thế nào cho sạch, cho ai cũng hiểu cũng quan trọng. Team Tyler sử dụng Clean Architecture vào cấu trúc dự án, giúp việc triển khai kiểm thử và tái sử dụng code hiệu quả. Khi tham gia dự án về Cloud Contract mình học được nhiều kỹ thuật như chữ ký điện tử, xử lí file PDF,...
Ở MFV, mình có cơ hội học hỏi mọi thứ để phát triển bản thân, học từ leader, học business logic từ dự án, học từ các Forwardian khác, và phải tận dụng mấy “gợi ý” từ L&D handbook, có vẻ nhiều khoá học mình cần được trau dồi để lên tay đây.
MFV làm mình thấy lạ, vì ban đầu mình cũng “ngại” môi trường của công ty Nhật Bản, nhưng vào rồi thì mọi thứ đều ngoài sức tưởng tượng. Mọi người rất hòa đồng và thân thiện, tôn trọng lẫn nhau nên mình rất thoải mái khi làm việc nhóm, cũng như chia sẻ ý kiến đóng góp của bản thân đó nha.
Mikel
Mình đến với Golang khá tình cờ. Khi còn là sinh viên năm 3 đang chạy deadline “sấp mặt” cho môn lập trình web thì mình đã chọn Golang là ngôn ngữ để phát triển web server (thật ra do có người bạn gợi ý cho và thằng đó học rất giỏi nên có gì bí quá thì mình sẽ hỏi nó).
Mặc dù nói là tình cờ nhưng đó lại là một bước ngoặt mới. Sau khi dành thời gian phân tích ngôn ngữ mới này, mình mới nhận ra được sự hữu dụng và hiệu quả nó mang lại:
- Golang là một ngôn ngữ biên dịch (compile language) nên tất nhiên nó sẽ được xử lý nhanh và hiệu quả hơn, nếu các bạn chưa có khái niệm thì nên tham khảo về “compiler and interpreter” nha.
- Sự đơn giản nó mang lại. Khi code Go mọi thứ đều rất rõ ràng cho người code và cả người đọc. Go có vỏn vẹn dưới 30 keyword nhưng cũng đủ để mọi người có thể hiểu được flow code đang được xử lý ra sao. (mình chỉ mất 1 thời gian ngắn để có thể quen với Go thôi)
- Trên thị trường hiện tại thì Go là ngôn ngữ được trả lương khá cao ở các công ty không chỉ nước ngoài mà cả Việt Nam. Nhưng đi kèm với đó cũng phải là một sự hiểu biết và bạn phải có năng lực tạo ra giá trị từ Go.
- Golang có cả một kho công nghệ được phát triển bới Google, một chiếc ô không bao giờ rách, một bệ phóng không bao giờ hết nhiên liệu. Tức là sự phát triển của Go sẽ gần như luôn được đảm bảo bởi bộ óc đội ngũ Google thì nên chắc chắn sau này những tính năng mới của Go sẽ rất đáng mong chờ.
Hồi còn mới học Go thì mình cũng khá quan ngại về concurrency. Như thế nào là Go routine, channel các kiểu. Nhưng sau khi đọc xong các document của Go (và các ví dụ trên Go tour) thì mình mới bỡ ngỡ sao nó lại xử lý những thứ phức tạp đơn giản đến thế và đó cũng là lý do Go rất hiệu quả trong việc phát triển server.
Golang vi diệu ha, một phần cũng do MFV luôn tạo nhiều cơ hội để mình được khám phá và phát triển. Hồi mới vô mình nghĩ môi trường công ty Nhật sẽ căng thẳng với những gương mặt lạnh tanh, thực tế thì mọi người luôn tạo niềm vui ngay trong công việc, văn phòng luôn ngập trong tiếng cười. Ở đây mọi người luôn cởi mở với nhau và luôn sẵn sàng hỗ trợ nhân viên mới.
Tuy công việc là luôn ngồi với máy tính, những vẫn luôn có những hoạt động dành cho mọi người như là các nhóm chạy bộ, đá banh. Trên công ty còn có cả bàn bi-da cho mọi người cùng chơi nữa và cả "máy lọc khí đời thứ 5" mang tên PS5 nữa nha.
Lời cuối, nếu bạn không kịp ăn sáng trước, MFV luôn có sẵn kho đồ ăn để bạn nạp đủ năng lượng chạy task đấy nhé.
Author: Jim
Interviewee: Tyler, Mikel