07 Điều giá như mình biết sớm hơn khi làm lập trình

Nhìn lại chặng đường đã qua, tôi không khỏi tiếc nuối những điều mình đã không biết khi mới bắt đầu sự nghiệp lập trình. Giá như lúc đó tôi được ai đó chia sẻ những kinh nghiệm quý báu này, có lẽ con đường của tôi đã ngắn hơn và suôn sẻ hơn rất…


7-dieu-gia-nhu-minh-biet-som-hon-khi-lam-lap-trinh-wolfactive

Nhìn lại chặng đường đã qua, tôi không khỏi tiếc nuối những điều mình đã không biết khi mới bắt đầu sự nghiệp lập trình. Giá như lúc đó tôi được ai đó chia sẻ những kinh nghiệm quý báu này, có lẽ con đường của tôi đã ngắn hơn và suôn sẻ hơn rất nhiều. Và 05 điều giá như mình biết sớm hơn khi làm lập trình, đó là…

Thứ 1, Khách hàng chẳng quan tâm đến code của bạn đâu

Mình đồng ý, viết code tối ưu (clean code) là điều cần phải có ở mỗi lập trình viên. Tuy nhiên, dưới góc độ là một khách hàng (người trải nghiệm), họ chỉ cần biết chức năng này có giao diện đẹp, thân thiện với người dùng, còn đằng sau đó code của bạn như thế nào họ chẳng quan tâm nhiều. 

Ví dụ 1: Một team dev dành khoảng 1 tháng để code ra 1 chức năng, nhưng khi đưa vào sử dụng thì chức năng khá phức tạp, không ai muốn dùng cả. Ngược lại, có những chức năng team hoàn thiện chỉ vỏn vẹn 3-5 ngày nhưng lại được khách hàng khen. Hiểu đơn giản, đây chính là chức năng giải quyết được vấn đề của họ đang gặp phải.

Ví dụ 2: Hay khi bạn trực tiếp làm việc với khách hàng để triển khai những phần tiếp theo trong dự án. Bạn sẽ nói gì với họ? Tôi sẽ sử dụng ngôn ngữ này để lập trình cho dự án của bạn, cách tối ưu code, cách thiết kế database,…? Nếu thực sự bạn trình bày những điều trên thì khách hàng chủ giật gù cho qua chuyện và chẳng quan tâm.

Cái thực sự họ muốn biết là: tiến độ dự án, các chức năng hoạt động tốt không, sản phẩm làm ra đúng với yêu cầu ban đầu không? Tóm lại, code không phải là sản phẩm – đích đến cuối cùng, đây là công cụ giúp dev tạo ra các tính năng mà khách hàng cần. 

Tuy nhiên, điều đó không có nghĩa bạn được phép code ẩu, code cho xong. Bởi, code vẫn là nền tảng để quyết định chất lượng sản phẩm tốt hay không tốt. Theo mình, muốn trở thành một lập trình viên giỏi, cách dễ nhất là hãy đặt mình vào vị trí của người quản lý, vị trí của khách hàng để xem đâu là giá trị mà họ muốn nhận được.

Thứ 2: Kỹ năng mềm quan trọng không kém kỹ năng code

Kỹ năng code là nền tảng để bạn trở thành một lập trình viên. Tuy nhiên, kỹ năng mềm rất cần thiết cho quá trình phát triển sự nghiệp của bạn. Việc kết hợp cả kỹ năng cứng và kỹ năng mềm sẽ giúp bạn trở thành một lập trình viên giỏi và được cấp trên đánh giá cao.

  • Làm việc nhóm hiệu quả: Trong hầu hết các dự án phần mềm, bạn sẽ làm việc với một nhóm người. Kỹ năng giao tiếp tốt giúp bạn làm việc hiệu quả với đồng nghiệp, hiểu rõ yêu cầu của khách hàng và giải quyết xung đột.
  • Thăng tiến trong sự nghiệp: Kỹ năng mềm giúp bạn tạo dựng mối quan hệ tốt với đồng nghiệp, cấp trên và khách hàng, từ đó mở ra nhiều cơ hội thăng tiến trong sự nghiệp.
  • Trở thành một nhà lãnh đạo giỏi: Để trở thành một nhà lãnh đạo giỏi, bạn cần có khả năng truyền cảm hứng, tạo động lực và hướng dẫn nhóm của mình.
  • Khả năng thích ứng với thay đổi: Thị trường công nghệ luôn thay đổi nhanh chóng. Kỹ năng mềm giúp bạn thích ứng với những thay đổi này và tìm ra các giải pháp mới.
  • Giải quyết các vấn đề phức tạp: Nhiều vấn đề trong công việc không chỉ liên quan đến kỹ thuật mà còn liên quan đến con người. Kỹ năng mềm giúp bạn giải quyết các vấn đề này một cách hiệu quả.

Chính vì vậy, hãy tập trung trau dồi kỹ năng giao tiếp, kỹ năng giải quyết vấn đề, quản lý thời gian, làm việc nhóm, tiếng Anh,vv… 

Thứ 3: Không nên quá lo lắng tuổi nghề của lập trình viên

ban-khong-nen-qua-lo-lang-tuoi-nghe-lap-trinh-vien-wolfactive

Có một số lý do khiến quan điểm này trở nên phổ biến:

  • Công nghệ thay đổi nhanh: Ngành công nghệ thông tin phát triển với tốc độ chóng mặt. Những ngôn ngữ lập trình, framework, công cụ hôm nay phổ biến có thể trở nên lỗi thời vào ngày mai. Điều này đòi hỏi lập trình viên phải không ngừng học hỏi và cập nhật kiến thức, khiến cho việc theo đuổi một công việc lập trình trong thời gian dài trở nên đầy thách thức.
  • Áp lực cạnh tranh: Ngành lập trình luôn thu hút rất nhiều người trẻ tuổi với đam mê công nghệ và khả năng thích ứng nhanh. Điều này tạo ra một sự cạnh tranh rất lớn, khiến cho những lập trình viên lớn tuổi hơn cảm thấy khó khăn trong việc duy trì vị trí của mình.
  • Quan niệm sai lầm về nhạy bén: Nhiều người cho rằng chỉ có những người trẻ tuổi mới có đủ khả năng nhạy bén và năng động để làm việc trong lĩnh vực lập trình. Tuy nhiên, kinh nghiệm và sự chín chắn cũng đóng góp rất lớn vào quá trình hoàn thiện sản phẩm.

Theo mình, tuổi nghề không phải là thước đo duy nhất để đánh giá năng lực của một lập trình viên. Trong lĩnh vực công nghệ thông tin, đặc biệt là lập trình, khả năng thích ứng, tư duy giải quyết vấn đề và tinh thần học hỏi không ngừng mới là những yếu tố quan trọng nhất.

Thứ 4: Xây dựng và duy trì mối quan hệ tốt

Hầu hết những job freelance của mình đều được khách hàng cũ giới thiệu, ngay cả job đầu tay cũng nhờ bạn bè kết nối mà biết đến. Vậy nên, bạn hãy duy trì những mối quan hệ chất lượng để mở ra nhiều cơ hội việc làm. 

Hãy dành thời gian lắng nghe ý kiến, quan điểm của người khác. Đồng thời, tạo không gian để chia sẻ ý tưởng, cảm xúc một cách cởi mở và chân thành. Bởi, mỗi người đều có những quan điểm và cách làm việc khác nhau – Hãy tôn trọng sự khác biệt đó. Sẵn sàng giúp đỡ đồng nghiệp khi họ cần và ngược lại. Bên cạnh đó, hãy bày tỏ sự biết ơn và khen ngợi khi người khác làm tốt.

Thứ 5, Không nên cắm đầu vào code khi chưa rõ bản chất vấn đề

Cắm đầu vào code khi chưa rõ bản chất vấn đề giống như việc xây nhà mà không có bản vẽ thiết kế. Nghe có vẻ tiết kiệm thời gian, nhưng kết quả cuối cùng thường là những sản phẩm kém chất lượng, khó bảo trì và dễ gặp phải các lỗi bất ngờ.

Thông thường, chúng ta sẽ nhận được requirement từ phía PM hoặc Product Owner, rồi mới bắt đầu code chức năng/module đó. Lúc này, nhiều bạn chưa đọc kỹ document mà lại cắm đầu vào code. Việc tự đoán ý của khách hàng hoặc PM có thể dẫn đến những sản phẩm không đáp ứng được nhu cầu thực tế và gây thất vọng cho khách hàng, phải viết từ đầu. Lâu dần, điều này vô hình chung biến bạn trở thành một thợ code thay vì developer giỏi. 

Tóm lại, việc hiểu rõ yêu cầu là một kỹ năng vô cùng quan trọng đối với mỗi lập trình viên. Bằng cách đầu tư thời gian và công sức vào giai đoạn này, bạn sẽ có thể tạo ra những sản phẩm chất lượng cao và đáp ứng được nhu cầu của khách hàng.

Thứ 6, Đừng quá cuồng một ngôn ngữ, framework, công nghệ

Ngôn ngữ, framework, công nghệ mới liên tục ra đời và những cái cũ dần bị thay thế. Nếu quá gắn bó với một công nghệ cụ thể, bạn có thể bị tụt hậu so với thị trường. Chưa kể, mỗi công nghệ đều có ưu điểm và hạn chế riêng. Việc quá cuồng một công nghệ nào đó có thể khiến bạn bỏ qua những giải pháp tốt hơn cho vấn đề của mình.

Ví dụ: Nhiều bạn dùng ngôn ngữ PHP quá lâu nên nghĩ nó là “xịn” nhất. Tuy nhiên, PHP không thể dùng để code app di động và desktop. Quan trọng nhất vẫn là tư duy lập trình, ngôn ngữ/framework/công nghệ chỉ là phương tiện hỗ trợ lập trình viên. 

Một lập trình viên giỏi là người có khả năng thích nghi với nhiều công nghệ khác nhau, không bị giới hạn bởi một công nghệ cụ thể. Khi lựa chọn công nghệ cho một dự án, hãy so sánh kỹ các công nghệ khác nhau để đưa ra quyết định phù hợp nhất. Đừng ngại thử nghiệm những công nghệ mới, thậm chí là những công nghệ chưa phổ biến.

Thứ 7, Bắt đầu với những dự án nhỏ

Giống như xây nhà, chúng ta cần có một nền móng vững chắc trước khi xây lên những tầng cao hơn. Bắt đầu với những dự án nhỏ giúp bạn làm quen với cú pháp, cấu trúc của ngôn ngữ lập trình, rèn luyện tư duy logic và cách giải quyết vấn đề một cách hiệu quả.

Thành công ở những dự án nhỏ sẽ giúp bạn cảm thấy tự tin hơn vào khả năng của mình, từ đó thúc đẩy bạn tiếp tục khám phá và chinh phục những thử thách mới. Khi làm những dự án nhỏ, bạn có thể thử nghiệm nhiều ý tưởng khác nhau để tìm ra lĩnh vực mà mình thực sự yêu thích. Có thể bạn sẽ phát hiện ra mình thích phát triển web, xây dựng ứng dụng di động hoặc phân tích dữ liệu.

Trong quá trình làm dự án, chắc chắn sẽ có những lỗi xảy ra. Đây là cơ hội để bạn tìm hiểu nguyên nhân và cách khắc phục, từ đó rút ra kinh nghiệm cho những dự án sau. Hãy kiên trì, sáng tạo và đừng ngại thử nghiệm những cách mới.

Kết luận

Mình tin rằng mỗi lập trình viên đều có những câu chuyện và bài học riêng của mình. Hãy chia sẻ những kinh nghiệm đó với cộng đồng để cùng nhau phát triển. Và đừng quên, con đường trở thành một lập trình viên giỏi là một hành trình dài, nhưng với sự đam mê và quyết tâm, bạn chắc chắn sẽ thành công.


Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *