Thuê một nhà phát triển cơ sở, tôi nên hỏi gì? [đóng cửa]


56

Chúng tôi hiện đang thuê một nhà phát triển cơ sở để giúp tôi, vì tôi có nhiều dự án hơn tôi hiện có thể quản lý. Tôi chưa bao giờ thuê bất cứ ai không phải là bạn bè hoặc ít nhất là một người quen. Tôi có một cuộc phỏng vấn qua điện thoại với người nộp đơn duy nhất thực sự nổi bật với tôi (trên giấy tờ), nhưng tôi chưa bao giờ làm điều này trước đây.

Các dự án của chúng tôi đều có khả năng mở rộng cao, các ứng dụng web chuyên sâu về dữ liệu xử lý hàng triệu giao dịch mỗi giờ, trên nhiều máy chủ và máy khách. Để cụ thể về ngôn ngữ / ngăn xếp, chúng tôi sử dụng ASP.Net MVC2, WebForms và C # 4, MSSQL 2008 R2, tất cả đều chạy trên Windows Server 2008 R2

Tôi nên hỏi anh ấy điều gì? Tôi nên cấu trúc cuộc gọi như thế nào?


5
Tại sao một nhà phát triển cơ sở và không phải là một cấp cao?
Công việc

10
Giá cả; công ty vừa trở nên có lãi trong quý này ... và cái tôi của tôi rất mong manh;)
Jeremy Boyd

48
Theo nhiều cách, một nhà phát triển "rẻ tiền" có thể tốn kém hơn một nhà phát triển có kinh nghiệm / đắt tiền. Nhận xét bản ngã mong manh là hết sức đáng sợ. Nếu bạn không bao giờ thuê những người thông minh hơn bạn thì bạn luôn là giáo viên và không bao giờ là sinh viên. Bạn sẽ bị bỏ lại trong bụi theo cách đó.
JohnFx

6
Có một số đàn em sai lầm ngoài kia (<3 năm kinh nghiệm nhưng rất nhiều kỹ năng). Tuổi tác có quan trọng không?
James P.

2
Nếu bạn đang tuyển dụng Nhà phát triển Junior, điều đó có nghĩa là bạn không thể đánh giá trải nghiệm của họ. Bởi vì họ không có nhiều kinh nghiệm trong sự nghiệp ngắn ngủi của mình. Mặt khác, bạn có thể đánh giá các kỹ năng lập trình của họ và cũng xem cách họ viết mã. Vì vậy, bước đầu tiên có thể là một số bài kiểm tra kỹ năng, như http://tests4geek.com Ở bước thứ hai, bạn có thể yêu cầu họ viết các chương trình đơn giản tại nhà. Trong trường hợp của bạn, đó có thể là ứng dụng MVC hiển thị danh sách một số dữ liệu bằng JSON và AJAX. Danh sách được làm mới tự động bởi một bộ đếm thời gian để có thể nhìn thấy mục được đăng mà không cần giới thiệu ..
khắc nghiệt

Câu trả lời:


49

Hỏi về những blog công nghệ họ đọc, hỏi những gì ứng viên thấy thú vị trong công nghệ hiện tại và tại sao.

Về cơ bản, đối với một cuộc phỏng vấn qua điện thoại, bạn muốn tìm hiểu xem đây có phải là người nhiệt tình với công nghệ và lập trình và thích tìm hiểu và biết thêm.

Vì đây là một thiếu niên, bạn không thể mong đợi rằng họ biết nhiều chủ đề nâng cao, nhưng bạn muốn chắc chắn rằng họ có thể nghĩ như một lập trình viên - đưa cho họ một vấn đề đơn giản và để họ hướng dẫn bạn cách họ giải quyết nó. Nó sẽ cho bạn cái nhìn sâu sắc về cách họ suy nghĩ và giải quyết vấn đề.


Tôi ước tôi có thể chọn hai câu trả lời, bởi vì cả bạn và Peter K. đều là một kết hợp tuyệt vời.
Jeremy Boyd

5
Câu trả lời này là hạn chế, và nó sẽ làm tổn thương những người chỉ làm theo lời khuyên này. Đối với màn hình điện thoại, hãy làm theo lời khuyên của Steve Yegge về nó . Đối với một người trực tiếp, Có những thách thức về mã hóa và làm theo Hướng dẫn phỏng vấn của Joel's Guerilla . Có một câu hỏi thiết kế - "tất cả các bước cần thiết để làm cho <chèn phần mềm chung, không phổ biến> là gì?" Bạn sẽ thấy rằng bất kể kinh nghiệm, tất cả các nhân viên giỏi đều có câu trả lời tốt, nhanh cho những vấn đề này.
Robert P

Ước gì tôi có thể +3 @RobertP blog từ những người trong ngành như Yegge, Joel và Atwood là những kho báu cho bất cứ ai phỏng vấn hoặc ở bất kỳ vị trí lãnh đạo nào. hoặc bất cứ ai trong ngành thực sự, nhưng đặc biệt là như vậy nếu bạn được định vị để đưa ra hướng dẫn hoặc đánh giá các kỹ sư khác.
Jimmy Hoffa

26

Tôi thực hiện một cách tiếp cận mở cho các cuộc phỏng vấn qua điện thoại, nhưng để đặt một số cấu trúc vào đó, tôi thường yêu cầu người đó nói qua bản lý lịch mà họ đã nộp. Thông thường, cách họ đi qua sơ yếu lý lịch của họ sẽ gợi ra những câu hỏi khác và bạn sẽ hiểu rõ hơn về những gì họ đang như thế nào.

Một điều khác cần suy nghĩ trong cuộc phỏng vấn qua điện thoại là hỏi: Tôi có thể làm việc với người này không? Họ có nghị lực không? Làm phiền? Tóm lược?


20

Mã với họ.

Bạn chắc chắn nên làm những công việc phỏng vấn thông thường. Nhưng tôi không thuê bất cứ ai mà không thực hiện một phiên lập trình cặp với họ.

Cách tiếp cận của tôi: Tôi sẽ mất 2-3 giờ và một vấn đề về đồ chơi (ví dụ: "Hãy xây dựng Twitter v 0.1" cho một nhà phát triển toàn bộ hoặc "Hãy thực hiện Danh sách từ nguyên thủy" cho một người ở phía sau). Chúng ta sẽ ngồi xuống cùng một máy tính và chúng ta sẽ thảo luận cách giải quyết nó. Tôi sẽ viết bài kiểm tra đơn vị đầu tiên và nói, "hãy vượt qua". Có lẽ tôi sẽ viết một vài bài kiểm tra tiếp theo để giúp họ đi. Và sau đó tôi thường để chúng chạy, thỉnh thoảng nhảy vào. Khi chúng tôi xuống thấp về thời gian, tôi sẽ ngăn họ lại và hỏi họ sẽ mang nó đi đâu tiếp theo, và họ muốn làm gì trước khi đẩy nó ra.

Những điều tôi tìm kiếm:

  • Họ có thể hợp tác tốt không?
  • Họ có hiểu những điều cơ bản không?
  • Họ có thể chia nhỏ một vấn đề thành nhiều phần không?
  • Họ có coi trọng mã sạch không?
  • Họ có bắt được lỗi của họ không?
  • Họ có cố nhảm nhí khi họ không biết gì không?
  • Họ có thích mã hóa không?

17
Tôi thực sự nghi ngờ một Junior sẽ làm tốt trong một phiên lập trình cặp với thời trang theo phong cách TDD, hoặc thậm chí các bài kiểm tra đơn vị nói chung.
Martin Blore

3
Phụ thuộc vào nền tảng của lập trình viên cơ sở. Tôi mới thuê một tuần trước, người tuyệt vời với nó. Tuy nhiên, rộng hơn, đó là một phần của những gì tôi đang cố gắng tìm hiểu khi phỏng vấn. Nếu họ không giỏi trong phần kiểm tra, thì tôi sẽ tự viết bài kiểm tra hoặc để họ tính phí trước mà không cần kiểm tra. Dù bằng cách nào, hãy cho tôi thấy điểm mạnh và điểm yếu của họ là gì.
William Pietri

2
Tôi không muốn làm điều này bây giờ, sau 10 năm kinh nghiệm, không bận tâm khi tôi còn là một thiếu niên. Một suy nghĩ kinh khủng!
AnthonyBlake

3
Tôi sẽ coi mình là một lập trình viên cơ sở và sẽ hoan nghênh cách tiếp cận này để cho thấy cách thức và những gì tôi có thể làm. Tôi thường xuyên gặp các câu hỏi yêu cầu định nghĩa hoàn hảo từ điển mà ít quan tâm đến việc sử dụng và thực hiện tổng thể của chúng. Bạn có muốn trích dẫn một danh sách ghi nhớ về việc sử dụng statictừ khóa trên Wikipedia hoặc chỉ ra cách tôi có thể sử dụng nó trong ngữ cảnh khả thi và có thể áp dụng?
amcc

7

What's your Stack Overflow account name?

Một trong những cách tốt nhất để biết mã của ai đó sẽ trông như thế nào là nhìn tận mắt. Một trong những cách tốt nhất để làm điều đó là thông qua SO.

Nếu không, các câu hỏi tiêu chuẩn được áp dụng. Hỏi về những tình huống khó khăn và cách họ vượt qua chúng. Hỏi về những ngôn ngữ mới mà họ đang học hoặc nghĩ về việc học, và tại sao. Hỏi họ sử dụng IDE nào và tại sao họ chọn nó? Kiểm soát nguồn nào?

Bạn có thể học được rất nhiều bằng cách hỏi những câu hỏi kết thúc mở có thể không liên quan đến một dự án cụ thể, nhưng thay vào đó sẽ cho phép họ giải quyết với bạn quá trình suy nghĩ của họ.


Tốt hơn nên yêu cầu tài khoản github của họ, mặc dù họ có thể đã chia sẻ thông tin đó nếu họ có tài khoản.
Công việc

7
Lần này tôi đã đăng nhập vào SO và nhận ra 90% những người ở đó chỉ quan tâm đến việc phát triển web ... sau đó tôi đã rời đi ... rất nhiều cho đại diện của mình.
Pemdas

3
Trong khi điều này có thể hoạt động, nó không nhất thiết phải chính xác. Người ta có thể nỗ lực đáng kể trong công việc được trả lương của họ hơn là trong những lời khuyên thông thường đã đóng góp.
NoChance

5
Đối với giá trị của nó, một số nhà phát triển tốt nhất tại công ty của tôi không có tài khoản SO hoặc có danh tiếng <100. Tất nhiên, thật tuyệt nếu họ có tài khoản có đại diện cao, nhưng bạn không thể đọc nhiều vào họ không có một cái cao
Jeremy Wiggins

Trên thực tế, nếu ứng viên có phần hoạt động trên SO (hoặc đôi khi họ đã hoạt động trong quá khứ), bạn có thể sẽ tìm thấy liên kết đến nó trong CV của họ. Mặt khác, người phỏng vấn hiếm khi có thời gian để xem xét một cái gì đó như thế này. Mà trong một số trường hợp có thể tốt cho bạn, vì tôi chẳng hạn, tôi không tự hào về mọi câu hỏi / câu trả lời mà tôi đã đăng trên SO.
Radu Murzea

6

Một điều tôi không thấy ở đây trong bài đọc nhanh của mình là cần phải hỏi họ về:

1 - Sẵn sàng học hỏi

2 - Khả năng tự dạy so với đào tạo chính quy

3 - Ví dụ về một cái gì đó họ đã tự học trong quá khứ

4 - Một ví dụ về các khu vực họ không thoải mái

5 - Câu hỏi cấp cao chung như "nếu bạn được giao nhiệm vụ xây dựng một ứng dụng web về ... những nhiệm vụ nào cần phải xảy ra và ai nên thực hiện chúng" - Điều này sẽ cho bạn biết về kiến ​​thức hiện tại của họ về quá trình phát triển - Nó không cần phải chính xác, nhưng ít nhất bạn sẽ biết được quan điểm của họ như ngày nay.


4

Nói chuyện với tôi qua một dự án bạn đã làm trong quá khứ

  • Mô tả kiến ​​trúc tổng thể của dự án. Cấp cao là ổn.
  • Những gì bạn thích về dự án.
  • Điều gì bạn không thích về dự án.
  • Điều gì mà, nhìn nhận lại, bạn sẽ làm khác đi?

Đây là một câu hỏi tuyệt vời cho các cuộc phỏng vấn theo ý kiến ​​của tôi, điện thoại hoặc cách khác. Nếu họ có thể nói một cách thông minh về một dự án mà họ đã thực hiện, rất có thể họ sẽ "hiểu được". Bạn đang thuê một nhà phát triển cấp cơ sở, vì vậy điều quan trọng là họ chưa phải là chuyên gia, nhưng ít nhất họ nên hiểu rõ về lĩnh vực của họ đủ để nói về nó. Thông thường những người bạn sẽ muốn thuê sẽ không gặp khó khăn khi chạy với điều này, trong khi những người bạn có thể muốn tránh xa sẽ trả lời trong một vài câu hoặc ít hơn.

Bạn làm gì để duy trì hiện tại?

  • Bạn đọc blog nào?
  • Những cuốn sách bạn đã đọc / bạn đang đọc?
  • Còn gì nữa không?

Trong một ngành công nghiệp luôn thay đổi liên tục, tôi nghĩ điều quan trọng đối với họ là luôn hiện hành. Đây không phải là câu hỏi quan trọng nhất tôi hỏi trong một cuộc phỏng vấn, nhưng nếu họ không thể đưa ra bất cứ điều gì để nói, thì đó không phải là một dấu hiệu tuyệt vời.

Hãy cho tôi biết bạn sẽ viết một lớp Xe đạp như thế nào

Có thể là một câu hỏi tốt hơn cho một cuộc phỏng vấn trực tiếp để họ thực sự có thể viết một số mã giả, nhưng tôi nghĩ nó cũng có thể hoạt động cho một cuộc phỏng vấn qua điện thoại ... Mô tả một chiếc xe đạp (nó có tay cầm, bánh xe, v.v. ) và yêu cầu họ mô tả cách họ sẽ mô hình hóa các lớp. Không có gì đột phá ở đây, nhưng nếu họ đấu tranh với câu hỏi này, có khả năng họ vẫn còn quá trẻ để trở thành một tài sản.


2

Có rất nhiều lời khuyên phỏng vấn hay đã được viết, nhưng tôi không nghĩ bạn có thể điền vào vị trí này cho đến khi bạn biết chính xác những gì họ sẽ làm trên cơ sở hàng ngày. Nếu suy nghĩ đầu tiên của bạn là "Bất cứ điều gì tôi cần họ làm." chỉ dừng lại Tìm một đoạn mã cụ thể để họ xem xét. Chọn mã tốt nhất và xấu nhất để họ xem và xem họ có biết sự khác biệt không. Cung cấp cho họ các khu vực để làm việc cho một dự án nhanh đầu tiên có thể đã bị bỏ qua.

Hy vọng rằng bạn đã thuê được lập trình viên giỏi nhất, nhưng mọi người đều có những lĩnh vực họ giỏi hơn / nhiều kinh nghiệm hơn những người khác. Tận dụng nó và xác định vai trò của họ cho phù hợp.

Oh, và thuê một người có lịch sử hoàn thành công việc.


0

Khi bạn đang thảo luận trực tiếp với nhà phát triển, bạn có thể biết anh ta và sau đó kiểm tra xem họ có trung thực với bạn không.

Để làm như vậy, bạn có thể hỏi anh ấy câu hỏi sau để biết anh ấy thực sự trung thực như thế nào

  1. Nếu họ đã thực hiện bất kỳ chứng chỉ nào, như kiểm tra Chứng nhận của Microsoft với họ để biết liệu họ có thực sự nghiên cứu về nó và xóa nó không.

  2. Một số nhà phát triển cơ sở đã thực hiện các dự án năm cuối của họ, sẽ không tự mình thực hiện dự án, tức là bạn bè của họ phải thực hiện nó cho họ, v.v.

Thành thật đóng một vai trò rất quan trọng, khi nhà phát triển cơ sở được giao phó các dự án bí mật.

Nếu bạn cảm thấy bạn có thể tin tưởng họ, thì bạn có thể đưa ra một câu hỏi về những công nghệ mà họ đang được tuyển dụng theo sau là một văn bản thực tế với một số tình huống để kiểm tra xem họ có khả năng logic hay không để kiểm tra xem họ có liên lạc trong lập trình hay không.


1
giả sử điều tồi tệ nhất của con người?
tp1

+1 cho giả định. @ tp1 Giữ tất cả các tùy chọn mở. : D
Karthik Sreenivasan

0

Giám đốc điều hành của Sandglaz, Nada Aldahleh gần đây đã viết một bài đăng trên blog về điều này, dựa trên kinh nghiệm của chính cô ấy về việc thuê các nhà phát triển cho khởi nghiệp của mình. Đây là một số trong những điều cô ấy tìm kiếm:

  • giải quyết vấn đề
  • kĩ năng giao tiếp tốt
  • đặt câu hỏi về kiến ​​trúc và thuật toán; một nhà phát triển cơ sở sẽ có thể kiến ​​trúc các tính năng nhỏ mới và các câu hỏi thuật toán có thể nói về tư duy giải quyết vấn đề và loại nền tảng họ có
  • câu đố để cô lập kỹ năng phân tích

Và, tất nhiên, bài kiểm tra lập trình, không nên bao gồm câu hỏi Fizz Buzz. Một nhiệm vụ thực tế có thể được hoàn thành trong vài giờ tại văn phòng của bạn sẽ là loại thử nghiệm tốt nhất.

Bạn có thể đọc thêm lời khuyên của cô ấy ở đây: http://blog.sandglaz.com/how-to-interview-and-hire-junior-developers/

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.