¿De qué manera contribuir a proyectos de código abierto y hacer que mis propios proyectos vayan en contra de la programación competitiva en un currículum o en una entrevista?

En orden de mérito …

  1. Haciendo tus propios proyectos. Fácilmente el mejor, ya que eres el único autor, es fácil para mí ver lo bueno que eres. Si es un buen proyecto, es casi seguro que está obteniendo el trabajo. Muestra entusiasmo y habilidad, una combinación rara y valiosa.
  2. Contribuciones al código abierto : es más difícil para mí ver cuáles son sus contribuciones … Necesito verificar si fueron aceptadas, ¿no fueron triviales? El proyecto Open Source en sí mismo es muy importante, si se acepta una contribución no trivial para el kernel de Linux, entonces eso es increíble, pero si es solo un pequeño proyecto para estudiantes, a nadie le importa.
  3. Programación competitiva : el último lugar, ni siquiera cerca, debería ser el número 50, no el 3 …

Para ampliar esto, cuando entrevisté a los candidatos, quiero saber que pueden hacer el trabajo , eso es todo. No me importa cómo llegaron a ese punto, la universidad, los autodidactas, lo que sea …

Hacer tus propios proyectos demuestra que puedes hacerlo. Si puedes hacerlo por ti mismo, entonces puedes hacerlo por mí.

Las contribuciones al código abierto indican que puedes hacerlo, pero ¿puedes construir desde cero? Hmm, no estoy tan seguro …

La programación competitiva no prueba que puedas hacer el trabajo. En absoluto. La programación profesional y la programación competitiva apenas están relacionadas, un puntaje alto en el mejor programador no me dice nada sobre su capacidad para construir .

Respaldaría a Miles Fidelman y diría que incluso puede contar en su contra , si ha dedicado tiempo a codificar competiciones, pero no ha construido nada, eso dice cosas muy malas sobre la gestión y las prioridades de su tiempo. asuma que no ha construido nada porque no puede .

Ahora, no quiero ser demasiado duro en los concursos de codificación, si lo haces por diversión, además de crear cosas, entonces, ¿lo haces, pero como alternativa a la construcción de software? No, no hagas eso.

En orden de preferencia:

  1. Haciendo su propio proyecto, con usted como el principal contribuyente y contribuciones significativas de otros
  2. Hacer contribuciones significativas a un proyecto no trivial dirigido por otros
  3. Realizando su propio proyecto, contribuciones menores de otros
  4. Haciendo su propio proyecto, sin contribuciones de otros
  5. Programación competitiva

¿Por qué? Bueno, en las empresas en las que trabajo, las personas no hacen su propio proyecto único con especificaciones bien definidas que no necesitan mantenimiento (programación competitiva).

Las personas escriben cosas para otras personas (como OpenSource que ha sido lo suficientemente popular como para que las personas contribuyan), ¡y sobre todo hacen un trabajo significativo en proyectos preexistentes dirigidos por otras personas! Por lo tanto, poder mirar 100 mil líneas de código y descubrir rápidamente dónde se esconde el error y hacer cambios reales es una buena cosa. Mucho mejor que poder comenzar con una pizarra en blanco y hacer lo suyo.

Eso no quiere decir que la programación competitiva sea mala , si quiero contratar a un corredor de maratón y las dos personas a las que entrevisto no son corredores de maratón, una no hace nada y la otra corre, entonces el chico de la carrera recibe el visto bueno. Puede que no sea maratón, pero es más probable que sea capaz de hacerlo que el tipo que no hace nada.

Mejor aún, el tipo que hace las dos cosas , puede que necesite un corredor de maratón, pero ¿quién sabe cuándo podría necesitar un sprint extraño o dos?

Personalmente, los pesaría mucho más de lo que lo haría con la programación competitiva. Estaría buscando un desarrollador de software, no un programador competitivo. Los conjuntos de habilidades son muy diferentes porque los objetivos son diferentes.

Si ha realizado proyectos completos, comenzando con una idea de algo que desea, ideando una solución para eso e implementando esa solución para producir un producto utilizable, eso demuestra que tiene las habilidades básicas necesarias para un desarrollador. Si ha contribuido a proyectos de código abierto, especialmente aquellos que producen productos útiles, nuevamente, eso también mostrará habilidades útiles.

Publicar aplicaciones móviles o páginas web es mucho mejor que contribuir al código abierto, a menos que el trabajo sea uno en el que la contribución al código abierto sea un componente importante de su trabajo.

La razón: las aplicaciones móviles y las páginas web se pueden verificar muy rápidamente.

Los entrevistadores solo tienen como máximo un minuto o dos para considerar cada CV, antes de pasar al siguiente CV. Nadie va a rastrear sus registros GIT a menos que sea un interés específico para ese trabajo. Lo que funciona es darles algo impresionante que puedan evaluar en los 30 segundos más o menos, quedar profundamente impresionados dentro de los primeros 30 segundos de iniciar su aplicación y poner su CV en la pila de “entrevistas”.

Crear tus propios proyectos que acumulen algunas estrellas en Github es probablemente lo mejor que puedes incluir en tu currículum. Cuantas más estrellas, mejor.

Ganar competencias competitivas de programación probablemente esté a la par de haber aceptado solicitudes de extracción. Si puede compartir el código ganador con su posible empleador y no se ve terrible, eso serían puntos de bonificación adicionales.

Solo bifurcar proyectos y agregar código a ellos viene a continuación. Al menos puedes compartir el código que has escrito realmente.

Simplemente competir pero no ganar (¿o al menos tener un rango fuerte?) Probablemente no lo ayude directamente, aunque la práctica no le hará daño durante la entrevista técnica cuando quieran que resuelva un problema.

La adopción generalizada de un código fuente abierto probablemente cuenta mucho. Con el beneficio adicional de que tiene código, puede presumir. Puntos de bonificación por construir una comunidad / organización que respalde el proyecto.

Obtener puntos en desafíos de codificación inventados, realmente no es particularmente impresionante (al menos para mí). Si estuviera contratando (lo que hago de vez en cuando), la programación competitiva probablemente contaría en su contra; lo vería como evidencia de mal juicio (una pérdida de tiempo y, potencialmente, de talento, que podría aplicarse mejor en otros lugares).

More Interesting

¿Cuáles serán los temas de discusión grupal para una entrevista de MBA?

¿Cómo es el proceso de entrevista de ingeniería de software en Facebook Londres?

¿Cómo es la entrevista de aprendizaje automático en Palantir? ¿Cuáles son los temas, cuán difíciles son las preguntas y qué literatura y otros ejercicios recomendaría para preparar las entrevistas?

¿Puedo usar hindi en la entrevista de ISRO para el puesto de ingeniero?

¿Qué puede hacer si encuentra una mejor solución para una pregunta de entrevista inmediatamente después de que termine la entrevista (Digamos tan pronto como llegue a casa)?

En una entrevista de trabajo, ¿cuál es la mejor información que se puede dar cuando se me pide que les cuente sobre mí?

¿Cuáles son las preguntas que pueden surgir durante el momento de la entrevista en DBMS?

¿Cómo es que me cuesta responder preguntas de entrevistas algorítmicas para las principales empresas de tecnología?

¿En qué se diferencian las entrevistas de la ronda final de consultoría de primer nivel de las primeras rondas?

¿Qué consejo le darías a alguien que tenga una entrevista en 24 horas para prepararse mentalmente?

¿Cómo evaluaría el conocimiento alemán de un candidato para un puesto técnico que requiere una formación lingüística? ¿Cuáles preguntas harías?

¿Qué pasa si un entrevistador pide saltar?

¿Google hace preguntas de diseño del sistema cuando entrevistan a nuevos graduados?

¿Por qué los departamentos de recursos humanos dudan en proporcionar comentarios a los candidatos no seleccionados?

¿Cómo respondo la pregunta, "¿Por qué no intentaste un trabajo en tu propia ingeniería mecánica?" en una entrevista bancaria?