paint-brush
Lập trình viên nên ưu tiên kỹ năng cứng hay kỹ năng mềm?từ tác giả@wagslane
1,475 lượt đọc
1,475 lượt đọc

Lập trình viên nên ưu tiên kỹ năng cứng hay kỹ năng mềm?

từ tác giả Lane Wagner5m2023/04/24
Read on Terminal Reader

dài quá đọc không nổi

Kỹ năng cứng là những khả năng hữu hình, có thể đo lường được mà bạn cần để hoàn thành công việc. Mặt khác, kỹ năng mềm là những khả năng vô hình, giữa các cá nhân có thể giúp sự nghiệp của bạn thuận lợi. Đầu tư thời gian và công sức vào việc học ngôn ngữ, công cụ và kỹ thuật mới theo thời gian.
featured image - Lập trình viên nên ưu tiên kỹ năng cứng hay kỹ năng mềm?
Lane Wagner HackerNoon profile picture
0-item

Bạn đang đợi ở quầy tiếp tân của khuôn viên Google ở Boulder, Colorado, chờ cuộc phỏng vấn lập trình của bạn bắt đầu. Đối diện với bạn trong hành lang là hai ứng cử viên khác:


  • Một nhà phát triển phô trương airpods lôi cuốn, người có thể quyến rũ bất kỳ ai trong phòng nhưng cần 8 giờ đau đớn để danh sách được liên kết hoạt động

  • Một thần đồng lập trình, người viết các trò chơi lắp ráp, nhưng lại là một tên khốn khổng lồ đến mức không ai sẽ chơi trò chơi của họ


Ai trong số họ sẽ cung cấp sự cạnh tranh khốc liệt hơn cho vị trí công việc? Hãy giải quyết câu hỏi muôn thuở: Kỹ năng cứng hay mềm nào quan trọng hơn đối với lập trình viên?


Đầu tiên tôi sẽ giải thích một cách khó chịu về kỹ năng cứng và kỹ năng mềm là gì, nhưng sau đó chúng ta sẽ đi sâu vào lý do tôi muốn viết bài viết này: phép loại suy hình chữ nhật . Phép loại suy này sẽ giúp bạn hiểu bạn nên dành thời gian cải thiện ở đâu để tối đa hóa cơ hội tìm được việc làm.

Kỹ năng cứng: Nền tảng

Điều đầu tiên trước tiên: kỹ năng cứng là gì? Đây là những khả năng hữu hình, có thể đo lường được mà bạn cần để hoàn thành công việc. Là một nhà phát triển, bạn sẽ cần phải:


  1. Viết mã bằng các ngôn ngữ cụ thể - như Python , JavaScript hoặc Golang.
  2. Sử dụng các công nghệ và công cụ - chẳng hạn như Git, Docker hoặc AWS.
  3. Hiểu các thuật toán và cấu trúc dữ liệu - bởi vì không ai muốn trở thành nhà phát triển không thể đảo ngược chuỗi mà không tìm kiếm nó trước trên Google.
  4. Rất nhiều thứ khác - bởi vì lập trình là một lĩnh vực rộng lớn và không ngừng mở rộng.

Tầm quan trọng của các kỹ năng cứng để có được một công việc

Kỹ năng cứng là bánh mì và bơ trong sự nghiệp lập trình của bạn. Chúng là một yêu cầu tuyệt đối đối với hầu hết các vị trí lập trình và chúng thể hiện năng lực kỹ thuật của bạn. Trên thực tế, nếu bạn chỉ có thể có một loại kỹ năng, thì kỹ năng cứng sẽ quan trọng hơn. Rốt cuộc, thật khó để viết mã mà không thực sự biết cách viết mã.

Tiếp tục rèn luyện các kỹ năng cứng của bạn

Thế giới công nghệ di chuyển với tốc độ chóng mặt và nếu bạn không liên tục nâng cấp các kỹ năng cứng của mình, bạn sẽ bị bỏ lại phía sau. Hãy nhớ rằng, Rome không được xây dựng trong một ngày và chuyên môn lập trình của bạn cũng vậy. Đầu tư thời gian và công sức vào việc học ngôn ngữ, công cụ và kỹ thuật mới theo thời gian.


Bạn không cần phải là chuyên gia về mọi thứ nhưng bạn cần biết cách cung cấp mã hoạt động để giải quyết các vấn đề thực sự trong miền của mình. Nếu bạn muốn trở thành nhà phát triển back-end và làm việc tại các công ty SaaS, thì ít nhất bạn nên:


  • Có hiểu biết vững chắc về một vài ngôn ngữ lập trình như Python và Go
  • Có thể thiết lập và sử dụng cơ sở dữ liệu SQL
  • Biết cách xây dựng API REST bằng các công nghệ đó
  • Biết cách triển khai API đó lên nền tảng đám mây như AWS hoặc GCP

Các kĩ năng mềm

Mặt khác, kỹ năng mềm là những khả năng vô hình, giữa các cá nhân có thể mang lại cho sự nghiệp của bạn những khởi đầu thuận lợi. Chúng có thể không dễ định lượng như các kỹ năng cứng nhưng chúng gần như rất quan trọng. Các kỹ năng mềm bao gồm:


  1. Uy tín - mọi người thích làm việc với những người vui vẻ.
  2. Khả năng giao tiếp và viết lách - để bạn có thể trình bày rõ ràng ý tưởng của mình và giúp mọi người nắm bắt thông tin.
  3. Lòng tốt và sự đồng cảm - bởi vì bạn đang làm việc với con người và con người không thích những kẻ khốn nạn.
  4. Làm việc chăm chỉ và theo sát - nếu bạn giỏi, nhưng bạn không hoàn thành, thì không ai quan tâm.

Tầm quan trọng của kỹ năng mềm để thành công lâu dài

Kỹ năng mềm là công thức bí mật có thể đưa sự nghiệp của bạn lên một tầm cao mới. Chúng tạo điều kiện cộng tác và làm việc theo nhóm, giúp bạn làm việc với người khác dễ dàng hơn và hoàn thành công việc. Ngoài ra, có kỹ năng mềm vững chắc có thể nâng cao sự hài lòng trong công việc tổng thể và phát triển nghề nghiệp của bạn. Xét cho cùng, không ai muốn làm việc với một thiên tài mà lại là một kẻ ngốc.


Kỹ năng cứng là yêu cầu để có được một công việc trong lĩnh vực công nghệ, nhưng giả sử khoảng cách về kỹ năng cứng giữa hai ứng viên là tương tự nhau, tôi thực sự đã thấy ứng viên lôi cuốn và dễ mến hơn nhận được công việc hơn ứng viên có năng lực kỹ thuật hơn một chút. Tại sao? Người quản lý là con người, và mọi người thích làm việc với những người khác mà họ thích.

Làm cách nào để cải thiện các kỹ năng mềm của tôi?

Nếu bạn có một tính cách điên rồ, đừng quá lo lắng. Bạn không cần phải là một nhà hùng biện xuất sắc hay một bậc thầy về chữ viết chỉ để có được một công việc như một con khỉ mã. Quy tắc số một phải dễ thực hiện: đừng là một thằng khốn nạn. Nếu bạn làm điều đó, bạn đang đi được nửa đường.


Quy tắc tiếp theo có liên quan là cân bằng sự tự tin và khiêm tốn . Nếu bạn là một nhà phát triển tốt bụng, cởi mở và biết mình đang nói về điều gì, thì bạn sẽ làm rất tốt.

Tương tự hình chữ nhật: Kết hợp các kỹ năng cứng và mềm

Bây giờ chúng ta đã khám phá cả kỹ năng cứng và kỹ năng mềm, hãy đi sâu vào phép loại suy hình chữ nhật để hiểu cách chúng phối hợp với nhau. Hãy tưởng tượng kỹ năng cứng của bạn là chiều dài của một hình chữ nhật, trong khi kỹ năng mềm của bạn là chiều rộng.


Diện tích của hình chữ nhật này tương ứng với xác suất bạn có được một công việc. Diện tích càng lớn, bạn càng có cơ hội tìm được hợp đồng biểu diễn phù hợp với kỹ năng của mình.


xác suất công việc

Điều này có nghĩa là phương trình xác suất công việc của bạn là:

 hard_skills * soft_skills = job_probability


Để tối đa hóa job_probability với ít nỗ lực nhất, hãy dành nhiều thời gian hơn cho bất kỳ kỹ năng nào mà bạn có xu hướng thiếu. Diện tích hình vuông lớn hơn diện tích hình chữ nhật lệch cạnh có cùng chu vi.

Quan niệm sai lầm về điểm kỹ năng hạn chế

Nếu bạn đang nghĩ điều này nghe hơi giống bảng ký tự Dungeons & Dragons nơi bạn có một số điểm kỹ năng hạn chế để phân bổ, thì đó không phải là cách thế giới thực hoạt động. Trong thế giới thực, bạn chỉ có thể nhận được nhiều điểm kỹ năng hơn . Bạn có thể xuất sắc trong cả kỹ năng cứng và mềm.


  • Tôi đã làm việc với những người tuyệt vời, những người dễ hòa đồng và là những lập trình viên xuất sắc
  • Tôi cũng đã từng làm việc với những kẻ bất tài, những người viết mã rất tệ.


Nếu bạn làm việc chăm chỉ và nỗ lực hết mình, bạn có thể vừa là một lập trình viên giỏi vừa là một người tuyệt vời. Nó không phải là một trong hai hoặc tình huống. Theo câu nói bất hủ của Shia LaBeouf, "Cứ làm đi!"