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.
Đ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:
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ã.
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:
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:
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.
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.
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.
Đ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.
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.
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!"