¿Por qué se 'espera' que los desarrolladores de software trabajen en sus propios proyectos en su tiempo libre?

He estado trabajando en el desarrollo de software durante los últimos cinco años y he tenido varios trabajos durante este tiempo, la mayoría de ellos han sido contratos de duración determinada, pero también he tenido un puesto permanente y he trabajado por cuenta propia durante unos meses (con un par de clientes).

Terminé mi contrato más reciente hace unas semanas y comencé a entrevistarme para varios otros trabajos.

Algo que he notado a lo largo de los años cuando asisto a entrevistas, es que a menudo me preguntan si tengo alguno de mis propios proyectos del que pueda hablar, y la pregunta a menudo se hace con la expectativa de que me lanzaré a un descripción detallada de alguna aplicación que he desarrollado en mi propio tiempo.

Aunque disfruto lo que hago, principalmente porque me gusta la lógica y la resolución de problemas, no tiendo a desarrollar software en mi tiempo libre, principalmente porque tengo otros intereses que ocupan la mayor parte de mi tiempo libre fuera del trabajo (deportes). , trabajo juvenil, otro trabajo voluntario, socialización, etc.). Me parece que, si bien disfruto de la lógica y la resolución de problemas que hago como desarrollador de software, no tengo ningún interés en hacerlo fuera de mi horario de oficina; prefiero tomarme un descanso y hacer una de las cosas que he enumerado. arriba, o simplemente relajarse.

Dicho esto, sé que muchas personas que trabajan en el desarrollo de software disfrutan haciéndolo en su tiempo libre y en el trabajo, pero mi pregunta es, ¿por qué se ha vuelto casi esperado que un desarrollador de software trabaje en sus propios proyectos? en su propio tiempo? No puedo pensar en muchas otras profesiones en las que se 'espera' que alguien haga lo que le pagan por hacer también para su propio tiempo libre.

Entiendo que podría hacer que un candidato se destaque más si tiene un trabajo impresionante que haya hecho en su propio tiempo, pero si estuviera en la posición de contratar a un desarrollador de software, creo que valoraría a alguien que disfruta de otros pasatiempos e intereses también, ya que probablemente significa que será una persona más completa.

Cuando me han hecho esta pregunta en una entrevista, la he respondido de la forma en que he dado mi razón para no hacerlo arriba. Diría que las respuestas que he tenido a esta respuesta en la entrevista son generalmente 60/40, es decir, algunos entrevistadores parecen apreciar mi punto de vista, pero la mayoría no parece demasiado impresionada. Tengo la impresión de que están esperando. haber trabajado en mis propios proyectos fuera de mi trabajo por cuenta ajena.

Recientemente, incluso me rechazaron una solicitud porque no tenía ninguno de mis propios proyectos que pudiera mostrar a la empresa publicado en GitHub. Esto no figuraba como un requisito en el anuncio de trabajo, pero después de presentar la solicitud, recibí una llamada de alguien de la empresa que me pedía el enlace a mi perfil de GitHub, que proporcioné, pero mencioné que no tenía ninguno de mis mis propios proyectos allí, y que todo el trabajo en el que había contribuido en GitHub era propietario y propiedad de empleadores anteriores, por lo que no podría mostrarles el código fuente.

Entonces, ¿por qué parece aceptarse que se espera que los desarrolladores de software trabajen o hayan trabajado en sus propios proyectos fuera de su empleo?

Los comentarios no son para una discusión extensa; esta conversación se ha movido a chat .
Esta no parece una pregunta productiva para este sitio. Tal vez podría replantearlo como un problema a resolver. ¿Realmente estás preguntando cómo manejar las preguntas durante las entrevistas? Una discusión abierta que especula sobre las expectativas de la gente/los estereotipos de los programadores no es apropiada aquí. Votar para cerrar según la opinión.
Tiendo a asumir lo peor para este tipo de expectativas de los empleadores, pero un análogo interesante para enmarcarlo podría ser si los empleadores para roles en la construcción están interesados ​​​​en los tipos de trabajo relacionados que ha realizado usted mismo y la calidad de ese trabajo.
Por lo general, esto es para que el entrevistado hable sobre algo que le apasiona para que se olvide del entorno de la entrevista.
No puedo hablar por todos los empleadores, pero para mí, los proyectos paralelos no solo significan código. Un proyecto paralelo muestra curiosidad y exploración. Algunos ejemplos recientes: un candidato que hizo tráileres de video como proyecto paralelo, uno que estaba explorando la construcción de jardineras, otro que trabajó en su mini cooper clásico para presentaciones itinerantes. Esto muestra curiosidad, pasión por hacer y la capacidad de salir de la mentalidad de la empresa para recargar (incluso si esa actividad es similar).
@JoelEtherton Acepto su punto, pero como he mencionado, las preguntas de los entrevistadores no han sido sobre proyectos paralelos en general, sino específicamente sobre proyectos paralelos de 'código'. Si trabajo en codificación y hago proyectos secundarios de código, eso no es realmente 'salir de la mentalidad de la empresa' para mí, es hacer más de lo mismo, incluso si mi proyecto paralelo no tiene ninguna relación con la industria de la empresa. Yo diría que estar involucrado regularmente en varios deportes y trabajo voluntario muestra más 'pasión por hacer' y 'capacidad para salir de la mentalidad de la empresa' en general que hacer más de lo mismo...

Respuestas (19)

La visión negativa es que quieren que seas tan adicto a crear cosas, que trabajes 80 horas a la semana para ellos sin tener en cuenta tu salud y bienestar.

Una opinión positiva es que quieren ver ejemplos de códigos y no saben cómo pedir algunos

Los empleadores quieren ver pasión e impulso. Algunas empresas llaman a esas cosas cualidades de liderazgo.

Alguien que es apasionado, debe ser apasionado por cualquier cosa que se proponga. Así que estar bien redondeado es una ventaja.

Cuidado con las empresas que quieren exprimirte todo lo que vales hasta que no seas más que un limón vaciado. Hay muchos de ellos por ahí.

En realidad, si trabajas 80 horas a la semana para la empresa, es probable que tampoco tengas tiempo (o ganas) de programar en tu tiempo libre.
@PaŭloEbermann Creo que te perdiste el punto. En el punto de vista negativo, a la compañía no le importará menos que tengas tiempo libre para codificar; simplemente quieren ver que amas tanto codificar que lo haces también en tu tiempo libre, por lo que es más probable que obtengas adicto a la carga de trabajo que te dan. Una vez que lo contratan, su objetivo es volverlo tan adicto a su proyecto que quiera tener tiempo (o deseo) para hacer su propio proyecto.
No veo la correlación entre un empleador que pregunta sobre proyectos paralelos y espera que trabajes 80 horas a la semana sin tener en cuenta tu salud. ¿Podría explicar la correlación?
@ESR Las personas que programan fuera del trabajo generalmente tienen una gran pasión por la programación y la encuentran recreativa. ¿Por qué otra razón lo harían en su tiempo libre? Alguien que pasa 3 horas al día después del trabajo programando tiene más probabilidades de trabajar horas extras que alguien que no lo hace.
@Ralt Al menos para mí, la codificación para el trabajo es algo completamente diferente a la codificación para mis propios proyectos, y hacer esto último no afecta mi opinión sobre las horas extra para el trabajo.
"Cuidado con las empresas que quieren exprimirte todo lo que vales hasta que no seas más que un limón vaciado". ¿Eres, acaso, fanático de Led Zeppelin ? (Te estoy mirando, verso 5 ;-)
FWIW, mi empresa le pide explícitamente que haga un ejercicio de código y nos lo muestre para que podamos ver su código. Es casi imposible juzgar la calidad de un programador sin ver su trabajo. Creo que tu comentario sobre “no saben preguntar” es acertado.
La ironía en el caso positivo es que el empleador te pedirá que firmes un contrato que se hace cargo de cualquier proyecto paralelo que desarrolles mientras trabajas para ellos, lo que te impedirá dar muestras de código a menos que vivas en un lugar ilustrado con leyes que invaliden tal cláusulas.
Están confundiendo correlación con causalidad. Muchos grandes programadores tienen proyectos paralelos interesantes que les apasionan. Por lo tanto, suponen, pueden medir la grandeza de los programadores buscando proyectos paralelos. Las empresas (RRHH en particular) buscan constantemente 'banderas' que puedan reducir la subjetividad inherente (toma de decisiones humana) en el proceso de contratación.
@BrevanEllefsen Creo que es un caso raro esperar que alguien sea tan adicto a la codificación de su trabajo diario como lo es con sus proyectos paralelos.
Podría valer la pena agregarlo como una mejora a su respuesta: hay una serie de otros trabajos que también hacen esto. ¿Te imaginas contratar a un artista sin ver muestras de su trabajo, o un portafolio?
Otro punto de vista neutral es que en realidad no les importa ni lo uno ni lo otro y están tratando de ver qué tan sociable eres con el entrevistador, quien puede terminar convirtiéndose en el supervisor directo o compañero de trabajo.
Algunas empresas llaman a esas cosas cualidades de liderazgo. ¿Estás de acuerdo en que son esas cualidades Eddie?
No vería a un desarrollador que pasa gran parte de su tiempo no laboral desarrollando proyectos paralelos como un líder potencial. Pueden ser grandes codificadores, pero hay muchos ejemplos de personas que son excelentes en algún tipo de habilidad y que son pobres para liderar a otros en esa habilidad; por ejemplo, los atletas superestrellas en los deportes de equipo suelen ser malos entrenadores en jefe la mayoría de las veces.
Si no le pagan horas extras, nunca está bien trabajar horas extras a menos que personalmente desee cumplir con algo.
Employers want to see passion and drive.Yo diría que también queremos ver curiosidad y agallas. Explorar diferentes cosas y luego ver proyectos paralelos hasta el final. Para las empresas que exigen ver proyectos de codificación secundarios, probablemente quieran algo más.
La premisa es que el entrevistador está preguntando sobre proyectos paralelos . Estos, por definición, no son para un empleador, por lo que no se puede dar a entender que están solicitando el propósito de encontrar a alguien que trabaje para ellos una cantidad excesiva de horas.
@GreenMatt Mayormente cierto, pero alguien podría estar desarrollando un proyecto paralelo como líder de dicho proyecto (por ejemplo, Guido van Rossum, es cierto que no es del todo "lateral" en su caso; probablemente).
Conozco a un tipo que escribió un juego de plataformas en ensamblaje, lo escribió en un cartucho de una vieja consola de los 90 o algo así y jugó con un controlador que él mismo diseñó y soldó desde cero (solo tenía que enviar su diseño de placa PCB para ser grabado a una empresa de terceros). Hay gente por ahí que REALMENTE les apasiona la programación.

Como ya se ha mencionado en otras respuestas, esta es una ruta para poder proporcionar muestras de código sin restricciones para el candidato (sin NDA ni nada de qué preocuparse).

Sin embargo, el factor más importante es que las empresas lo esperan simplemente porque suele ser el caso. Aquellos que se convierten en desarrolladores de software profesionales a menudo comienzan como aficionados y conservan la afición a medida que crecen. Y dado que las personas generalmente no tienen pasatiempos que odian (¡al menos ese no es exactamente el Plan A!) y las personas que disfrutan haciendo lo que implica su trabajo tienen menos probabilidades de estar medio revisadas y mirando el reloj todo el día.

Personalmente, en 15 años de trabajo como desarrollador, con bastantes de ellos dedicados a administrar y contratar a otros desarrolladores, nunca he visto ningún indicador fuerte de que aquellos que tienen sus "propios" proyectos son "mejores" trabajadores que aquellos que no los tienen. .

Por cada desarrollador que ama tanto escribir cualquier código que pasa 12 horas al día en la oficina trabajando en cosas de la empresa hasta que el equipo de limpieza lo echa, hay otro que no puede esperar para llegar a casa y trabajar en lo que quiere . en lugar de lo que sea que la compañía les pidió que hicieran ese día, ¡y ese no es alguien que está trayendo su juego A a la oficina!

Por supuesto, la forma en que funciona la búsqueda de empleo ha significado que ahora muchos desarrolladores hagan proyectos externos más por el CV que por diversión. Lo que, por supuesto, solo refuerza la "necesidad" de tener proyectos externos que pueda adoptar en el momento de la entrevista. Lo que, por supuesto, le da la mala savia detrás de la puerta n. ° 3: que realmente no quiere estar haciendo proyectos personales durante horas todas las noches / fines de semana, ¡pero teme no ser contratado si no lo hace!

Cue They Write The Right Stuff , que describe al equipo con uno de los mejores registros (en cuanto a errores) del mundo: el equipo de Lockheed Martin que trabaja en el software de vuelo de cohetes. Composición del equipo: hombres y mujeres de mediana edad que trabajan de 9 a 5, con familias en casa. El desarrollo profesional y el de aficionado son MUY diferentes.
Por lo general, descubrí que las personas que trabajan 12 horas a lo largo del tiempo conducen a un código menos elaborado y a más errores. Trabajar muchas horas no equivale a 'llevar su juego A'
Archivo bajo YMMV: Conociéndome a mí mismo, solo tengo una cierta cantidad de creatividad en mí, entre dos sueños --- Si gasto esta creatividad en mis proyectos de pasatiempos en la noche o temprano en la mañana, no la uso en el trabajo ese día. Porque incluso mientras está lejos de la computadora, un proceso en segundo plano que consume muchos recursos está desconcertando los problemas abiertos. Así que cualquier proyecto de pasatiempo es testimonio de trabajos insatisfactorios, para mí ... pero de todos modos no tengo habilidades de codificación de Death March. Por lo tanto (inesperadamente o no), la falta de programación de pasatiempos puede o no decirle al entrevistador lo que quiere escuchar: ¡Hazlo a tu manera!
@MatthieuM. Me pregunto cuántas pruebas automatizadas tienen y cuánto tarda su corredor de prueba.
@Strikegently: Bueno, probablemente tengan una excelente cobertura de prueba; sin embargo, si lee el artículo, notará que también dedican mucho tiempo a las especificaciones y las profundizan, como equipo, hasta que esperan haber cubierto todos los ángulos. También son mucho más diligentes que el promedio en la búsqueda de errores: no se trata de encontrar un error y aplastarlo; es encontrar un error, comprender por qué el proceso permitió que el error llegara allí, buscar todos los posibles errores que esto podría haber permitido, arreglar el proceso, arreglar el software, etc. Por supuesto, esto también significa que el costo es prohibitivo; )
@Matthieu Artículo anterior, pero ¿ha mirado cuánto más gasta la NASA en una sola línea de código (ciertamente un mal punto de referencia, pero da una idea) de Lockheed Martin en comparación con lo que una empresa comercial generalmente está dispuesta o puede pagar? (Además, con varias empresas privadas comenzando a robar el almuerzo de la NASA y sus contratistas debido a los costos masivos, toda la visión optimista podría haberse reducido un poco ahora). Ciertamente hay algo que sacar de la idea, pero ningún software comercial para el mercado masivo podría ser producido rentable de esa manera.
@Voo: Yo tengo. En realidad, se estima en el artículo, y mi último comentario mencionó que el costo estaba prohibido. Aún así, es interesante para mí que el software de la más alta calidad sea creado por padres y madres de mediana edad en un trabajo de 5 a 9. Hace mella en una serie de mitos.
@MatthieuM. Puede ser de la más alta calidad, pero la calidad es solo uno de los factores que conoce. ¿Podrían las mismas personas implementar una revisión mientras la empresa pierde dinero cada minuto? ¿Podrían cumplir con una fecha límite cuando no tienen requisitos claros? Hay muchas caras en el desarrollo de software profesional.
@ user3445853 Me parece exactamente lo contrario: resolver diferentes problemas en casa me hace más productivo en el trabajo. Es algo así como "las mejores ideas las sacas en la ducha". Cuando estás atascado o necesitas inspiración para el trabajo, es muy útil hacer otra cosa por un tiempo. Y, por supuesto, el argumento de la creatividad excluiría cualquier actividad de tiempo libre que requiera creatividad, no solo la codificación en el hogar. Eso suena como una vida terriblemente aburrida: D no haría un trabajo que me obligara a no escribir, pintar, construir, escribir canciones...
@MatthieuM. Además de lo que otros ya han dicho, también es un poco exagerado seguir diciendo cosas como "el software de la más alta calidad es creado por...". Ninguno de nosotros sabe si es de la más alta calidad. Siempre y cuando no me digan "Simplemente apresúrelo por la puerta lo más rápido que pueda", tiendo a escribir software que llama mucho la atención por lo libre de errores y estable que es, y si tengo tanto tiempo como Quiero, también está bien documentado y mantenible. Y la mayoría de los mejores que conozco son autodidactas que tienen (o tendrían si no fuera por la familia) proyectos paralelos. (Y los que usted cita pueden tener también)
@Luaan Tal vez estemos de acuerdo: estaba pensando solo en la creatividad relacionada con la programación. De hecho, juguetear por la noche con la carpintería me ha dado avances de tipo "ducha". Pero ese era mi punto: más programación por la noche preferiría evitar que eso sucediera, creo que es porque en el fondo mi cerebro hackeó el 'trabajo diurno' durante los ajustes en mi cobertizo.
@ user3445853 Para mí, incluso la programación funciona, pero por lo general es muy diferente de lo que hago en el trabajo, por supuesto. Por ejemplo, he estado jugando con un motor 3D renderizado por software (estilo 3D de Duke); es tan completamente diferente de lo que hago en el trabajo que realmente no entra en conflicto, y me ayuda a actualizar un estilo diferente (y disfrutar ) de codificación. El campo es bastante amplio: puedes hacer mesas todo el día en el trabajo y aún disfrutar haciendo marionetas de madera en casa :)

Hablando como un ingeniero de SW de I+D que también recluta y entrevista a SW (y que hace exactamente esa pregunta)...

  1. SW a menudo implica niveles absurdos de complejidad y entrenamiento. Quiero contratar a alguien que sea productivo durante años o décadas. Si SW es ​​solo un trampolín para ingresar a la empresa y luego irse a ventas (un ejemplo de RL), entonces todo el tiempo dedicado a capacitarlo y toda la información heredada específica de SW que tiene se pierde y mi tiempo se desperdicia.

  2. Del mismo modo, la vida es demasiado corta para hacer algo que odias (o incluso no te gusta), he visto a muchas personas quemarse después de cinco o diez años.

  3. La experiencia importa. Si eres un estudiante de tercer año en la universidad, entonces tienes X cantidad de exposición de la universidad. Si ha estado haciendo esto desde la escuela secundaria, entonces tiene X+Y. Si has estado haciendo esto desde la escuela secundaria y también lo haces como pasatiempo, entonces es X+Y+Z.

  4. La diferencia de productividad entre una buena persona SW y una mala persona SW es ​​como 10x o más. Cuál eres es difícil de descifrar durante una entrevista. El trabajo de clase es inútil para mí por múltiples razones. Los pasatiempos son a menudo meses o años de trabajo (el trabajo de clase suele ser de semanas) y dan una mejor idea de los logros.

  5. A la gente le gusta hablar de sus aficiones, es una forma de relacionarse y relajarse.

  6. Tiendo a tratar todas las entrevistas de la misma manera, hago muchas de los estudiantes. Muchos/la mayoría de los estudiantes tienen currículums horribles. Tendrán toneladas de experiencia útil en FIRST Robotics Competition y la dejarán fuera de su currículum porque no les pagaron, y en su lugar hablarán sobre su trabajo de salario mínimo cortando el césped o sirviendo mesas.

    No me importa cuánto le pagaron (mi empresa tiene dinero, podemos pagarle), me importa su experiencia útil, independientemente de si le pagaron o no. Los estudiantes no entienden eso, así que necesito preguntar.

  7. Es una buena forma de darle la oportunidad a alguien de que me joda... o me deslumbre. También estoy en este campo, probablemente sepa la diferencia.

Consejo: si te gustan los juegos mentales/lógicos en tu tiempo libre y ves SW como ese tipo de cosas, entonces menciónalo.

Los comentarios no son para una discusión extensa; esta conversación se ha movido a chat .
Espero por "Quiero contratar a alguien que va a ser productivo durante años o décadas". no quiere decir que quiere que trabajemos durante años o décadas en su empresa , porque eso es cada vez menos común (y por una buena razón).
@Seiyria Todavía hay algunas empresas para las que es una idea razonable (y buena), la mía es una de ellas.
Algunos contrapuntos a los que planteó, (1) ¿Qué pasa si quiero convertirme en un líder de proyecto? Además, ¿qué tienen que ver mis pasatiempos con mis planes a 10 años? Siento que hay mejores preguntas para evaluar ese punto. (2) Siento que la codificación como pasatiempo en realidad contribuiría a un agotamiento más rápido, ya que su pasatiempo ahora se hace eco de sus dolores de trabajo. (3) 6 meses de entrenamiento de alta calidad es infinitamente mejor que 30 años de mala experiencia formadora de hábitos. El tiempo es una medida muy pobre de la calidad. Simplemente solicite el código para que pueda ver la calidad que obtendrá.
(4-5) sin comentarios (6) Probablemente podrías saltarte los pasatiempos para ir directo al grano. (7) Hablar de código es mucho más efectivo si el código del que están hablando ya está frente a usted.
@Tezra Cuando estoy en la línea de llamadas de ganado, hablo con aproximadamente 10 estudiantes por hora, y todo lo que tienen es su currículum. "Solo pide el código" no es ni siquiera un poco posible. Si logran pasar este filtro y los dos siguientes, estarán en el sitio y tengo el código de evaluación frente a mí.
@DarkMatter Yo diría que el código debe solicitarse como parte de la lista de trabajos (verificado con un servicio de verificación de plagio). Pero entiendo las limitaciones del mundo real. Pero si no tiene envíos de código para mirar, los está contratando para hacer un tipo específico de trabajo. Hay preguntas de conocimiento directas y relacionadas con el trabajo que deberían poder responder (tal vez no tener el vocabulario memorizado, pero al menos los conceptos). Haga preguntas directamente relevantes y específicas. Sin embargo, la preocupación que quería señalar es "¿Codificas como pasatiempo?" realmente no responde significativamente a ninguna de las preocupaciones que enumeró.
Cuando comencé a leer el punto "La experiencia importa", al principio estaba considerando si debía comentar para quejarme de la mentira casi universal de que la experiencia se puede juzgar mejor por tus acciones más recientes (si estás en la universidad, solo tienes X experiencia) ... en cambio, me complació cómo fue ese párrafo. Para algunas personas, la experiencia se juzga mejor por lo que hizo antes de la universidad o el trabajo lo hizo más lento. Los mejores que he conocido tenían un software universitario y profesional menos complejo que su trabajo de pasatiempo de la escuela secundaria.
Como ejemplo, en una clase de programación de gráficos de la universidad resolví 1 requisito de una aplicación de pintura usando una PerlinNoiseclase que había creado en el pasado (era exactamente lo que parece, una implementación de ruido perlin para efectos de gráficos 3D). Le pregunté al profesor si estaba bien que reutilizara el código que había hecho antes de la universidad, él estaba de acuerdo con eso, pero estaba sorprendido de que lo hubiera implementado por mi cuenta sin experiencia universitaria. Una tarea posterior para la misma clase fue hacer pong... bastante divertido, también había hecho un juego de pong en 3D antes. Probablemente estiró su creencia, pero todo era cierto...
... y una vez más, ahora que tengo una buena cantidad de años de experiencia profesional, nada en mi tiempo profesional, ni siquiera el trabajo militar o gubernamental, se acerca a lo que hice como pasatiempo cuando era niño. La ingeniería de software profesional ha estado mermando mis habilidades.
No estoy de acuerdo con la parte del agotamiento. Evitar el agotamiento incluía tener tiempo libre sin ninguna relación con tu trabajo. Si te obligas a desarrollar un pasatiempo, te agotarás más rápido que cuando llenas tu tiempo libre con cosas que te gustan. Puede dar el 100% en el trabajo y luego gastar el 100% de su capacidad de codificación para el día. Eso no es malo.
Ha proporcionado una excelente respuesta que explica por qué pregunta. Sin embargo, no tengo claro si está diciendo que espera que todos los desarrolladores que solicitan tengan proyectos paralelos/pasatiempos. Si es así, ¿esto es solo para puestos junior o de nivel de entrada? ¿O esperaría que los desarrolladores de alto nivel también codificaran como pasatiempo?
Estoy de acuerdo: pregunto esto y el quid de la cuestión es comprender la pasión. Hay dos tipos de ingenieros. Aquellos que lo ven como un ejercicio de tiempo para el dinero, es un comercio. Luego están aquellos que son apasionados por la tecnología y estarán al frente presionando para innovar y sobresalir. Si bien siempre habrá excepciones a esta regla, esto es más cierto que no. Los buenos equipos tienen una mezcla de los dos.

Voy a reinterpretar esta pregunta un poco en:

¿Por qué se 'espera' que los desarrolladores de software realicen educación continua en su tiempo libre?

Entonces, cuando lo reformulo de esa manera, tiene mucho más sentido. La mayoría de los profesionales están obligados a hacer la educación continua. Los médicos son un excelente ejemplo de esto, pero no son los únicos. Los abogados también requieren este tipo de educación extendida.

De hecho, el desarrollo de software es excepcional en el sentido de que NO requiere educación continua o licencias para realizarse y, si lo piensa, es un poco alarmante. Se requiere que el médico realice educación continua, la enfermera debe hacerlo, pero el desarrollador de software que construye todas las herramientas en las que confían, no ...

Entonces, si bien podría ser el caso, que una empresa está tratando de exprimir más trabajo de un individuo, lo que realmente está sucediendo es que la industria está aprendiendo lentamente que tal vez necesitamos exigir la educación continua.

No estoy solo, Robert C. Martin (tío Bob), una de las autoridades en nuestra industria, sugiere aproximadamente 20 horas (alrededor de 3 minutos en el video) a la semana MÁS de educación continua. Entonces, en promedio, está codificando o aprendiendo sobre desarrollo alrededor de 60 horas a la semana. Para el tío Bob, este es un requisito previo para ser un buen programador. De hecho, va más allá y sugiere que deberías aprender un nuevo idioma cada año que seas desarrollador.

El desarrollo de software es el CORAZÓN de la economía del conocimiento. No puede ser bueno en eso si no está aprendiendo activamente y desarrollando sus habilidades y llega un punto en el que el trabajo que hace en la oficina simplemente no cubre lo suficiente para que pueda expandir sus habilidades. Por lo tanto, debe, fuera del trabajo, crear las condiciones para perfeccionar y practicar aquellas partes de su conjunto de habilidades que no se utilizan en el trabajo.

A menudo, la mejor manera de aprender es construir cosas. De ahí el impulso de trabajar en proyectos personales. Pero realmente todo se reduce a aprender el alto nivel (patrón de diseño, arquitectura) y cosas de bajo nivel (genéricos, idiomas) y vigilar la industria y crecer con ella porque las cosas se mueven rápidamente.

Los comentarios no son para una discusión extensa; esta conversación se ha movido a chat .
"deberías aprender un nuevo idioma"... Esto es más que hacer que "Hello World" funcione, en realidad deberías construir algo. Preferiblemente algo útil. Para gente como yo, esto significa ponerlo en producción.

Simplemente sucede que el desarrollo de software puede ser un pasatiempo extremadamente económico pero gratificante. Entonces, es muy común ver a los desarrolladores con sus proyectos personales al margen y eso a veces se ve como la norma.

Otra parte de la razón es que los empleadores quieren ver la prueba de las habilidades y pedir el código que ha escrito es una forma de hacerlo, en mi opinión, es perezoso. Además, hacer programación adicional significa que puede convencerse fácilmente de trabajar horas extras, ya que ya le gusta.

Diría que no se está perdiendo al no recibir ofertas solo porque no puede mostrar proyectos personales. Las entrevistas son un proceso de dos caras y, naturalmente, está filtrando empresas con culturas que no encajarían con usted, ya que parece que desea un equilibrio entre el trabajo y la vida.

El argumento de las horas extraordinarias se usa con bastante frecuencia, pero es tenue. En el mejor de los casos, lo que haces en casa puede tener cierta relevancia para el trabajo que haces, pero es más como encontrar una gran biblioteca que hacer horas extras. Ten en cuenta que si codificas en tu tiempo libre, lo haces para relajarte, etc.; la única razón por la que es más probable que hagas horas extras es si tu trabajo es realmente muy interesante y no puedes dejar de jugar con él después de horas. En cuyo caso, todos se benefician de todos modos.
El primer párrafo es una parte muy importante de la respuesta (al menos a "No puedo pensar en muchas otras profesiones en las que se 'espera' que alguien haga lo que le pagan para su propio tiempo libre también". aspecto de la pregunta). Tal vez la respuesta podría incluso hacer esto un poco más explícito al yuxtaponer algunas otras profesiones. Por ejemplo, los ingenieros mecánicos pueden ser tan apasionados por su campo como los desarrolladores de software. Pero lo que los ingenieros mecánicos diseñan en su tiempo libre suele ser una copia única que permanecerá en casa del ingeniero y está limitada por un modelo menos sofisticado...
... conjunto de herramientas utilizado en la producción que lo que estaría disponible para una fabricación a nivel industrial. Lo que un desarrollador de software crea en su tiempo libre es, por la naturaleza misma de las cosas virtuales, inherentemente listo para la "producción en masa de costo cero", se puede difundir fácilmente a los usuarios de todo el mundo y puede haber sido creado (generado, escrito, compilado, ...) con el mismo tipo de herramientas que el desarrollador también usaría en su lugar de trabajo. (Si lo desea, puede integrar este ejemplo en su respuesta).

Mi respuesta es la suposición de que estos gerentes y entrevistadores asistieron a conferencias.

He estado en varias conferencias de desarrolladores y uno de los temas es la comunidad. Impulsan esta idea de que un desarrollador sólido es alguien que contribuye a su base general de productos. En mi situación, asistí a conferencias de php y presionan mucho a las personas para que se comprometan con proyectos de código abierto. Presionar para comprometerse con la base del código fuente php real no era una agenda principal, pero impulsar el marco y demás es realmente una gran agenda que abordan en varias conversaciones.

La razón detrás de esto es obvia cuando miras sus credenciales. Están en la comunidad de Framework, por lo que mantenerlo vivo y hacer que la gente lo use son puntos importantes para ellos.

Del lado de los invitados asistentes, creo que mucha gente se lo toma en serio sin tener en cuenta los antecedentes del orador que presenta esta idea. En mi última empresa, asistimos a varias de estas conferencias y cuando volvimos, fue muy importante que cada uno de nosotros comenzara a contribuir con proyectos de código abierto. Incluso tuvieron su propia conferencia interna impulsando la misma idea de que un buen desarrollador es alguien que contribuye al código abierto. Incluso en los anuncios de trabajo que publican, comprometerse es una gran ventaja.

Así que creo que es por eso que es "esperado". Las personas que impulsan estos marcos tienen la idea de que debes comprometerte y contribuir. También cae en la vieja idea Unix del pasado. Así es como Unix se hizo tan popular gracias al código abierto y la contribución de la comunidad.

Esa no es la "vieja idea de Unix", es la idea de GNU. En los días dorados de Unix, el software no se vendía de todos modos: comprabas computadoras, no software. GNU trató de mantenerlo así, aunque de una manera un poco enrevesada y hostil. Pero en cualquier caso, "proyecto de afición" no es lo mismo que "código abierto". De hecho, tener su propio proyecto (de código abierto o no) es mucho más indicativo de su capacidad para crear un producto y mantenerlo a lo largo del tiempo que contribuir con un parche aquí y allá a una base de código existente. Ambos pueden valer la pena para la empresa, por supuesto, pero según mi experiencia, se prefiere el primero.
@Luaan De hecho, era una era diferente para los usuarios de computadoras. Recuerdo una vez que compraste una computadora, tenías que considerar qué software querías usar o qué tenía. La compatibilidad era limitada (un 286 no era un 386 no era un 486, etc.), los controladores eran limitados y la plataforma cruzada no era realmente una cosa. También recuerdo una era en la que podías comprar revistas de software y código en juegos BASIC. En el mundo de hoy, estás comprando una computadora y sabes que tienes acceso a software y hardware ilimitados.

Lo admito, soy un veterano y las actitudes han cambiado. Sin embargo, cuando era junior, esta misma pregunta se habría hecho en una entrevista como descalificado, no como calificado para un solicitante. Cuando comencé, ejecutar proyectos paralelos en su propio tiempo se habría visto como alguien que estaba más interesado en sus propios objetivos que en el equipo y probablemente no se concentraría en los esfuerzos del equipo. Lo mismo se vio en ese momento para los juegos. Un temor adicional era que si una persona pasaba 8, 10, 12 horas al día en la oficina y luego se iba a casa y hacía más, entonces era un candidato principal para el agotamiento.

Una vez más, admito plenamente que los tiempos y las actitudes han cambiado, pero tampoco le he pedido a un solicitante muestras de código preparadas, y nunca me han pedido ninguna. Ciertamente he pedido, y me han pedido que genere, en el acto muestras cortas que muestren estilo. Siendo de la vieja escuela, en realidad me tomó por sorpresa cuando los solicitantes ofrecieron git o acceso similar a las muestras y dicho acceso no me interesó. Siempre sentí que aprendí mucho más por hablar que reclamar la propiedad del código preescrito.

En general, tendría una mentalidad similar a la que escucho en la pregunta del OP. Mi tiempo libre es para despejar mi mente del trabajo y refrescarla, para ser honesto, no dedicarme a más de lo mismo.

"Mi tiempo libre es para despejar mi mente del trabajo y refrescarla, para ser honesto, no dedicarme a más de lo mismo". ¡Completamente en el clavo! Además, los expertos están volviendo a la idea de que "si una persona dedica 8, 10, 12 horas al día a la oficina y luego se va a casa y hace más, entonces es un candidato principal para el agotamiento". Si hago proyectos de programación por mi cuenta, estoy tratando de salir de "la carrera de ratas" y trabajar para mí mismo. Además, la mayor parte del código que produje hace 10 años no representa mi habilidad actual, por lo que no quiero que sea público.

Estoy de acuerdo con los puntos básicos de la respuesta de RibaldEddie, pero está cargado de suficientes juicios de valor negativos que creo que no da en el blanco.

Algunos ingenieros talentosos y apasionados se ven impulsados ​​a construir y crear incluso cuando no se les paga por ello. Preguntar sobre proyectos extracurriculares es una forma de probar esa pasión y talento al darle al candidato un escenario para presumir sobre un proyecto que eligió para sí mismo.

¿Se requiere trabajo extracurricular para ser un ingeniero talentoso y apasionado? Por supuesto que no. Sin embargo, aquellas personas que trabajan en su propio tiempo pueden buscar esa misma característica en los demás.

Pero el OP tiene un punto, lo que esto demuestra principalmente es la falta de una vida personal significativa. Ni pasión, ni mucho menos talento.
¿Cuántos músicos en ciernes de clase mundial tienen vidas sociales vibrantes? ¿Qué hay de practicar, atletas de clase mundial? Sacrificar otras partes de tu vida al servicio de tu oficio no te convierte en el mejor, pero los mejores a menudo hacen precisamente eso. "Experiencia" es una mejor palabra que "talento". Si trabajas 8 horas en el trabajo y 4 cuando llegas a casa, tienes muchas posibilidades de tener más experiencia que alguien que no lo hace.
@Damouse Es mejor que paguen muy por encima del promedio si quieren un programador de clase mundial que dedique todo su tiempo a la programación. Suficiente que están pagando por esas horas que el programador está en casa practicando.
@Qwertie Los salarios son un intercambio. Aceptas si sientes que estás recibiendo más de lo que estás dando y viceversa. Las personas tienen diferentes valores, y eso está bien . ¿Cuántas personas cualificadas conoce que, por ejemplo, enseñan por un salario mísero, o incluso de forma gratuita? ¿Se los prohibiría porque "podrían obtener más dinero por menos trabajo en otro lugar"? Es frustrante lo difícil que parece ser para las personas aceptar que el valor es subjetivo .
@GeorgeM Soy uno de esos desarrolladores apasionados que trabaja en cosas en su tiempo libre y todavía tengo una vida personal. Desde las 530 p. m. hasta las 11 p. m. cuando me acuesto es mucho tiempo para encajar muchas cosas.
@George M ¿De qué manera practicar mi arte al elaborar mi propia visión no es una vida personal significativa?
Existe tal cosa como 'bien redondeado'. Tengo la edad suficiente para haber comenzado a trabajar en tecnología cuando la mayoría de los profesionales no comenzaban en el jardín de infantes y tenían intereses significativamente diferentes. El hecho de que hayamos creado la mayoría de las cosas que está usando ahora, sin ningún modelo anterior, y que no surjan muchas novedades de los niños de CS en estos días, creo que habla por sí mismo. Nunca he encontrado que las personas que dedican toda su vida a una sola búsqueda lleguen a esa etapa completa, pero sin duda su opinión puede diferir :-).
@GeorgeM "y que no sale nada nuevo de los niños de CS en estos días" Le deseo lo mejor en lo que sea que haga, señor, pero está fuera de contacto si cree que los avances en el software se han ralentizado. "Se nos ocurrió la mayoría de las cosas que estás usando ahora" La mayor parte de la tecnología con la que trabajo no tiene ni siquiera 10 años, así que no, no lo hiciste. Y no me refiero a la ingeniería "esponjosa".
@GeorgeM, no estoy de acuerdo con tu primer comentario. Si tienes pasión por algo, encuentras tiempo para hacerlo. No importa cuán activa sea su vida personal.

Creo que estás confundiendo dos aspectos de esa pregunta. Sí, hay una moda (enferma, en mi humilde opinión) para los desarrolladores que respiran código las 24 horas del día, los 7 días de la semana. Pero lo que está pasando por alto es que sus contribuciones en github brindan una muestra de código de acceso público. Y eso puede ser muy importante para un posible empleador. También se refiere a su capacidad para trabajar de manera cooperativa, de una manera que su empleador no exige. Y a menudo también incluye una pequeña muestra de escritura.

Entonces, ¿quizás ofrezca dar una muestra de código cuando se haga la pregunta? Y considere contribuir con algo a algún proyecto público para que pueda darles a los entrevistadores lo que realmente buscan.

Una muestra de código le dice a alguien poco sobre la capacidad de trabajar juntos en un proyecto grande. Se necesita una gran cantidad de compromiso para demostrar habilidades de alta calidad para grandes proyectos de una manera significativa. Mis proyectos privados son esfuerzos individuales relativamente pequeños y no le digo a nadie cómo trabajo en equipo.
Bueno, bien por ti. Pero aún dudaría en contratar a alguien sin ver una muestra de su código. Hay muchos 'desarrolladores' por ahí que no pueden salir de una bolsa de papel, y mucho menos organizarse para completar cualquier cosa (aunque no estábamos discutiendo la gestión de proyectos aquí). Y todo eso puede verse aún mejor cuando estás viendo un pequeño proyecto en el que han trabajado solos.
Ambos tienen razón.

Los desarrolladores que escriben código en su propio tiempo, al menos en mi opinión, tienen muchas más probabilidades de estar a la vanguardia en busca de nuevas/mejores formas de hacer las cosas que puedan traer de vuelta al trabajo con ellos y beneficiar a la empresa.

Supongo que el tl;dr sería que es esencialmente I + D gratuito que cualquier empresa estaría loca por rechazar.

Quiero rechazar esta respuesta, pero no lo haré. Encuentro que muchas personas que "investigan" por su cuenta tienden a jugar con una biblioteca/idioma/etc. para un proyecto simple, que tiran y luego tratan de convencer al jefe para que convierta la aplicación, sin darse cuenta de que está llena de errores o simplemente lo realmente horrible que es. Incluso pueden probar esto por algo que escucharon como una moda pasajera, sin darse cuenta de que es una moda pasajera que se agota cuando la gente realmente comienza a odiarla. Lo que pasa con la "I + D gratuita" es que obtienes lo que pagas. :-)
@computercarguy Debo admitir, ¡totalmente culpable de esto! El temor de implementar una moda pasajera solo para que se agote es ciertamente válido, saltar ciegamente a un territorio desconocido sin hacer ninguna investigación adicional sobre algo que está pidiendo problemas. Sin embargo, diría que vale la pena arrojar cosas a la pared de vez en cuando y ver qué se pega en caso de que sea una idea absoluta.

En mi trabajo diario entreno a desarrolladores de software, principalmente en una tecnología menos popular. Cuando contratamos nuevos desarrolladores junior o en formación, solicitamos un perfil de Github o Stack Overflow. Sin embargo, dejamos en claro que no es obligatorio tener uno. Contratamos a personas con experiencia general en STEM que desean convertirse en desarrolladores de software.

Las diversas razones por las que no todos quieren o pueden tener sus propios proyectos paralelos, o contribuir al código abierto de manera significativa, se han incluido varias veces en las otras respuestas. El tiempo es el principal. A menudo, eso implica a la familia. Uno tiene que respetar eso.

Sin embargo, ver que alguien junior tiene algo en Github (o Bitbucket o Gitlab o en cualquier otro lugar) es increíblemente útil. Me muestra que realmente quieren convertirse en desarrolladores. Al igual que alguien que no sabe nada de cocina, pero siente que convertirse en chef es su vocación, creo que un joven que quiere convertirse en desarrollador de software se sentiría naturalmente atraído por probar esto en casa. Cocinarías en casa mientras buscas ese primer trabajo de cocina. Por supuesto que harías tutoriales en casa.

¿Qué te dice acerca de qué tan serio es alguien, o qué tan motivado, cuando no lo hace? Supongamos que tienen un título en biología (y lo elegí al azar) y que no han escrito ningún código. Pero intentan convencerlo de que los contrate a ellos en lugar de a las otras 200 personas que solicitaron. Los más de 50 graduados en desarrollo de software o informática tendrán sus cursos en github, pero en su mayoría será solo una confirmación por proyecto, y copia y pegado masivo.

Pero si hay uno o dos candidatos que ya tienen un interés adecuado en la codificación, antes de la capacitación formal, y lo muestran en github, entonces eso los hace destacar. Un desarrollador experimentado que mire este código notará la diferencia entre un proyecto que se hace en la universidad, o solo para el CV, o uno donde la pasión real y los retoques entraron en él. Ese es el tipo de proyecto que quiero ver. Eso me dice que esta persona lo dice en serio.

Pero si no tienes eso porque no tienes el tiempo para hacerlo, está bien. Es solo una de las muchas cosas que miro, y me puedes convencer de otras maneras.


Lo anterior estaba dirigido a gente joven. Yo personalmente hago algo de código abierto. Tengo módulos en el repositorio de mi idioma preferido y he contribuido a muchos otros. Menciono esto en mi CV porque me hace destacar. Me gusta pensar que me ayuda, pero he notado que a muchas empresas no les importa, porque muchas veces los encargados de contratar no saben lo que significa.

Por lo tanto, concluyo que no es realmente necesario. Pero ayuda Al igual que no se requieren buenas notas o una universidad prestigiosa, pero ayudan.

Veo muchos "los empleadores quieren que trabajes mil horas a la semana" y creo que esas respuestas no dan en el blanco.

Si bien hay empleadores que desean la perspectiva de "trabajo gratuito" (asumiendo que usted es asalariado y solo trabaja obsesivamente en una cosa).

¡¡¡PASIÓN!!!

¡Una cosa que los empleadores quieren ver es PASIÓN!

Preguntaría lo mismo si fuera un gerente que contrata a un mecánico de automóviles: cuénteme sobre los automóviles que ha reconstruido.

O contratar a un carpintero: cuénteme sobre cualquier cosa que haya construido en su tiempo libre.

¿ Disfrutas ? ¿Estás haciendo tanto lo que haces que lo haces fuera del trabajo?

Tus propios proyectos

Si tienes código que has hecho fuera del trabajo

  • No se esconde detrás de "acuerdos" y "propiedad" de MegaCorp. Es TU código y TÚ puedes compartirlo.
  • Son cosas adicionales que has hecho y presumiblemente seguirás haciendo. Dejando a un lado los contratos ejecutables que dicen "su código de tiempo libre es nuestro" ("ejecutable" porque no todos los lugares permiten esos contratos), eso significa que este código presumiblemente NO es un trabajo gratuito para el nuevo MegaCorp.

No pueden pedir ver el código de MegaCorps. No es TU código para compartir. No puedo contar la cantidad de proyectos que personalmente no puedo mostrar porque no tengo acceso a ellos fuera de la red o tengo prohibido legalmente compartirlos porque no son míos .

Fin del juego

Quieren ver pasión, conocimiento, prueba. Tener proyectos de acceso público de los que pueda hablar en profundidad está cubierto por "proyectos privados" porque en realidad puede COMPARTIR el código base.

Pueden ver el código, ver las ideas (OOP, IoC, algoritmos elegidos, bibliotecas utilizadas, etc.). Pueden escucharte describir el código que pueden ver. Pueden preguntar sobre las elecciones realizadas. En realidad, pueden SABER que tiene el conocimiento más allá de un título y un título de trabajo que no dice mucho.

Hay empresas que quieren trabajo gratis y empresas que abusarán de la idea de que trabajarás más... pero no asumas que "muéstrame algo que puedas mostrarme" es SOLO por eso .

La gente del automóvil puede hablar sobre la reconstrucción de un motor en su propio garaje y los carpinteros pueden hablar sobre la construcción del juego de dormitorio en el que duermen por la noche.

Los programadores deberían poder hablar de manera similar sobre los proyectos que han producido, y mostrarlos, y los proyectos "fuera" del trabajo requerido son una buena fuente de ese conocimiento, experiencia y pasión.

Mi pasión no está en venta, y no hay ninguna razón por la que deba tener parte en las negociaciones comerciales.
Buena respuesta, pero demasiado TODO EN MAYÚSCULAS. Tal vez por eso obtuvo algunos votos negativos. +1 de mí sin embargo.
@sethrin Su "pasión" está a la venta por extensión de experiencia demostrable, y esa experiencia está directamente relacionada con las "negociaciones comerciales". En igualdad de condiciones, ¿a quién quieres contratar? No importa el trabajo: programador, mecánico, abogado... Apuesto a que quieres a alguien que ame lo que hace lo suficiente como para hacerlo fuera del trabajo. ¿Más experiencia? Controlar. ¿Mejor base de conocimientos? Controlar. ¿Vale más para sus clientes? Controlar. "Su pasión" es parte integrante de USTED y USTED es absolutamente lo que se negocia en una negociación laboral. Entonces, lo siento, pero respetuosamente estoy en desacuerdo al 110% con su declaración.
@Aaron, lo tocaré y lo atenuaré. La mayor parte también podría estar en cursiva, porque esa era la intención, y nunca antes había tenido problemas con este tipo de escritura.
Los votos negativos también podrían ser la conclusión. Lo cual es que es justificable y se espera que los empleadores hagan esto. Leí esta respuesta y, aunque no estaba en desacuerdo, me molestó porque me siento similar al OP, que no quiero estar obligado a hacer lo mismo todo el tiempo dentro y fuera del trabajo para sea ​​competitivo, pero, particularmente en el comentario que siguió, su lógica es oro "¿Más experiencia? Compruébelo. ¿Mejor base de conocimientos? Compruébelo. ¿Vale más para sus clientes? Compruébelo". y creo que parte o la totalidad de ese comentario debería haberlo incluido en su respuesta. +1
@WernerCD Lo que hago fuera del trabajo no es relevante y no forma parte explícita ni implícita de ningún trato comercial. Puede sentirse con derecho a esto: muchas personas lo hacen. Esto es incorrecto e inmoral.
@sethrin su experiencia, en el trabajo, fuera del trabajo, mientras duerme, etc., es absolutamente, 100%, sin duda, relevante. esa experiencia es lo que está a la venta. Período. Punto final. "Pero es fuera del trabajo" es irrelevante. Es lo que tienes y lo que sabes.
No es un imperativo moral lo que buscan... es una prueba de que sabes de lo que estás hablando y puedes respaldarlo. ¿Es inmoral que un mecánico de automóviles trabaje en su propio automóvil? ¿Es inmoral que un basquetbolista haga ejercicios los fines de semana? Por supuesto que no...
@WernerCD No, aceptar un salario no implica cambiar cada parte de mi persona o experiencias, sino un conjunto específico y limitado de obligaciones.
@sethrin No están pidiendo tu alma... están pidiendo experiencia. Parece que equipara los proyectos paralelos con trabajo adicional para la empresa. Esa es una falsa equivalencia. "¿Tienes experiencia relevante?" es una pregunta válida y no es lo mismo que "¿Vas a ser mi esclavo los fines de semana?"
@WernerCD No, esa es una caracterización errónea conveniente de mi argumento. Sin embargo, si está sugiriendo que quiso decir "experiencia" cuando escribió "pasión", entonces probablemente desee revisar su respuesta.
@sethrin "Pasión, conocimiento, experiencia" se mencionaron en mi respuesta. Mi respuesta permanece como está, con pequeños ajustes. Su afirmación de que querer un empleado apasionado es "inmoral" es su declaración, y es evidentemente falsa. Esperar que trabajes los fines de semana sería inmoral... querer que seas apasionado, informado y experimentado no lo es.
@WernerCD si un empleado es apasionado o no es asunto suyo y de ninguno de sus empleadores, y si sus expectativas son diferentes, esto es moralmente incorrecto.
@sethrin y si la empresa te contrata o no va a depender de ti. Y todo sobre ti puede ser considerado - dentro de la ley (IE: No puedo negarte por raza, sexo, etc.). En igualdad de condiciones, ¿si alguien tiene más pasión y experiencia demostrable? Esa persona será contratada porque es un mejor empleado para el trabajo dado.

Creo que lo que hace que el desarrollo de software sea especial es que resuelve una amplia gama de problemas cotidianos. Ya sea modificando juegos de computadora, domótica personalizada, el portal web para su club de pasatiempos o arreglando un error en el software de código abierto que usa, hay muchas oportunidades para usar sus habilidades. Esas también son formas muy diversas de aplicar sus habilidades, libres de muchas restricciones que tiene en el contexto profesional.

Si veo una aplicación sin ningún proyecto personal, me hace un poco escéptico. Significa que me resulta más difícil evaluar las habilidades del candidato, pero ciertamente lo intento. Para bien o para mal, tener proyectos de software de pasatiempo es común entre los desarrolladores de software. Por supuesto, esto genera algunas expectativas.

"amplia gama de problemas cotidianos" es una buena forma de expresarlo, y gracias por mencionar los juegos, aunque yo iría más allá e incluiría también la creación de juegos. No aprendí programación en la universidad, lo aprendí haciendo mis propios juegos cuando era niño. No aprendí SQL en la universidad, ni programación de gráficos (incluso 3D), trigonometría, matrices, física introductoria o programación de redes en la universidad o trabajo profesional... no, todo lo aprendí haciendo videojuegos cuando era niño. La programación de juegos está muy subestimada, especialmente si se hizo antes de los "creadores de juegos" modernos.

Solo se espera de ti si esperas un trabajo de primer nivel como programador. Debido a que la demanda supera la cantidad de puestos disponibles, tienen el lujo de ser exigentes. Y siendo quisquilloso, ¿por qué no querrías a alguien que ama tanto el código que también codifica en su tiempo libre? Lo que significa que también se desafía a sí mismo con cosas nuevas y básicamente está aprendiendo más rápido y tiene un conocimiento más actualizado que la mayoría.

Hm, en Europa la demanda de desarrolladores experimentados es mayor que la oferta. (Aún así, descubrir quién siente pasión por su trabajo no es fácil. Sirve mucho para ver si alguien está arraigado en proyectos comunitarios y se puede observar su trabajo allí)
Bienvenido nuevo usuario. Realmente no veo esto. Cuando contratas a gente líder, lo último que te importa es una mierda de aficionado. Estás hablando de proyectos de 10 millones, 100 millones, miles de millones de dólares; parece inconcebible que la persona mencionara (o de hecho participara) en algún pasatiempo de codificación.
El hecho de que descarte a la mayoría de los candidatos que obtiene no significa que haya más candidatos que puestos: hay muchas personas que simplemente no tienen ninguna habilidad o aptitud de programación y, sin embargo, solicitan puestos de programación. Todas las empresas con las que traté tienen problemas para encontrar gente decente, ciertamente no al revés.
@Fattie Eso parece parcial pero es común. Me gustaría pensar en mí mismo como un gran desarrollador, y lo último que muchas personas quieren ver es lo que consideran mi "basura de aficionado" (incluso algunos me han dicho que no les importa), sin embargo, se están perdiendo mucho porque ese código de aficionado era un indicador mucho mejor que cualquier cosa que haya hecho profesionalmente. He trabajado para la academia, el gobierno, las fuerzas armadas y más, y ha ido mermando mis habilidades. Podría haberlo hecho antes de la universidad con los ojos cerrados, y mi antiguo pasatiempo es un mejor indicador de lo que importa.
hola @Aaron - por cierto, "basura de aficionado" es un lenguaje un poco rudo, lo siento por eso :) No puedes editar los comentarios después de un tiempo. Simplemente estaba reaccionando, o exagerando, a los (para mí) puntos de vista totalmente opuestos que parecían muy poco realistas...

Esta es la razón. Los empleadores quieren que trabaje más de 40 o 45 horas por semana, por lo que si no puede pasar más tiempo en su trabajo, quieren saber si puede hacerlo fuera del horario laboral. Hay un ejemplo simple de Elon Musk (CEO de Tesla): https://www.telegraph.co.uk/technology/2018/11/27/elon-musk-workers-should-put-80-hours-week-change -mundo/

Buen tema !

La mayoría de los empleados no son empleados ni están dirigidos por personas como Steve Jobs o Elon Musk. No se concentre en los valores atípicos a menos que esté considerando trabajar para ellos.
“Puedes mantener a la gente en la oficina durante 80 horas a la semana. No puedes hacerlos trabajar más de 40 horas a la semana”.
Pero muchos empleadores de primer nivel son dueños de sus sueños y quieren saber lo que ya tiene en marcha cuando se une a ellos. Cualquier cosa después de eso es de ellos incluso si lo desarrollaste en tu propio tiempo.
El kilometraje variará según la ubicación y la cultura, pero como gerente de contratación, puedo prometerle una cosa: todo lo que busco con esta pregunta es ver si hay una pasión e interés genuinos o si se trata solo de un intercambio que paga bien. No es una pregunta decisiva, solo una que ayuda con el ajuste del equipo. No hay nada siniestro en ello. A menudo, también es un gran punto de partida si están explorando alguna tecnología emergente. Puedes sentir si realmente lo entienden o simplemente están lanzando palabras de moda tecnológicas (¡esto sucede mucho!).

Hay varias razones posibles por las que las empresas pueden preguntar sobre proyectos personales y prefieren candidatos con ellos.

  • Trabajo principalmente con pequeñas empresas. Es un ambiente muy creativo y emprendedor. ¿Eres creativo y emprendedor? Si es así, tiene proyectos paralelos y realmente crea cosas. Puede que esto no solo esté relacionado con la programación, sino que es muy probable que así sea.

  • ¿Puede especificar y terminar un proyecto (o alcanzar una meta) por su cuenta? Es decir, ¿puedes tomar la iniciativa y realmente cumplir?

  • Amplitud de experiencia. No puedo decirte la cantidad de veces que las cosas que aprendí en un proyecto paralelo que no tenía ninguna relación con un proyecto de trabajo ayudaron a ese proyecto de trabajo. Tener exposición a una amplia variedad de tecnologías e industrias puede ser muy beneficioso. ¿Eres el tipo de persona que puede sacar el pensamiento de (nuestra) caja?

Dicho esto, según mi experiencia, al igual que muchas empresas no quieren candidatos que pasen mucho tiempo en sus propios proyectos, como sí lo hacen.

Mi respuesta no es todo lo que pienso sobre el asunto, sino que limita el tema de este sitio.

Hay empresas que prefieren que su desarrollador tenga proyectos de hobby. Hay empresas que prefieren que no (sí las hay).

De todos modos, creo que debería evitar las empresas que insisten demasiado en este asunto en cualquier dirección. Después de todo, es asunto tuyo cómo pasas tu tiempo libre.

De lo contrario, creo que deberías estar bien si solo dices que no haces programación de pasatiempos. Solo asegúrese de ser respetuoso con aquellos que eligen hacer programación de pasatiempos.

Muchas preguntas sobre por qué los entrevistadores preguntan algo determinado pueden responderse recordando que casi todas las entrevistas de trabajo son torneos, no calificaciones. ¿Qué quiero decir con eso?

  • En una calificación, se juzga a un grupo de personas por sus cualidades para ver si pasan el corte o no. Dependiendo de quién entre, pueden pasar todos, o puede que no pase ninguno. Todos los que aprueban son "suficientemente buenos" en el sentido de cumplir con los requisitos establecidos para calificar.
  • En un torneo, varias personas compiten, pero solo hay un campeón. Que sea un campeón no significa que sea bueno. Quizás todos los demás que entraron son perdedores. Y el hecho de que seas bueno no significa que ganarás; tal vez haya otro tipo que participó que también sea realmente bueno. El que gana el torneo es "el mejor".

Las cualificaciones dan como resultado que pase un número desconocido de personas, mientras que cuando las empresas intentan contratar, su objetivo suele ser cubrir un número determinado de puestos. Incluso si obtiene currículums de 5 ingenieros realmente buenos, si solo está buscando ocupar un puesto, no tiene sentido contratarlos a todos. Después de todo, solo necesitas uno. Por lo tanto, en las solicitudes de empleo, las personas se clasifican para ver quién es la mejor, y muchas preguntas importantes son para obtener datos sobre los cuales clasificarlos.

Los entrevistadores de trabajos de software preguntan sobre sus proyectos de pasatiempos por el simple hecho de que muchas personas que solicitan dichos trabajos tienen proyectos de pasatiempos, y parece una base importante para la comparación. Si tenía dos candidatos idénticos, pero uno tenía además una amplia cartera de github, ¿eso no lo hace más adecuado que el otro? Tal vez, tal vez no, pero el punto es que sería una tontería no preguntar tal cosa, así lo hacen muchas personas. El solo hecho de preguntar no significa necesariamente que se espera que los tenga, en el sentido de que será descalificado instantáneamente solo por no tenerlos. Por lo general, las decisiones de contratación son holísticas. Pero se espera en el sentido de que los contratantes esperan que muchos solicitantestienen sus propios proyectos de pasatiempos, por lo que les piden a todos que se aseguren de tener la oportunidad de mencionar esto.


Ahora, por supuesto, cuando descubres que algo es un factor importante en el éxito de tu carrera que habías ignorado hasta ahora, no es una ocasión feliz. Uno, naturalmente, desea construir un argumento elegante sobre cómo no debería importar de todos modos, contarle al mundo al respecto y disfrutar del orgullo de haber discutido un aro incómodo en lugar de simplemente saltar a través de él. Por desgracia, esa no es la forma de construir una carrera. Es muy poco probable que pueda convencer a su posible empleador de que deje de preocuparse por los proyectos de pasatiempos en la etapa de la entrevista (probablemente ya tenían un sistema en mente para llenar esa vacante y se resistirán mucho a hacer cambios cuando ya lo han hecho). comenzó a entrevistar). Podrías buscar a los que no preguntan al respecto, o los consideras negativamente,

Pero si quieres algunas posibles razones por las que es bueno que un solicitante tenga una cartera de proyectos personales:

  • Muestra que son realmente apasionados por su trabajo, ya que lo han hecho incluso cuando no les pagan.
  • Les permite mostrar las habilidades que tienen a pesar de no haber trabajado en un puesto que los emplee (digamos que conoce a Haskell pero ningún empleador le permite usarlo)
  • Muchos consideran los títulos académicos, o incluso la experiencia pasada, una medida poco confiable de la habilidad de programación, por lo que los proyectos les dan una mejor idea de cómo es su trabajo.
  • Tener un pasatiempo puede convertirlo en una persona genial y original a sus ojos que encajaría mejor socialmente.

Estas no necesariamente tienen que ser ciertas, basta con que el entrevistador las crea. Encontrar al mejor candidato para un trabajo es, en última instancia, algo subjetivo, no una ciencia exacta. Los proyectos de aficiones tampoco son universalmente interesantes, o incluso algo positivo para tener como solicitante: algunos piensan que hacer un trabajo calificado sin pago abarata el valor de su habilidad, algunos piensan que demuestra que está distraído o es demasiado ambicioso, algunos pueden tener política de la empresa que prohíbe utilizarlo como criterio por cualquier motivo, etc. Aunque diría que, en promedio, en el campo del software, es probable que esté un poco mejor si tiene una buena cartera de proyectos personales que si no.

Se podría decir preguntar cómo es que la mayoría de las personas incluso tienen una cartera notable que los entrevistadores se molestan en preguntar. Eso es fácil: el software es muy democrático en el sentido de que cualquier persona con una computadora puede escribir programas (al menos en teoría...), no necesita ningún equipo o infraestructura especial para hacerlo (en realidad, ni siquiera necesita la computadora, estrictamente hablando). Entonces, la mayoría de las personas interesadas en la profesión terminan desarrollándose por su cuenta, antes de conseguir un trabajo. Pero no es la única profesión en la que esto es así. Los artistas, músicos, fotógrafos, escritores y muchos otros profesionales suelen tener un extenso portafolio que hicieron en su propio tiempo, y se les pregunta por ellos.

"es que a menudo me preguntan si tengo algún proyecto propio del que pueda hablar..."

Nunca le he preguntado esto a nadie (y ciertamente nunca me lo han preguntado).

¿Podría ser que estés pensando más en tu experiencia cuando eras un principiante absoluto (es decir, en un momento en el que no tenías ningún producto real en el que hubieras trabajado para discutir)?

"¿Por qué parece aceptarse que se espera que los desarrolladores de software trabajen en [basura de aficionados]?"

Tal vez sea una cosa regional, pero no lo veo como algo aceptado o habitual.

¿A quién le importan las cosas de aficionados?

Tal vez sea una peculiaridad de su campo en particular , OP?

Creo que la buena noticia es que si has tenido esta experiencia es "simplemente mala suerte". Me olvidaría de eso.

@Badgy wow, eso está completamente fuera de lugar.
@Badgy explique cómo su comentario solicita más información o sugiere mejoras.
@Fettie Gracias por la respuesta. No, todavía me hacen esa pregunta en las entrevistas a pesar de que ahora tengo más de 5 años de experiencia profesional en roles de desarrollo de software. Ciertamente, no parece ser una peculiaridad de un campo en particular (he trabajado en varias industrias, incluidas la militar, financiera, energética, arquitectónica, de salud...). Diría que la pregunta surge con bastante frecuencia en las entrevistas (probablemente al menos una de cada 3 entrevistas). Parece ser exclusivo de la industria del software, supongo que probablemente porque muchas personas que trabajan en la industria también disfrutan haciéndolo por diversión...
@Badgy Es más que bienvenido a mantener eso como su opinión. ¿Puedo pedirle que señale dónde he hablado mal de alguien en mi OP? No tengo nada más que respeto por las personas que pasan todo el día trabajando en el desarrollo de software y luego se van a casa y trabajan en sus propios proyectos por las tardes o los fines de semana; si eso es lo que les gusta hacer, ¿quién soy yo para juzgar? Mi punto es que si bien (probablemente) un gran porcentaje de desarrolladores de software disfrutan de eso, hay varios de nosotros cuyos pasatiempos/intereses se encuentran en otras cosas además del desarrollo de software y, sin embargo, debido a que mucha gente lo disfruta, parece esperado. .
@rubenvb No te preocupes, no soy tan sensible como para ofenderme si alguien suelta pequeños insultos en un foro de Internet.
@ alguien2088 - bastante justo; eso es realmente interesante de escuchar. ¡Podría ser que estoy viejo y desactualizado! Gracias por hacernos saber esto. ¡Salud!
@someone2088 quería explicarlo, pero mi comentario fue eliminado, por lo que esta censura es la llamada para abandonar este foro.
@Badgy, la censura (eliminación de la cadena de comentarios "aleatorios") aquí es tan loca como la votación psicótica. Nadie tiene idea de lo que alguien está hablando :) No te preocupes, de vuelta a la vida normal
No llamaría aficionados a los colaboradores de Apache, Eclipse o Spring y estaría muy contento de contratar a más de ellos. Las conexiones con este tipo de proyectos son inmensamente importantes para las empresas de software.