1. Tính tò mò:
Những lập trình viên giỏi không bao giờ chấp nhận những sự việc “như nó vốn có”, họ luôn đào sâu vào các vấn đề, thậm chí ngay cả khi nó có vẻ như hoàn toàn bình thường để tìm tòi, nghiên cứu thêm. Đây chính là cách họ giải quyết các vấn đề ngay trước khi nó có thể gây ra những rắc rối thực sự, và thường thì đó là phương án giải quyết sự cố nhanh nhất. Một lập trình viên mất đi phẩm chất này thường gặp phải tình huống không thể lý giải được họ đang làm gì và tại sao họ lại làm điều đó, cũng tương tự như kiều họ làm việc mà lại đeo một cái bịt mắt vậy. Trừ khi ứng viên đó thực sự là người nhút nhát, bằng không tính tò mò của anh ta sẽ thể hiện rõ ngay trong cuộc phỏng vấn.
2. Kỹ năng suy nghĩ mạch lạc
Rõ ràng là nghề lập trình giống như việc giải một bài toán logic. Việc thực hiện phép tính 2+2=4 là quá đơn giản và hầu như ai cũng có thể làm được. Tuy nhiên để làm bài toán “2+x=4” thì không phải ai cũng có thể suy ra được là x=2. Điều này lý giải tại sao tôi thường ưu tiên những lập trình viên giỏi các môn khoa học tự nhiên và toán. Việc giỏi các môn tự nhiên sẽ giúp họ làm việc tốt hơn, nhưng quan trọng hơn nó thể hiện đây là người có đầu óc tư duy logic tốt. Trong cuộ phỏng vấn, khi bàn luận về công việc, đôi khi tôi cố tình bỏ lửng câu nói của mình và để xem ứng viên có thể “điền” nốt vào chỗ trống hay không. Ngoài ra, nếu trong quá trình tuyển dụng có bao gồm cả những bài test thì đây là cơ hội tốt để kiểm tra kỹ năng này.
3. Kỹ năng đọc nhanh và đọc hiểu tốt
Một chút hiểu nhầm khi nói đến năng suất làm việc của lập trình viên đó là đa phần công việc của một người làm lập trình không phải là ngồi gõ code mà một phần đáng kể thời gian trong một ngày làm việc của họ dành cho việc đọc, từ đọc code do người khác viết, các website với ví dụ, tài liệu cho đến đọc các yêu cầu chi tiết của một project. Những lập trình viên mà khả năng đọc hiểu chậm, hoặc tệ hơn nữa là không hiểu họ đang đọc những gì thì nhẹ nhất là hiệu quả làm việc không cao, nặng nhất là gây ảnh hưởng nghiêm trọng đến dự án. Bạn có thể sẽ không muốn ai đó trong số những nhân viên của mình đọc nhầm yêu cầu chi tiết sau đó mất cả vài tuần để thực hiện yêu cầu nhầm lẫn đó và đẩy bạn vào tình huống khó xử khi phải giải trình sự chậm trễ của project với các nhà tài trợ. Tuy nhiên, cũng không dễ để có thể kiểm tra khả năng đọc của các ứng viên trừ khi bạn cho họ làm thử một bài test trong khi phỏng vấn.
4. Tính tỉ mỉ
Tính tỉ mỉ là bà con gần với tính tò mò. Một lập trình viên thường chú ý đến các chi tiết nhỏ sẽ làm việc hiệu quả hơn những người khác trong những điều kiện làm việc như nhau. Nhưng thật không may là việc đánh giá phẩm chất này thường là rất khó. Tuy nhiên đôi khi trong quá trình phỏng vấn ứng viên lại thể hiện được đức tính này, có thể là thông qua một lời nhận xét rất tự nhiên hoặc một chỉ qua một sự việc rất nhỏ vô tình xảy ra trong khi phỏng vấn.
Ví dụ có lần một ứng viên đã rất tự nhiên nhận xét về cái áo sơ-mi tôi đang mặc và nói rằng anh ta cũng là fan của nhà thiết kế đó. Điều này đã nói lên rất rõ rằng anh ta là một người hết sức tỉ mỉ (cũng như khiếu thời trang của anh ta nữa). Và tất nhiên là những người không có tính tỉ mỉ cẩn thận cũng sẽ thể hiện ngay trong khi phỏng vấn. Những ững viên đến phỏng vấn với cái quần chưa kéo khóa hay vẫn còn dính mẩu giấy vệ sinh dưới gót giày thì rõ ràng không thuộc tuýp người này.
5. Khả năng học hỏi nhanh nhạy
Trừ khi công ty của bạn phát triển những công cụ lập trình, như là trình biên dịch hoặc các IDE (môi trường lập trình tích hợp vào ứng dụng) còn lại các lập trình viên sẽ làm việc với các project bên ngoài phạm vi lập trình. Cũng giống như một nhà báo cần phải hiểu ít nhiều về chủ đề mà họ viết bài và như người giáo viên giỏi cần phải có kiến thức nền vững vàng ở chuyên ngành mà họ dạy, người lập trình viên giỏi cần phải nắm bắt được môi trường làm việc của phần mềm mà họ viết ra. Tất nhiên là bạn không cần phải có bằng kế toán cộng với bằng vi tính để làm việc với các phần mềm kế toán, tuy nhiên một lập trình viên mà không thể hiểu những vấn đề toán học cơ bản và các quy luật kinh doanh liên quan thì rõ ràng là một bất lợi lớn.
Thêm vào đó, tôi sẽ đưa những ứng viên có khả năng nhất đi thăm một vòng quanh công ty và giới thiệu sơ qua với họ về cách thức làm việc của công ty. Những ứng viên đặt ra những câu hỏi thể hiện rằng họ hiều những gì tôi đang nói hoặc những ứng viên tỏ ra nắm bắt được vấn đề sẽ nhận được điểm cộng trong quyết định tuyển dụng cuối cùng.
6. Kỹ năng tự học
Không trường lớp nào có thể đào tạo cho bạn tất cả những thứ bạn cần cho công việc lập trình sau này. Chính vì thế, khả năng tự học qua sách báo, tài liệu, Internet và qua cả mọi người là không thể thiếu. Kết hợp với những dự án làm việc trong thực tế, bạn sẽ dần dần thành thạo những gì mình đã tự học được.
7. Đam mê
Một số lập trình viên được gọi là những tay chuyên làm việc ban ngày, họ có thể ngồi gõ code từ 9AM đến 5PM, từ thứ Hai đến thứ Sáu và sau đó không nghĩ ngợi 1 chút nào về lập trình ngoài khoảng thời gian đó. Điều này cũng tốt thôi bởi lẽ không phải ai cũng có thể là một gã nghiền lập trình đến mức ăn lập trình, ngủ lập trình, thậm chí thở cũng lập trình nữa. Trước đây tôi đã từng thuê những người như vậy để lấp chỗ trống hoặc thực hiện những dự án đã được đinh hướng trước. Nhưng khi tôi cần một lập trình viên hàng đầu (bất kể mức độ kỹ năng và kinh nghiệm) thì tôi cần tuyển ai đó có niềm đam mê với công việc.
Niềm đam mê là một liều thuốc có tính chất quyết định thành công hay thất bại của một project có yêu cầu rất cao kỹ năng và và phương pháp. Suy cho cùng thì những tay chuyên chăm chỉ ban ngày này sẽ không có động lực để học được cách tốt nhất để hoàn thành công việc, thay vì vậy họ vẫn sẽ làm như cách mà họ vẫn đang làm mà thường đó không phải là cách tốt nhất. Những người này cũng khó có thể duy trì được phong độ làm việc của mình mà không được tăng lương và thưởng một cách đều đặn, bởi vì họ làm việc vì tiền, chứ không phải vì công việc. Những ứng viên có niềm đam mê với công việc rõ ràng sẽ thể hiện rất rõ trong buổi phỏng vấn, đó là những người luôn cảm thấy rất hứng khởi mỗi khi bạn nói về các dự án hoặc là những người rất hào hứng khi nói về các dự án mà họ đã thực hiện trong quá khứ.
8. Khả năng thích nghi:
Bạn đã bao giờ hoành thành một project với những thông số kỹ thuật chi tiết giống như khi nó bắt đầu? Tôi cũng chưa từng làm vậy, kể cả với những project nhỏ được hoàn thành trong không đến một ngày. Những lập trình viên không thể kiểm soát thay đổi tốt có lẽ sẽ không thành công lắm trong sự nghiệp, ngoại trừ với những project lê thê mà có thể kéo dài cả năm và thường là các dự án có sự góp mặt của chính phủ. Tất nhiên là tôi không có ý chế nhạo những project như thế này hay các lập trình viên tham gia vào đó. Nhưng đa số các project này đơn giản là không phù hợp do thiếu đi khả năng thích nghi.
Việc các ứng viên có phải là người dế thích nghi hay không hay cũng được thể hiện rất rõ trong cuộc phỏng vấn, nhất là khi bạn hỏi những câu hỏi như “Những yêu cầu có thường xuyên thay đổi không?”. Những ứng viên có câu trả lời là “Chắc chắn rồi, đó là điều thường xảy ra với tất cả các project và đó là một phần của cuộc sống” là người chiến thắng. Còn những người liên tục đảo mắt và nói “Vâng, điều đó giải thích tại sao tôi không thể hoàn thành bất cứ việc gì” có lẽ sẽ không phải là một người phù hợp với đa số môi trường làm việc hiện nay.
9. Kỹ năng giao tiếp tốt
“Kỹ năng giao tiếp” không đồng nghĩa với việc bạn “nói tiếng anh hoàn hảo” mà nó có nghĩa là “bạn có thể truyền đạt được một ý tưởng chính xác và đầy đủ”. Việc sử dụng hình ảnh, âm thanh, động tác của tay cũng là một trong những kỹ năng giao tiếp. Những lập trình viên gặp khó khăn trong việc hiều những gì người khác đang cố gắng nói cho họ biết sẽ không làm việc hiệu quả trong thời gian lâu dài. Khả năng này rất khó có thể được đánh giá chính xác qua cuộc phỏng vấn qua điện thoại, nhưng khi các ứng viên gặp khó khăn trong giao tiếp thậm chí ngay cả trong cuộc phỏng vấn trực tiếp thì bạn có thể chắc chắn rằng anh ta cũng sẽ gặp khó khăn trong công việc.
10. Kiên nhẫn:
Các vấn đề mà các lập trình viên phải giải quyết thường là các vấn đề khó có thể giải quyết ngay lập tức. Nó mất nhiều giờ, nhiều ngày, thậm chí nhiều tháng làm việc một cách cẩn thận để giải quyết, tìm hướng đi. Nhiều khi bạn đi sai hướng lại phải quay lại giải quyết từ phần đã giải quyết đúng và bắt đầu lại.
Không có nhận xét nào:
Đăng nhận xét