¿Cómo evaluaría el perfil de Github de un programador? [cerrado]

54

Muchas personas en la comunidad de código abierto dicen que consideran fuertemente el perfil de Github de un candidato al contratar.

Estoy activo en Github, con algunos proyectos propios y algunas contribuciones a otros. Pero al mirar mi propio perfil como si fuera un empleador, veo mucho ruido: proyectos que cloné pero a los que nunca contribuí, etc. Los proyectos y parches de los que estoy orgulloso no se destacan.

Si evalúa los perfiles de Github de las personas, ¿cómo lo hace? Y como desarrollador, ¿debería hacer algo diferente, por ejemplo, eliminar repositorios clonados en los que no estoy trabajando activamente?

Nathan Long
fuente
1
Me gustaría ver los proyectos que la persona ha iniciado y los de código abierto a los que ha contribuido. El código fuente es evidencia suficiente del diseño, capacidades de codificación. La pasión por trabajar en un proyecto fuera del trabajo diario regular también indicaría su línea de preferencia. Algunos consejos para al menos comenzar a hablar sobre el trabajo.
Abi
3
¿Por qué bifurcar proyectos si no vas a contribuir? Esto parece suceder mucho en GitHub. ¿Es para asegurarse de que el código fuente no desaparezca cuando el autor original decida eliminar el repositorio?
Htbaa
55
@Htbaa: a veces bifurco algo para poder hurgar en el código fuente, pensando que podría contribuir. A veces termino contribuyendo; otros no.
Nathan Long

Respuestas:

51

He utilizado los perfiles de GitHub, las transmisiones de Twitter y los blogs, todos como indicadores de calidad en la programación de entrevistas / selección de candidatos. Todos generan diferentes señales a su manera.

9 de cada 10 solicitantes nunca han enviado un solo parche a un solo proyecto de código abierto. Incluso actualizar la documentación rota lo coloca en un nivel superior de desarrollador. Muestra que está lo suficientemente familiarizado con algún paquete de código abierto para saber qué está mal, le importa lo suficiente como para enviar un parche, y los encargados de ese paquete piensan que su trabajo es lo suficientemente bueno como para ser incluido. Como generalización, muestra que tomas la iniciativa de dejar las cosas sucias mejor de lo que las encontraste.

Suena muy simple, pero nuevamente 9 de cada 10 desarrolladores nunca se molestan en dar este paso tan importante.

Entonces, un solo parche aceptado se ve muy bien. Una larga historia de 2-3 parches simples por trimestre es aún mejor. Incluso mejor que eso sería contribuir con algo notable.

  1. Contribuciones sustanciales a importantes proyectos de código abierto (superior 0.1% -1% de candidatos)
  2. Historial extendido de pequeñas contribuciones a cualquier proyecto (5% superior de candidatos)
  3. Un solo parche de una línea para un paquete relativamente desconocido (10% superior de candidatos)

En la misma nota, los desarrolladores que tuitean sobre beber e ir a ver películas todo el tiempo tienden a hacer contrataciones mediocres. Un flujo de tweets donde cada tercer mensaje trata sobre tecnología apunta al tipo de desarrollador rabioso de perros de chatarrería que se preocupa por su oficio y busca soluciones sin descanso.

Los blogs también son un gran indicador de calidad, pero para el estilo de comunicación en lugar de la destreza técnica. ¿Cuántos programadores se molestan en escribir el artículo número 1 del blog? Aquí se aplica el mismo tipo de límites de 1% / 5% / 10%.

marshally
fuente
55
"Por lo tanto, un solo parche aceptado se ve muy bien. Una larga historia de 2-3 parches simples por trimestre es aún mejor". ¿A dónde va desde el perfil de alguien para ver las solicitudes de extracción aceptadas en proyectos bifurcados?
Nathan Long
Nathan Long, supongo que si vas a los contribuyentes, ¿podrías ver su nombre?
Middun Krishna
Encontré esta pregunta, ya que hicieron la búsqueda más poderosa (no estaba seguro de que fuera posible antes), puede hacer una búsqueda como esta: github.com/…
Garry Shutler
2
"En la misma nota, los desarrolladores que tuitean sobre beber e ir a ver películas todo el tiempo tienden a hacer contrataciones mediocres". Sí, definitivamente no quieres que las personas con un equilibrio saludable entre la vida y el trabajo lo hagan ahora.
cuál es
10

Como desarrollador, no haría nada diferente en la cuenta de Github. No es su problema que la cuenta de Github no se pueda evaluar rápidamente. Y estrictamente hablando, tampoco es un problema de Github: está destinado al desarrollo de software colaborativo, no para evaluar a los desarrolladores.

Debería haber herramientas especiales para la evaluación del usuario, trabajando con datos de Github. Por ahora, puede usar sitios de terceros. Por ejemplo, está http://coderwall.com : un vistazo rápido en el perfil muestra si el desarrollador alguna vez envió un parche, si alguien más bifurcó su proyecto, cuántos idiomas usa ...

Otra opción sería generar automáticamente dicho resumen en su página de inicio utilizando la API de Github: una lista personalizada de proyectos con varios tenedores y observadores, la última vez que se actualizaron, etc.

Lukas Stejskal
fuente
66
"Git no está destinado a evaluar a los desarrolladores". Dígale eso a Andreessen Horowitz, uno acaba de invertir $ 100 millones en GitHub porque " cuando les pregunto a todos qué usan para reclutar ingenieros, y todos usan GitHub ". Solo
digo
8

Tenga cuidado cuando evalúe candidatos según un perfil de GitHub. GitHub no es un CV. Hay muchos grandes ingenieros que no tienen perfiles llamativos, por muchas razones: podrían haber trabajado para empresas de código cerrado o podrían dedicar más tiempo a otras actividades como la familia, los pasatiempos, etc.

Aunque una contribución a un proyecto de código abierto podría ser una ventaja para un candidato (como mencionó @marshally), debe evaluar y contratar a la antigua, hablando.

Algunas referencias con las que me topé justo después de leer este hilo:

defvol
fuente
2
Amén. El tipo que ha bifurcado un centenar de proyectos y ha presentado 1000 parches de documentación rotos no es el tipo que desea contratar, nunca haría nada útil. El único criterio real es el anticuado tiempo para hablar y entender a alguien. No importa cuánto la cultura pop de nuestra industria quiera tratar a los desarrolladores como robots, seguimos siendo personas (bueno, la mayoría de nosotros)
gbjbaanb
1
No solo tiene que tener en cuenta las estadísticas del perfil de GitHub. En realidad, puede mirar el código para determinar si son buenos programadores.
Siyuan Ren
5

Creo que puede hacerlo, solo necesita tomarse un tiempo extra para ver si realmente está activo en Github o no, observando su flujo de actividad.

Puedes ver cómo empuja, problemas, etc., lo cual es un gran indicador de que él está realmente activo y trabajando en algo, en lugar de simplemente perder el tiempo.

Si alguien está buscando evaluarlo, debe mirar su imagen "verdadera", el código malo y también el código bueno. Entrevisté recientemente y el entrevistador me pidió que abriera mi cuenta de github, luego hojeó uno de mis repositorios, echó un vistazo a un código horrible que escribí hace un año en un idioma que estaba aprendiendo.

Entonces, me preguntó, ¿cómo puedes mejorar esto? Respondí todas sus respuestas correctamente, porque sabía cómo mejorar eso, pero realmente no me importó arreglar ese proyecto, porque era solo un proyecto para mí, para aprender.

Lo mismo ocurre con la cuenta stackoverflow.com. Es más obvio en SO ya que tienes reputación, etc.

zengr
fuente
4

Personalmente, no veo el valor de mirar su perfil per se. Como bien dijo, tiende a haber una relación de ruido que es lo suficientemente grande como para que no valga la pena examinarla.

Recientemente solicité y fui exceptuado para mi primer trabajo de desarrollo y pensé que el proceso que usaron fue muy justo. En lugar de preguntar acerca de los perfiles y similares, se concentraron en los proyectos que elegí incluir en mi CV.

En realidad, solo hay algunas cosas que debe obtener de un candidato, las principales son si pueden desarrollarse, si están motivadas y cómo funcionan. Todo esto se puede obtener de una entrevista previa o una primera ronda de conversación, esto se puede hacer por teléfono o 1 hora en la entrevista en el sitio.

La idea es dejar que el candidato hable y descubrir dónde reside su pasión. Descubrí que este estilo más relajado me hizo abrir mucho más que enviar mi perfil para cualquiera de los servicios que uso relacionados con el desarrollo.

Fue agradable no ser lanzado en una entrevista tecnológica primero. Parecía que tenían la actitud correcta de encontrar un buen "equipo" en forma y luego evaluar las habilidades.

DeanMc
fuente
3
Estoy de acuerdo en que el ajuste de personalidad y la pasión son importantes, pero muchas personas han escrito sobre lo difícil que es determinar, como usted dijo, "pueden desarrollarse". Parece ser la sabiduría convencional (al menos, en el mundo de Ruby, donde trabajo) que leer el código de alguien es la mejor manera de ver lo que pueden hacer antes de una entrevista. Para profundizar aún más, los incorporaría y emparejaría un programa con ellos, que le muestra tanto su personalidad como lo bien que resuelven los problemas. Entonces no es uno o el otro. Creo que el perfil de alguien puede ser una herramienta útil; La pregunta, nuevamente, es cómo evaluarlo.
Nathan Long