post-image

Lập trình viên muốn thành công cần tránh và nên làm gì?

Tổng quan

Dù lập trình viên luôn nằm trong top những ngành nghề hấp dẫn nhất nhưng để thành công với nghề này không dễ. Lý do là vì hầu hết các lập trình viên luôn phạm phải 7 sai lầm nguy hiểm và bỏ qua 3 kỹ năng cần thiết sau.

1) Lập trình viên cần tránh 7 “không”

May mắn được trò chuyện với nhiều developer, tôi bất ngờ nhận ra: hầu như họ đều mắc phải một số sai lầm tai hại giống nhau. Thậm chí, họ còn không nhận ra sai lầm đó. Bản thân tôi cũng không ngoại lệ.

Sau đây là 7 sai lầm nguy hiểm mọi developer thường phạm phải:

Không có mục tiêu rõ ràng

Công việc của lập trình viên có thể sẽ lặp đi lặp lại nhàm chán như một cái máy. Nếu không có mục tiêu, bạn sẽ chỉ phó mặc cho dòng đời đưa đẩy. Sự nghiệp của bạn sẽ giậm chân tại chỗ, hoặc theo những ngả rẽ… không liên quan gì đến nhau.

Vậy, để làm chủ vận mệnh của mình, bạn hãy:

  • Xác định đích đến cuối cùng cho sự nghiệp của bạn là gì?
  • Đặt ra mục tiêu cụ thể cho từng cột mốc sự nghiệp: lúc nào thì bạn cần đạt được gì để tiến đến bước tiếp theo?
  • Điều bạn muốn hoàn thành ngay lúc này?

Bạn nên note lại, và dán giấy note ở những chỗ dễ nhìn thấy nhất mỗi ngày để không ngừng nhắc nhở bản thân.

Không đầu tư vào kỹ năng mềm

Tôi biết nhiều developer viết code giỏi, chạy thuật toán tốt. Họ hiểu và thực hiện những cấu trúc lập trình phức tạp đến mức tôi chẳng bao giờ muốn nghĩ đến.

Nhưng sau một khóa học về cách phát triển sự nghiệp lập trình, tôi đã vượt mặt họ. Không chỉ về vị trí công việc mà còn cả hiệu suất làm việc, performance, lương bổng….

Tôi nói điều này không phải để khoe khoang. Tôi chỉ muốn chỉ ra tầm quan trọng của kĩ năng mềm đối với sự nghiệp lập trình.

Kĩ năng mềm quan trọng không kém gì các kĩ năng kĩ thuật mà phần lớn developer ngày đêm rèn luyện.

Là một Software Developer, chắc bạn cũng hiểu rằng công việc của lập trình viên không chỉ có viết code mà còn bao gồm:

  • Chúng ta phải làm việc với con người hàng ngày, vì vậy kỹ năng giao tiếp rất cần thiết.
  • Deadline dồn dập, yêu cầu công việc của lập trình viên thay đổi không ngừng. Công việc đòi hỏi sự tập trung, tinh thần thép, khả năng tự khích lệ bản thân.
  • Chúng ta cũng cần học cách sắp xếp thứ tự ưu tiên, nâng cao hiệu suất làm việc nhiều nhất có thể.
  • Nhưng cũng đừng quên chú ý sức khỏe cũng như tình hình tài chính cá nhân. Bỏ qua hai yếu tố này, bạn có thể gặp hậu quả khó lường.

Ý chính ở đây là, trong cuộc sống, dù bạn làm gì, kĩ năng mềm hầu như luôn quan trọng hơn kĩ năng cứng. Vậy nên, hãy học kĩ năng mềm!

Không tham gia cộng đồng

Một trong những điều mang lại lợi ích lớn cho công việc của lập trình viên, chính là tham gia vào cộng đồng. Việc tham gia một cộng dồng nào đó có nhiều lợi ích lớn lao:

  • Không chỉ trở thành một phần của tập thể lớn hơn, việc gia nhập cộng đồng còn giúp tôi không cảm thấy cô đơn, vì được thuộc về một nơi nào đó.
  • Nó cũng giúp tôi cải thiện kĩ năng, tạo mối quan hệ mới, đặt tham vọng cao hơn cho bản thân.
  • Ngoài ra, tham gia một cộng đồng với những người cùng làm công việc của lập trình viên có thể giúp bạn chia sẻ khó khăn, tìm kiếm lời khuyên hữu ích.

Nhưng làm thế nào để gia nhập một cộng đồng?

  • Có rất nhiều nhóm Meetup trên thế giới. Bạn chỉ cần tham gia các buổi chia sẻ của họ.
  • Hoặc, tham gia Code Camp. Đây là chương trình thường niên miễn phí, tụ hội rất nhiều developer chia sẻ về nghề nghiệp. Mọi người có thể đăng kí để thuyết trình về mọi chủ đề họ muốn.

Tôi từng tình cờ học được cơ hội tạo khóa học Pluralsight tại Boise Code Camp vài năm trước. Từ đó, tôi đã tạo 55 khóa học cho họ.

  • Nếu không muốn trực tiếp gặp mọi người, bạn có thể tham gia những cộng đồng ảo.

Bạn có thể bắt đầu bằng việc tham gia cộng đồng Simple Programmer. Có nhiều developer giỏi bình luận trên blog này, giúp mọi người tháo gỡ khó khăn trong công việc của lập trình viên.

Blog Simple Programmer là điều đầu tiên tôi làm để trở thành một phần của cộng đồng lập trình.

  • Hoặc tìm những blog, forum nổi tiếng liên quan đến mảng lập trình mà bạn quan tâm.

Bạn cũng có thể tham gia cộng đồng bằng cách cống hiến. Bắt đầu một blog của riêng bạn, chia sẻ kiến thức, kinh nghiệm.

Không chuyên môn hóa

Nếu bạn theo dõi blog và nội dung mà tôi đăng trên Youtube, hoặc bạn từng đọc sách của tôi, bạn có lẽ đã nghe đến nhàm tai về việc “chuyên môn hóa.” Nhưng vì nó quá quan trọng, nên tôi cứ nhắc lại nó mỗi khi có dịp.

Chuyên môn hóa có nghĩa là chọn một ngách nhỏ và tập trung phát triển nó.

Điều này không có nghĩa là bạn không nên có kiến thức nền rộng – tôi là fan trung thành của việc biết nhiều ngôn ngữ. Tuy nhiên, hãy chọn một lĩnh vực để tập trung đào sâu hơn.

Điều này rất quan trọng, đặc biệt là khi bạn mới bắt đầu sự nghiệp. Bạn cần trở thành chuyên gia trong một lĩnh vực nào đó. Lợi ích của việc đó là:

  • Các chuyên gia luôn được mọi người săn đón, họ có mức lương cao hơn, họ được trả phí theo giờ, và họ có thể xây dựng danh tiếng nhanh hơn.
  • Ngoài ra, bạn sẽ tận hưởng cảm giác biết về một mảng lập trình hoặc một công nghệ sâu hơn nhiều người khác.

Và, đừng lo ngại việc chọn lựa một lĩnh vực sẽ cản trở khả năng phát triển của bạn, vì điều đó rất hiếm xảy ra.

Không xây dựng thương hiệu cá nhân

Suốt cuộc đời bạn, nhiều thứ đến rồi đi. Bạn có thể thay đổi việc làm, thậm chí thay đổi bạn đời. Có thể giàu hoặc nghèo, cũng có thể gầy hoặc béo. Nhưng bất kể việc gì xảy ra trong đời, một điều sẽ luôn đi với bạn suốt cuộc đời…

Tên – hay thương hiệu cá nhân, là một yếu tố cực kì quá trị mà nhiều developer không nhận ra.

Nếu có danh tiếng tốt, bạn có thể xoay chuyện tình thế chỉ với một cái phẩy tay. Danh tiếng tốt giúp bạn rất nhiều trong việc tìm việc làm, thăng chức, giành khách hàng sộp hay gây dựng một start-up.

Tôi biết nhiều developer không bao giờ phải lo chuyện thất nghiệp, vì dù xảy ra việc gì, họ cũng sẽ kiếm được việc khác ngay trong vòng vài tiếng đồng hồ. Bởi vì họ đã có danh tiếng trong ngành.

Chúng ta thường thấy các công ty quảng bá sản phẩm, dịch vụ. Bạn có từng nghĩ đến giá trị của quảng bá thương hiệu cá nhân?

Để xây dựng thương hiệu cá nhân trong ngành IT, tôi khuyến khích bạn nên bắt đầu viết blog cá nhân. Blog là một trong nhiều cách xây dựng thương hiệu cá nhân của riêng bạn. Chọn một mảng cố định, học hỏi và viết về nó. Ngay hôm nay.

Một trong những cách hiệu quả nhất để viết blog là tạo nội dung hữu ích cho người đọc.

Tôi tạo cả Youtube, đăng podcast, tham gia vào nhiều podcast của người khác, viết bài cho các blog với tư cách khách mời, viết bài cho tạp chí, sách, và nói chuyện tại các event.

Bạn không cần phải làm mọi thứ tôi làm, nhưng chúng là những gợi ý tốt.

Không có side-project

Bạn nên có những dự án ngoài giờ làm việc.

Đối với công việc của lập trình viên, một side-project mang lại nhiều ích lợi mà bạn có thể không nhận ra.

  • Side-project là cách tuyệt vời để bạn cải thiện kĩ năng, đặc biệt trong lĩnh vực bạn muốn phát triển nhưng lại không thể làm trong giờ làm việc hàng ngày.
  • Side-project còn là cách tuyệt vời để phát triển các kỹ năng mới và học công nghệ mới. Sẽ rất có ích khi bạn cần tìm một công việc khác.
  • Và cũng đừng quên về những lợi ích kinh tế của việc làm side-project.

Bạn có thể không bắt đầu side-project để kiếm tiền. Nhưng chúng có thể là cách tuyệt vời để tạo thêm thu nhập.

Một side-project có thể rất vui. Nó cũng có thể là nơi xả stress hiệu quả khỏi công việc hàng ngày.

Không có kế hoạch tự học hỏi

Khi phỏng vấn vị trí Software Developer, một trong những câu đầu tiên tôi hỏi họ là về kế hoạch tự học. Họ đang làm gì để cải thiện bản thân?

  • Tôi hỏi, họ hay làm gì để giữ mình luôn cập nhật những thay đổi hàng ngày của ngành công nghiệp này.
  • Tôi hỏi, gần đây họ đọc quyển sách nào, và đâu là quyển sách mà họ nghĩ là mọi developer nên đọc.

Tôi tìm kiếm câu trả lời tiết lộ những kế hoạch cải thiện và phát triển bản thân. Bởi vì tôi biết, một người suy nghĩ không ngừng đến việc cải thiện bản thân sẽ thành công và sẽ giúp cho những người xung quanh họ thành công theo.

Nhưng có quá nhiều programmer không có bất kì kế hoạch gì cho việc phát triển bản thân.

Nếu không có kế hoạch gì để học hỏi điều mới hay mài dũa các kỹ năng của mình, bạn cần phải làm một kế hoạch ngay.

Vậy một kế hoạch đơn giản là gì?

Chỉ cần cam kết với bản thân rằng bạn sẽ đọc một quyển sách kỹ thuật hoặc sách phát triển bản thân hàng tháng.

Trong một năm, bạn sẽ đọc được 12 quyển sách.

Hãy nhớ rằng, góp gió thành bão. Chỉ cần dành ra 30 phút mỗi ngày và lặp lại hàng ngày, chắc chắn bạn sẽ có sự thay đổi lớn trong một hoặc hai năm sau.

2) Lập trình viên cần thuộc 3 “nên”

Đối với developer, dân sales dường như thuộc về một thế giới khác. Đó là những người sẵn sàng sống và chết cho lí tưởng ABC (Always Be Closing – tạm dịch: luôn chốt được đơn hàng).

Song, nếu biết áp dụng những kỹ thuật sales đơn giản sau đây vào công việc của lập trình viên thì, bạn sẽ thấy sự nghiệp vút bay bất ngờ.

Nên hiểu bức tranh toàn cảnh

Sếp hay khách hàng không quan tâm đến bạn đâu. Họ quan tâm đến những gì bạn có thể làm cho họ kìa.

Cho nên, hiểu được bức tranh toàn cảnh, hiểu được cuộc chơi mà sếp/khách hàng đang tham gia sẽ giúp bạn nắm được nhu cầu/mong muốn của họ. Từ đó, bạn có thể đề xuất các giải pháp mà họ quan tâm, và trở nên nổi bật!

Nếu không biết phải tìm hiểu từ đâu, thì bạn nên nhớ rằng, nhìn chung developer được thuê vì 2 mục đích sau:

  • Giảm chi phí
  • Tăng lợi nhuận

Và một trong những cách tăng lợi nhuận nhanh nhất là giảm chi phí.

Vậy, hãy chuyên sâu một ngôn ngữ lập trình/framework và biết thêm một số ngôn ngữ/framework khác. Hoặc tìm hiểu một số kiến thức liên quan, chẳng hạn UX UI…

Nên hiểu nhu cầu của khách hàng hơn chính họ

Tích cực lắng nghe là cách hiệu quả nhất để đạt được điều này.

Trong lúc trao đổi với khách hàng tiềm năng, hãy chủ động đặt thêm câu hỏi. Chú ý cách họ phản hồi để đào sâu thông tin, nắm được vấn đề lớn nhất của họ là gì. Từ đó, bạn có thể đề xuất giải pháp đáp ứng trúng mong muốn của khách hàng.

Nếu không thể đưa ra giải pháp hoàn hảo, bạn vẫn có thể đề xuất giải pháp một phần, ví dụ :

“Tôi có thể thiết kế lại tính năng ABC cho website của anh. Thông thường việc này sẽ giúp tăng sales XYZ % thể hiện qua các case studies 123”

Hầu hết chủ doanh nghiệp không phân biệt được sự khác nhau giữa C với C#, nhưng họ biết rằng họ có khúc mắc cần được giải quyết.

Miễn là bạn chỉ ra được khúc mắc ấy, đề xuất được giải pháp, bạn sẽ luôn chốt được khách hàng.

Nên sử dụng ngôn ngữ thích hợp để thuyết phục khách hàng

Đừng “thật thà” dùng các thuật ngữ kĩ thuật khô cứng, khó hiểu khi nói chuyện với khách hàng. Đừng dùng từ ngữ họ ghét hoặc có ác cảm.

Tốt nhất là sử dụng chính các thuật ngữ của khách hàng, mô phỏng cách họ nói chuyện. Dùng các từ ngữ nâng cao giá trị dịch vụ mà bạn cung cấp.

Khi bán bảo hiểm, tôi không dùng từ “bảo hiểm” vì có thể một số khách hàng không thích. Thay vào đó, tôi chọn từ “bảo vệ”, hoặc “an toàn”. Số lượng hợp đồng chốt được lập tức tăng.

Bạn cũng có thể mô tả chi tiết hơn giúp dịch vụ của bạn trở nên khác biệt.

Đừng nói “Tôi làm iPhone apps”

Hãy nói “Tôi làm iPhone apps cho các công ty telecom quy mô lớn”

Ba kĩ thuật sales kể trên liên quan mật thiết đến nhau. Một khi đã thực hiện xong, giờ là lúc bạn chốt thỏa thuận. Hãy sử dụng các cụm từ hoặc mẫu câu thể hiện sự chắc chắn, ví dụ:

Tôi đã xác định được một số vấn đề mà website của anh đang gặp phải. Tôi sẽ gửi anh một bản báo cáo nhanh bằng văn bản, đề xuất một số cách khắc phục để tăng số lượng đơn hàng cho website. Báo cáo này sẽ được gửi cho anh ngay ngày mai.

Sau đó, nếu anh hứng thú, chúng ta có thể bàn bạc và thỏa thuận chi tiết hơn?

Và đừng bao giờ đặt giá dịch vụ của bạn quá rẻ!

Hãy hành động ngay

Bạn thấy bài viết này hữu ích cho công việc của lập trình viên?

Nhưng nó sẽ không giúp bạn trở thành một developer giỏi hơn, nếu bạn không hành động!

Vậy nên, đừng chỉ đọc và gật gù. Hãy hành động.

Nếu bạn đang mắc phải một trong những sai lầm kể trên, hãy cam kết sửa chữa nó ngay.

Tham khảo khóa học lập trình web 6 tháng, đảm bảo 100% công việc đầu ra!

Nguồn: https://itviec.com/blog/7-sai-lam-trong-su-nghiep-lap-trinh/


Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.

Leave a Reply

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