Có cần bằng đại học để làm lập trình? Nhà tuyển dụng nhìn gì

Không có bằng đại học vẫn có thể làm lập trình. Tìm hiểu nhà tuyển dụng thực sự nhìn gì ở ứng viên và cách bù đắp bằng dự án thật để có việc.

12 phút

Đội ngũ bên mình thường nhận được câu hỏi này qua tin nhắn: có cần bằng đại học để học lập trình và đi làm không? Nếu trả lời thật ngắn thì trong nhiều trường hợp là không bắt buộc. Nhưng bằng cấp vẫn có vị trí nhất định trong cuộc chơi, nên bài này chúng mình sẽ đi sâu hơn, dựa trên những gì thấy được khi tham gia tuyển dụng và hướng dẫn người học mỗi ngày.

Không bắt buộc, nhưng bằng cấp không quyết định tất cả

Ở Việt Nam, không ít công ty phần mềm vẫn tuyển người không có bằng công nghệ thông tin. Điều kiện duy nhất là năng lực đạt yêu cầu. Bạn có thể gặp chuyện này ở công ty nhỏ, ở startup, và thỉnh thoảng cả ở vài tập đoàn lớn. Họ muốn biết bạn làm được gì. Tờ giấy bạn đang cầm chỉ là một phần rất nhỏ trong quyết định.

Bằng đại học giúp hồ sơ được đọc kỹ hơn ở vòng đầu. Nhưng nó không bảo đảm bạn vượt qua phỏng vấn kỹ thuật. Người phỏng vấn thường hỏi bạn đã viết được gì, xử lý ra sao khi gặp một đoạn code lạ. Rất hiếm khi họ hỏi bạn tốt nghiệp trường nào. Chúng mình từng ngồi cùng một buổi phỏng vấn, và người được chọn là bạn tự học, vì bạn mang theo một đoạn mã đã chạy thật.

Mỗi loại đơn vị có tiêu chuẩn khác nhau. Công ty lớn thường có quy trình chặt và rõ ràng. Startup linh hoạt hơn, đôi khi một bài test nhỏ là đủ để biết bạn có làm việc được hay không. Outsourcing tuyển khá rộng, nhất là vị trí junior, vì họ cần nguồn nhân lực lớn. Vị trí thực tập gần như chỉ đòi nền tảng cơ bản cùng sự chăm chỉ.

Vì sao nhiều người vẫn tin bằng đại học là điều kiện cứng

Thói quen tuyển dụng ở Việt Nam đi theo khuôn cũ khá lâu. Nhiều bản mô tả công việc vẫn ghi sẵn yêu cầu tốt nghiệp đại học ngành liên quan. Không ít người chỉ đơn giản chép lại từ tin cũ, chưa cân nhắc kỹ xem điều đó có thật sự cần thiết hay không.

Một nguyên nhân khác nằm ở hệ thống sàng lọc hồ sơ tự động, thường gọi là ATS. Phần mềm này quét CV để tìm từ khóa. Nếu CV thiếu những cụm như “Cử nhân” hay tên ngành viết đúng chuẩn, hồ sơ có thể bị loại trước khi có người đọc. Đội ngũ từng gặp không ít bạn tự học rất giỏi nhưng bị loại một cách vô lý, chỉ vì cách trình bày CV chưa phù hợp với bộ lọc.

Vì vậy hãy phân biệt hai chuyện. Một dòng yêu cầu trong tin tuyển dụng khác với một điều kiện thực sự bắt buộc. Nhiều khi đó chỉ là thói quen viết tin, không phải rào cản thật.

Người phỏng vấn thật sự muốn biết điều gì ở bạn

Khi ngồi vào ghế phỏng vấn, đội ngũ thường quan tâm đến bốn điều. Điều đầu tiên là khả năng giải bài toán kỹ thuật. Có thể là bài thuật toán cơ bản, hoặc câu hỏi về cấu trúc dữ liệu như mảng, danh sách liên kết, bảng băm. Bạn không cần thuộc mọi biến thể. Nhưng nên hiểu vì sao chọn cấu trúc này thay vì cấu trúc kia, và chi phí của mỗi lựa chọn nằm ở đâu.

Điều thứ hai là nền tảng. Bạn không cần biết tất cả, nhưng nên hiểu máy tính xử lý dữ liệu thế nào, mạng truyền gói tin ra sao, và hệ điều hành làm gì ở mức đủ dùng. Một lập trình viên thiếu những hiểu biết này sẽ rất vất vả khi phải gỡ lỗi lúc hệ thống gặp sự cố thật, và sự cố thật thì không chờ ai.

Điều thứ ba là thái độ học hỏi. Khi gặp lỗi chưa từng thấy, bạn tìm nguyên nhân bằng cách nào? Đọc tài liệu, thử nghiệm từng bước, hay hỏi cộng đồng? Quan trọng hơn, bạn có kể lại quá trình đó một cách mạch lạc không. Đội ngũ đánh giá cao những ứng viên nói rõ mình đã thử gì, sai ở đâu và sửa ra sao.

Điều cuối cùng là sản phẩm. Người hiểu lý thuyết nhưng chưa từng đưa phần mềm nào chạy được thường khó thuyết phục hơn người có một sản phẩm nhỏ nhưng thật. Đây là yếu tố quyết định nhiều nhất khi người tự học cạnh tranh với người có bằng.

Chúng mình hay nhắc học viên một ý giản dị: bạn có thể không có bằng, nhưng không nên thiếu thứ để chứng minh năng lực của mình.

Bù lại bằng sản phẩm và dự án thật

Với người không có bằng, dự án là thứ có sức nặng nhất. Một ứng dụng chạy được trên mạng nói lên nhiều điều hơn một tờ giấy. Nó cho thấy bạn đã tự xử lý việc cài đặt môi trường, gỡ lỗi lúc nửa đêm và đưa sản phẩm đến tay người dùng thật.

Bạn không cần làm quá nhiều. Hai đến ba dự án đa dạng là đủ. Ví dụ, một ứng dụng web có giao diện để người dùng thao tác, một API xử lý dữ liệu kèm kiểm thử cơ bản, và nếu còn thời gian thì một công cụ nhỏ tự động hóa một việc trong công việc hiện tại. Sự đa dạng này giúp nhà tuyển dụng thấy bạn không chỉ quen một kiểu bài tập.

Đưa mã nguồn lên GitHub và viết README thật rõ: dự án làm gì, chạy thế nào, dùng công nghệ nào, còn hạn chế ở đâu. Nếu có thể, thêm bản demo trực tuyến để người tuyển dụng xem ngay mà không cần cài đặt. Đừng quên ghi lại cách bạn xử lý những lỗi khó nhất, vì đó chính là câu chuyện sẽ được hỏi lại trong buổi phỏng vấn.

Lộ trình học để đạt mức có thể đi làm

Lộ trình không cần phức tạp, nhưng cần đúng thứ tự. Giai đoạn đầu, chọn một ngôn ngữ nền tảng và rèn tư duy lập trình qua các bài tập nhỏ. Nếu muốn theo hướng doanh nghiệp, bạn có thể bắt đầu với Java. Nếu muốn làm web, JavaScript là lựa chọn tự nhiên. Đừng học cả hai cùng lúc khi chưa vững một trong hai.

Giai đoạn thứ hai gồm cấu trúc dữ liệu, cơ sở dữ liệu cơ bản và Git. Git nghe có vẻ khô khan, nhưng gần như đội nhóm nào cũng dùng hằng ngày. Làm quen sớm là lợi thế rõ rệt khi bước vào môi trường làm việc nhóm. Bạn nên tự tạo một repo, commit thường xuyên và thử một lần xử lý xung đột merge.

Giai đoạn cuối là làm dự án thật, tham gia cộng đồng và luyện phỏng vấn. Nếu dành khoảng 15 đến 20 giờ mỗi tuần, nhiều người mất khoảng một năm để đạt nền tảng đủ đi làm ở vị trí junior. Đây chỉ là con số tham khảo, vì tốc độ tiếp thu của mỗi người khác nhau khá nhiều.

Các nhóm ứng viên thường gặp trên thị trường

Theo quan sát của đội ngũ từ việc tuyển dụng và hướng dẫn học viên, ứng viên thường rơi vào ba nhóm. Đây là cảm nhận từ kinh nghiệm thực tế, không phải khảo sát chính thức.

Nhóm đầu tiên là người có bằng công nghệ thông tin. Lợi thế của họ là hồ sơ dễ qua vòng đầu và nền tảng lý thuyết khá vững. Điểm yếu thường gặp là nhiều người thiếu sản phẩm thực tế để chứng minh, nên khi được hỏi về việc đã làm gì, câu trả lời vẫn chỉ dừng ở bài tập trên lớp.

Nhóm thứ hai là người có bằng ngành khác kèm khóa học ngắn hạn. Họ thường có lộ trình rõ và học có định hướng. Tuy vậy, hồ sơ dễ bị bỏ qua nếu trình bày chưa kỹ, đặc biệt khi phần kinh nghiệm cũ không được liên hệ với công việc mới.

Nhóm cuối là tự học có dự án. Họ có sản phẩm thật và động lực học cao. Điểm cần cải thiện là kiến thức đôi khi rời rạc, thiếu hệ thống, nên nên dành thời gian rà lại những mảng nền tảng.

Về tỷ lệ tin tuyển dụng yêu cầu bằng cấp, hiện đội ngũ chưa có số liệu đối chiếu được nguồn cụ thể nên không đưa con số vào bài. Nếu muốn có bức tranh thực tế, bạn có thể tự khảo sát vài chục tin đăng gần nhất ở vị trí mình quan tâm và ghi lại yêu cầu trình độ của từng tin.

Khi nào bằng đại học vẫn thực sự quan trọng

Không phải lúc nào bằng cấp cũng bị bỏ qua. Với các vị trí nghiên cứu chuyên sâu về trí tuệ nhân tạo, hoặc làm việc ở một số cơ quan nhà nước, bằng cấp thường là điều kiện cứng. Bạn nên xác nhận yêu cầu trước khi nộp đơn để khỏi mất thời gian.

Nếu định du học hoặc xin visa làm việc ở nước ngoài, bằng đại học gần như luôn cần thiết. Đây là thủ tục và quy định của từng quốc gia, không liên quan trực tiếp đến năng lực chuyên môn, nên hãy chuẩn bị giấy tờ từ sớm.

Về lâu dài, nếu muốn lên vị trí quản lý kỹ thuật, bằng cấp đôi khi có ích khi trao đổi với cấp trên hoặc đối tác. Tuy vậy, ở vị trí đó, kinh nghiệm thực tế và khả năng dẫn dắt đội nhóm thường quan trọng hơn nhiều.

Câu chuyện từ một người chuyển từ ngành khác sang lập trình

Đội ngũ bên mình từng hướng dẫn một bạn làm kế toán suốt bốn năm, hoàn toàn chưa có nền tảng code. Bạn bắt đầu học JavaScript vào buổi tối, khoảng ba tiếng mỗi ngày trong nửa năm đầu. Tiến độ ban đầu khá chậm vì phải làm quen với cách tư duy mới, và có những tuần bạn gần như muốn bỏ cuộc.

Điều đáng nhớ là bạn không vội nộp hồ sơ. Thay vào đó, bạn làm một ứng dụng quản lý chi tiêu cá nhân, đưa lên mạng, rồi dùng nó làm minh chứng khi viết CV. Chính dự án này giúp bạn có điều cụ thể để kể trong phỏng vấn, thay vì chỉ liệt kê các khóa học đã hoàn thành.

Sau ba tháng ứng tuyển vị trí thực tập, bạn được nhận. Sai lầm lớn nhất trước đó là học quá nhiều khóa cùng lúc mà không hoàn thiện dự án nào. Chúng mình khuyên bạn dừng lại, chọn một dự án duy nhất và làm đến khi chạy được. Đây là bài học mà gần như người mới nào cũng phải trải qua.

Lưu ý khi tự học để không bị loại ở vòng hồ sơ

Với CV của người tự học, nên đặt dự án và kỹ năng lên trước phần học vấn. Nhà tuyển dụng muốn biết bạn đã làm được gì trước khi biết bạn học ở đâu. Một CV mở đầu bằng ba dự án có liên kết chạy thử sẽ gây ấn tượng hơn nhiều so với một dòng ghi tên khóa học.

Đừng gửi cùng một CV cho mọi công ty. Viết lại phần tóm tắt và chọn những dự án liên quan nhất đến từng vị trí. Một thư ứng tuyển cụ thể, nhắc đến công nghệ công ty đang dùng và lý do bạn quan tâm, thường được đọc kỹ hơn hẳn một lá thư chung chung.

Cuối cùng, hãy chuẩn bị cách kể về hành trình học tập một cách tự tin. Nói rõ bạn đã học gì, khó khăn nằm ở đâu và vượt qua thế nào. Người phỏng vấn thường đánh giá cao sự trung thực hơn một lý lịch hoàn hảo nhưng thiếu tự nhiên.

Câu hỏi thường gặp

Không có bằng đại học thì có xin được việc lập trình không?

Có, nhiều người đã làm được. Điều kiện là bạn có sản phẩm thật và vượt qua phần kỹ thuật khi phỏng vấn. Bắt đầu từ vị trí junior hoặc thực tập là lựa chọn hợp lý nhất cho người mới.

Học khóa bootcamp có thay thế được bằng đại học không?

Bootcamp giúp bạn có lộ trình ngắn và định hướng rõ ràng. Tuy nhiên, nó không thay thế hoàn toàn phần nền tảng lý thuyết hay các yêu cầu cứng ở một số công ty. Hãy xem bootcamp là bước khởi đầu tốt, không phải đích đến cuối cùng.

Bao lâu thì có thể đi làm vị trí junior khi tự học?

Thời gian phụ thuộc vào số giờ bạn dành cho việc học mỗi tuần. Với khoảng 15 đến 20 giờ mỗi tuần, nhiều người mất khoảng một năm. Quan trọng hơn cả là chất lượng các dự án bạn đã làm.

Công ty outsourcing có tuyển người không có bằng CNTT không?

Có, và đây là một trong những nơi dễ tiếp cận nhất cho người mới. Họ thường cần số lượng lớn nhân sự và chú trọng năng lực thực tế khi phỏng vấn hơn là bằng cấp.

Nên bắt đầu bằng ngôn ngữ nào nếu muốn chuyển sang lập trình?

Tùy vào mục tiêu nghề nghiệp. Nếu muốn làm web, JavaScript là lựa chọn tự nhiên. Nếu muốn đi theo hướng doanh nghiệp và hệ thống lớn, Java phù hợp hơn. Bạn có thể tham khảo thêm các bài viết về JavaScript và Java trên KungFuTech để chọn hướng đi phù hợp trước khi bắt đầu.

Chuyên mục