post-image

Trở thành một lập trình viên giỏi hơn mỗi ngày

Tổng quan

“Một lập trình viên giỏi là một người luôn luôn nhìn cả hai phía trước khi băng qua con đường một chiều.” ~ Doug Linder

Là một lập trình viên phần mềm làm việc trong ngành công nghiệp IT, thì thứ tạo ra động lực để chúng ta đến nơi làm việc mỗi ngày là những niềm vui và đam mê trong công việc lập trình. Nhưng để cho công việc đó trở nên là một niềm vui thích và đam mê vĩnh cửu thì một trong những điều bạn cần phải học là bám sát vào những thứ căn bản để giúp bạn trở thành một lập trình viên giỏi.

Học hỏi thông qua thực hành

Rõ ràng ngay từ khi còn bé, để luyện tập cho mình những thói quen chúng ta đều học hỏi chúng qua cách làm nó. Bạn bắt đầu nói ngay cả khi nó không thành câu đầy đủ, bắt đầu học vẽ bằng cách vẽ. Bạn bắt đầu tập đi bằng cách đi bộ mỗi ngày. Và điều này đã giúp bạn nắm bắt các việc làm mới một cách nhanh chóng.

Với lĩnh vực kỹ thuật và công nghệ cũng tương tự thế. Để lập trình giỏi, bạn sẽ phải luyện tập thật nhiều để tiếp thu thêm những kiến thức mới. Khi tôi bắt đầu làm việc với tư cách là một kỹ sư công nghệ, tôi thường xuyên đọc sách và đánh dấu bằng các thẻ ghi chú để phân rõ các mục cần chú ý. Sau nhiều tháng cố gắng ghi nhớ các công thức và định nghĩa, tôi đã tìm được chính xác vấn đề mình mắc phải. Cho đến khi tôi bắt đầu làm việc theo cách này, kỹ năng của tôi mới bắt đầu được cải thiện một cách nhanh chóng hơn.

Luôn giữ tinh thần học hỏi cao nhất

Học hỏi không ngừng là một trong những kỹ năng cần có của một người lập trình giỏi. Khi bạn mới bắt đầu học cách viết code, lượng tài liệu bạn học hàng ngày có vẻ rất nhiều và bạn đang tiếp thu các khái niệm mới liên tục. Và bạn cảm thấy dường như đang có một nguồn tài nguyên vô tận mà mình học tập.

Lý tưởng nhất là bạn vẫn luôn giữ tinh thần học hỏi ở trạng thái cao nhất dù đã có nhiều năm kinh nghiệm làm việc. Nhưng điều này đôi khi có thể chững lại. Bạn bắt đầu cảm thấy thoải mái trong công việc và sự lười biếng dần khiến bạn trở nên trì trệ và cảm thấy nhàm chán với mọi công việc hay chủ động tìm kiếm thông tin. Giữ cho kỹ năng của bạn sắc bén sẽ giữ cho tình trạng việc làm của bạn ổn định ngay cả trong thời kỳ kinh tế khó khăn.

Hãy dành nhiều thời gian hơn để phân tích vấn đề, bạn sẽ cần ít thời gian hơn để sửa lỗi

Bạn hãy dành nhiều thời gian hơn để hiểu, phân tích thấu đáo vấn đề và thiết kế giải pháp cho nó. Bạn sẽ nhận thấy phần việc còn lại chỉ bao gồm những thứ tương đối dễ làm. Việc thiết kế không phải lúc nào cũng là dùng những ngôn ngữ mô hình hóa hay công cụ gì cao siêu, đôi khi chỉ cần bạn ngẩng nhìn lên bầu trời xanh và suy nghĩ về giải pháp cho bài toán đó ở trong tâm trí. Những người có thói quen lao vào viết code hùng hục ngay khi vừa nhận được yêu cầu thì thường tạo ra kết quả là một cái gì đó khác xa so với yêu cầu thực tế.

“Nếu bạn không thể hình dung ra toàn bộ cấu trúc của một chương trình trong khi đang tắm, thì bạn vẫn chưa sẵn sàng để code nó.” ~ Richard Pattis

Viết những dòng code đơn giản, dễ hiểu và có logic

Cũng như hầu hết mọi khía cạnh của cuộc sống, công thức KISS (Keep it simple and short – Giữ cho mọi thứ được ngắn gọn và đơn giản) cũng rất hiệu quả trong công việc lập trình. Hãy viết những đoạn code có logic và tránh sự phức tạp. Đôi khi người ta viết ra những đoạn code phức tạp chỉ để chứng tỏ khả năng của họ là có thể viết ra những đoạn code như vậy. Kinh nghiệm của tôi chỉ ra rằng chính những đoạn code đơn giản và có logic luôn luôn hoạt động rất tốt, kết quả thu được thường mắc rất ít lỗi và có nhiều khả năng mở rộng. Tôi nhớ một câu nói rất hay như sau:

Đoạn code tốt thì chính bản thân nó đã là một tài liệu hoàn hảo rồi. Vì thế khi mà bạn chuẩn bị thêm một dòng chú thích, thì hãy tự hỏi bản thân mình rằng, “Làm cách nào mà tôi có thể cải tiến đoạn code đó để không cần phải bổ dung dòng chú thích này nữa nhỉ?” ~ Steve McConnell

Hiểu biết sâu về 1 công nghệ/lĩnh vực nào đó

Tất nhiên, code giỏi là điều kiện cần chứ chưa phải là đủ. Để nâng cao giá trị bản thân, bạn cũng nên tập trung master (nôm na là làm trùn, lộn, làm “trùm”) một công nghệ, lĩnh vực nào đó.

Ví dụ, bạn thấy thích front-end. Đừng chỉ tập trung vào code, mà hãy nghĩ tới cách làm giao diện, cách thiết kế UI/UX, flow hợp với người dùng. Hoặc bạn có thể tìm hiểu cách optimize code, optimize performance của React/Angular.

Hoặc nếu bạn thích back-end, bạn có thể tập trung thêm vào thiết kế hệ thống, tìm hiểu sâu về database optimize, caching, infrastructure v…v.

Bên cạnh công nghệ, kiến thức về 1 lĩnh vực nào đó, kiến thức về qui trình cũng khá quan trọng!

Ví dụ, bạn từng làm dev cho các công ty liên quan tới trading, kiến thức trading đó sẽ rất có giá trị khi bạn nhảy qua các công ty liên quan đến tài chính, stock.

Những thứ này người ta gọi là Domain Knowledge

Những kiến thức này giúp bạn hiểu rõ hơn những về cách hệ thống hoạt động, cover được nhiều trường hợp hơn, tiếp nhận requirement từ user nhanh chóng hơn.

Kỹ năng làm việc nhóm – teamwork

Kỹ năng làm việc teamwork cực kỳ quan trọng trong nghề lập trình

Làm việc nhóm là một kỹ năng cực kỳ quan trọng. Với bất cứ ai theo nghề lập trình, việc phải trao đổi và bàn luận là điều “bắt buộc”. Teamwork giúp cho công việc của cả nhóm được thực hiện hiệu quả hơn, năng suất hơn. Các thành viên trong nhóm có cơ hội tương tác và tìm ra hướng đi đúng đắn nhất cho công việc chung. Người làm lập trình viên có khả năng quản lý và làm việc nhóm tốt sẽ có cơ hội phát triển lên vị trí leader cao hơn.

Kỹ năng tự học

Kỹ năng tự học giúp lập trình viên đào sâu hơn về kiến thức lập trình

Dù ở bất cứ ngành học nào, tự học luôn luôn là điều cần thiết để tiến thân nhanh hơn. Lập trình là một công việc đòi hỏi lượng kiến thức chuyên sâu, luôn cập nhật và đổi mới. Tự học giúp bạn nhanh chóng nâng cao tay nghề, không bị bỏ lại ở phía sau. Đặc biệt, khi đi làm tại doanh nghiệp, đây là một kỹ năng vô cùng quan trọng. Bởi rất hiếm doanh nghiệp sẽ có người “cầm tay chỉ việc” cho bạn. Bằng khả năng tự tìm hiểu, tự học hỏi, bạn có thể làm quen với công việc nhanh và tốt hơn.

Khả năng ngoại ngữ – Tiếng Anh

Các tài liệu lập trình chất lượng hiện nay chủ yếu được viết bằng Tiếng Anh. Những cộng đồng lập trình uy tín trên thế giới cũng sử dụng tiếng Anh là ngôn ngữ gioa tiếp chính. Khả năng tiếng Anh tốt giúp bạn học hỏi nhanh hơn từ tài liệu và cộng đồng nước ngoài. Đặc biệt là cơ hội làm việc tại những doanh nghiệp quốc tế.

Ngoài ra, các doanh nghiệp Nhật Bản đầu tư vào Việt Nam cũng rất nhiều. Nếu bạn có tiếng Nhật, mức  lương của bạn sẽ được nâng lên gấp 2-3 lần.

Tổng kết

Xây dựng một sự nghiệp nổi bật với tư cách là một nhà lập trình giỏi là công việc mà một lập trình viên nên theo đuổi suốt đời. Nếu bạn có thể sử dụng các chiến lược mà tôi đã chia sẻ ở trên để phát triển kỹ năng của mình, thậm chí bạn sẽ luôn được tuyển dụng và không phải lo sợ tình trạng thất nghiệp.

Để trở thành 1 lập trình viên bạn cần bổ sung khá nhiều kiến thức và kỹ năng quan trọng. Hãy tìm hiểu và lựa chọn cho mình những kiến thức và kỹ năng phù hợp với nhu cầu, với năng lực của chính bạn nhé!

Xem thêm:

Nguồn video: Phạm Huy Hoàng

Leave a Reply

Your email address will not be published. Required fields are marked *