Importancia de los proyectos de pasatiempo [cerrado]


103

Quiero saber, ¿qué tan importante es programar en tu tiempo libre? ¿Es necesario trabajar su 9-5 como programador y luego llegar a casa y trabajar en su pasatiempo para convertirse en un mejor programador?

Dicho esto, sé que solo se mejora en la programación, bueno, programando.

¿Los posibles empleadores tienen en cuenta la programación de pasatiempos en una entrevista o preguntan esto solo por curiosidad?

Me siento culpable por no tener un proyecto de pasatiempo, pero todo lo que puedo pensar en hacer ya está hecho. Entonces, ¿tengo algo en mente sobre esto, comenzar algo que ya se ha hecho o dejarlo hasta que se me ocurra algo original?


66
En la parte de "no comenzar algo que ya se ha hecho": si se trata de un proyecto FOSS, siempre existe la posibilidad de unirse al equipo y trabajar juntos.
TC1

41
“No dejas de jugar porque envejeces; envejeces porque dejas de jugar ”. - Ben Franklin.

1
¿Por qué no tienes un proyecto de pasatiempo? (Pregunto en serio.)
Alex Feinman

44
Creo que tener un proyecto de pasatiempo, por naturaleza, te hará un mejor programador. Si no tienes uno, solo pensarás en la programación como un trabajo mundano en lugar de algo interesante, desafiante y divertido.
Maxpm

1
Los empleadores preguntan porque quieren saber sobre cosas que te apasionan. Algunas cosas encajan bien con un entorno de trabajo específico que otras no. Dudo que la mayoría de las compañías te culpen por no tener un proyecto de pasatiempo. Pero si te apasiona tu tiempo libre por algo que a ellos también les apasiona, puede ser un indicador de un buen ajuste.
SoylentGray

Respuestas:


145

Me siento culpable por no tener un proyecto de hobby

Sentirse culpable es una razón loca para embarcarse en un proyecto de programación. Probablemente también sea una buena manera de comenzar a odiar la programación. Trabajar en algo porque usted quiere , no porque usted piensa que estás supone que .

pero todo lo que se me ocurre hacer ya está hecho.

¡Bah! ¿A quién le importa si ya se ha hecho? ¡Hazlo otra vez! ¡Hacerlo mejor! O bien, acepte que es posible que no pueda hacerlo mejor y hágalo de todos modos. ¿Dónde estaría Microsoft si dijera "bueno, alguien ya ha creado una base de datos / hoja de cálculo / procesador de textos / sistema operativo / IDE / administrador de proyectos / administrador de dinero / Lenguaje orientado a objetos dinámico de herencia única basado en C / navegador web / servidor web / reproductor de música / plataforma móvil / motor de búsqueda, así que buscaremos algo más que hacer ... "?

En serio, si escribes un servidor web, probablemente no superará a Apache, pero definitivamente aprenderás lecciones valiosas en el proceso. Es poco probable que supere a Angry Birds, pero escribir un pequeño videojuego simple también le enseñará mucho.


78
Los proyectos pueden ser como guppies: comienzas un par y antes de que te des cuenta tienes 35. Algunos de esos guppies pueden convertirse en mascotas del tamaño de un jerbo, y uno o dos de ellos pueden convertirse en gatos o perros. . Pero comience con guppies y no dude en eliminar los que no funcionan.
Caleb

55
+1 ¡Sí! El hecho de que se haya hecho antes no significa que no deba hacerlo. Simplemente haz lo que quieras hacer, aprenderás mucho haciendo algunas cosas tú mismo.
Spoike

14
Una de las mejores maneras de aprender improvisación de jazz es copiar los solos de los grandes músicos. La programación es exactamente de la misma manera: construye cosas que ya existen y aprenderás cómo crear algo nuevo.
derekerdmann

66
"Si vale la pena hacer algo, vale la pena hacerlo mal". (GK Chesterton) Las cosas que aprende al hacer un mal motor de blog o un mal cliente de correo electrónico serán invaluables, especialmente si alguna vez se le paga por hacer uno bueno.
Eric Wilson

16
+1 "¡Bah! ¿A quién le importa si ya está hecho? ¡Hazlo de nuevo! ¡Hazlo mejor!" - Puede ser malo en los negocios reinventar la rueda, pero es muy divertido hacerlo en casa. Lo bueno es que ni siquiera tiene que ser mejor.
SoylentGray

59

Creo que los proyectos de hobby son importantes.

Utilizo proyectos de pasatiempos para probar teorías, prácticas de diseño, nuevos marcos que no puedo hacer en mi 9-5. es decir, programación funcional, algoritmos, patrones de diseño, nuevos marcos, nuevos lenguajes, etc.

Esto puede significar la diferencia en la rapidez y la eficiencia con la que puedo abordar un nuevo proyecto en el trabajo, o incluso puede significar la diferencia al elegir un nuevo proyecto de un cliente o perderlo porque no sabía lo suficiente sobre el dominio del problema.

Solo haciendo su rutina diaria de 9-5 puede estancarse como desarrollador si no está introduciendo cosas nuevas o ideas nuevas. Para mí, hacer proyectos de hobby es un medio para convertirme en un desarrollador mejor, más inteligente y más eficiente.

Los posibles entrevistadores tienen en cuenta los proyectos de pasatiempo

En mi experiencia, si ha realizado un proyecto de pasatiempo en una tecnología relacionada que su empleador está usando o "mirando" actualmente. Obtiene felicitaciones adicionales por haberse familiarizado con la tecnología en cuestión. Esto es especialmente pertinente para las nuevas tecnologías que acaban de llegar a la corriente principal donde el campo de juego está nivelado en lo que respecta a la experiencia tecnológica.


44
+1 para "Solo hacer tu rutina diaria de 9-5 puede estancarte como desarrollador".
Bobby Tables

15
@Bobby: "can" es la palabra clave aquí. Como sucede, mi "rutina" 9-5 no me permite estancarme ... Creo que tengo suerte :-))
Marjan Venema

1
El trabajo de hobby +1 IMO es la única forma en que realmente puedes aprender otros marcos, a menos que, por supuesto, no estés ocupado 9-5. Tiendo a encontrar que el trabajo de pasatiempo también ayuda en las entrevistas, pero solo si realmente tienes algo que mostrar, no solo, sí, jugué con eso.
DBlackborough

+1 para la entrevista, mi reto para escribir aplicaciones de Android me llevó directamente a obtener mi posición actual, a pesar de que no hago ninguna programación móvil en esta posición.
Biff MaGriff

@Marjan Venema: Absolutamente. He tenido algunos que sí. Pero también puede ser un poco de "obtienes lo que pones". Lo que en un par de mis trabajos anteriores fue definitivamente un fracaso de mi parte para aprovecharlos al máximo.
Bobby Tables

41

El problema con su trabajo actual es que probablemente solo necesite un conjunto limitado de habilidades para realizar su función laboral. El mundo de la programación es tan vasto que es fácil quedar atrapado en una rutina año tras año. Mediante la programación de pasatiempos, puede diversificarse y estar listo para otras tecnologías antes de que surja la oportunidad, ya sea en su posición actual o en otro lugar.

Pero es importante darse cuenta de que los programadores aficionados no solo programan.

  • Leen blogs
  • Instalan herramientas
  • Leen el código fuente
  • Ellos depuran programas de código abierto
  • Presentan parches
  • Participan en los sitios de programación de StackExchange

Pero a veces se inspiran para escribir un programa para satisfacer sus propias necesidades específicas; el placer culpable de un programador porque tiene exactamente las características que desea. Y luego se cansan y lo tiran. ¡Ese es el lujo de un hobby!


Estoy de acuerdo en que no se trata solo de programar. Yo, y estoy seguro de que la mayoría de los programadores, hacemos casi todos los elementos de su lista a diario.
Pieter van Niekerk

77
+1 Gran parte de la "programación" consiste en actividades distintas a introducir código nuevo en un editor.
StevenV

26

En mi humilde opinión, no son necesariamente proyectos de pasatiempos per se los que te hacen mejorar (aunque no están seguros), sino permanecer abierto y pasar tiempo aprendiendo cosas nuevas en general. Como señaló @Rick, puede tomar muchas formas diferentes aparte de la codificación real. Por ejemplo, puede leer libros, pero si tiene una computadora portátil, incluso código, mientras viaja al trabajo.

Tenga en cuenta también que uno absolutamente necesita mantener un equilibrio .

  • Si no pasa nada (de su tiempo libre) aprendiendo, se estancará y, en algún momento, se aburrirá por completo de su profesión y no podrá asumir nuevos desafíos.
  • Si pasas demasiado tiempo libre aprendiendo, no tendrás tiempo para esa cosa curiosa pero importante llamada Vida, por lo que a largo plazo puedes quemarte y / o tener problemas de salud.

Una cosa más: es fácil (sugerir) trabajar en proyectos de hobby mientras uno es joven y soltero. En etapas posteriores, es posible que tenga una familia, y eso eliminará la mayor parte de su tiempo libre durante muchos años (al menos si quiere hacerlo bien, ¿y cuál es el punto de lo contrario?). Por lo tanto, se verá obligado a administrar su tiempo de manera más eficiente, a fin de ahorrar un tiempo precioso para aprender.


55
+1 por tener una vida. No trabajo en una empresa típica, pero considero que aprender y mantenerme actualizado es parte de mi trabajo. Gran parte de mi aprendizaje ocurre en el trabajo. De acuerdo, no trabajo en proyectos de hobby a gran escala en el trabajo, pero encuentro oportunidades para usar cosas nuevas "solo porque" en mis diversos proyectos de trabajo. Entonces, para mí, tener una vida es más importante que tener un pasatiempo.
Phil

2
+1 para toda la vida! Es esencial tener un equilibrio entre el trabajo y la vida. ¡Te quemarás muy rápido si no lo haces!
Steven Striga

1
+1 Estoy teniendo dificultades con esto en este momento. Tengo dos hijas jóvenes (6,11) que requieren mi atención, mi trabajo diario (50 horas) y luego otras 8 a 16 horas en el trabajo contratado. Por un tiempo, manejé esto haciendo el 6-5, pasa tiempo con la familia hasta que te acuestes alrededor de las 9, y luego contrataste el trabajo hasta el momento. Funcionó pero realmente me estoy quemando. Simplemente no he decidido qué hacer al respecto todavía.
Ominus

10

¡Haz proyectos paralelos! No piense en ello como algo nuevo en la web, piense en ello como practicar sus habilidades, sandbox para aprender / dominar tecnologías y enfoques.

Como empleador, siempre he estado preguntando a mis posibles compañeros de trabajo si están haciendo proyectos secundarios interesantes. E incluso en caso de que no fueran ideas espectaculares, pero sus autores mostraron entusiasmo al respecto, siempre fue un gran profesional.


2
Lo pido en entrevistas. Si alguien no hace programación de pasatiempos, no lo consideraré en contra de ellos porque hay mucho más en la vida, y con la familia puede haber menos tiempo para eso (mis proyectos se estancaron cuando tuve hijos), pero sí considérelo un bono porque muestra que tienen verdadero interés e iniciativa. No puedo decirle a cuántas personas bloquean los escritores si tienen que comenzar desde "main ()".
phkahler

7

Los programadores que conozco que tienen dificultades para mantenerse al día con las nuevas tecnologías son los que lo tratan como un trabajo. Sus contrapartes - los que no mantienen al día con el nuevo material son los que hacen que las cosas en casa.


+1 para una buena respuesta concisa. Sin embargo, tenga cuidado de no asumir la causalidad.
Caleb

66
¿Por qué no puedes seguir el ritmo de las cosas nuevas en el trabajo? Parece que el problema aquí es un empleador malo y de mente estrecha en lugar de la falta de proyectos de aficionados.

6

Dices que todo lo que puedes pensar ya se ha hecho, pero ¿todas las herramientas que utilizas funcionan de la manera que quieres? Frecuentemente encuentro que las herramientas hacen casi, pero no del todo, todo lo que quiero, y mis proyectos de pasatiempo surgen al tratar de llenar el vacío. No siempre tengo éxito, pero disfruto intentarlo, y como usuario final no tengo problemas con la motivación o las especificaciones


4

Si realmente tiene el interés y la energía para esos proyectos, hágalos por todos los medios. Pero no iría tan lejos como para decir que es imprescindible para cualquier programador serio. Si trabaja a tiempo completo con la programación, hacerlo también en su tiempo libre no necesariamente aumentará su interés en él, puede muy bien tener el efecto contrario. Personalmente solía hacer proyectos de pasatiempo, pero me he detenido. Ya estaba programando 5 días a la semana y me pareció más saludable hacer algo completamente diferente en mi tiempo libre.

Además, si su empleador no le da espacio para probar cosas nuevas en el trabajo, estudiar y mejorar continuamente, entonces probablemente debería buscar un nuevo trabajo en lugar de hacer esas cosas en su tiempo libre. Un buen empleador se dará cuenta de que es de su interés mantener sus habilidades actualizadas, mejoradas y ampliadas.

Desde el punto de vista del empleador (yo soy uno de esos), los proyectos de pasatiempo serán un mérito si no tienes experiencia laboral real. Todos los proyectos de pasatiempos y escuelas serán muy importantes como referencia durante la entrevista.

Pero si tiene experiencia, son menos relevantes: si bien pueden indicar una pasión por su oficio, al mismo tiempo pueden indicar que es un poco nerd. Desde mi experiencia personal, realmente no puedo encontrar ninguna conexión entre los proyectos de pasatiempo y los candidatos buenos / malos, no creo que sean particularmente relevantes a menos que esté recién salido de la escuela solicitando su primer trabajo.


1
+1 por ser una de las únicas respuestas que dicen que los proyectos de pasatiempo no son necesariamente siempre buenos (requieren tiempo y energía). Personalmente, tengo muchas cosas que hacer durante el tiempo que no estoy en el trabajo y rara vez tengo tiempo para programar (navegar SO no es tan exigente como la programación real). Esas cosas incluyen hacer quehaceres, tener una vida social, descansar para que pueda ser productivo cuando regrese a trabajar el lunes (duermo mucho; o)), etc. Sin decir que eso es malo, esos tipos son quizás / probablemente mejores que yo para el empleador pero prefiero tener una vida más equilibrada personalmente.
n1ckp

3

Estoy más en cuestionarios y pequeños fragmentos de código similares que los proyectos a escala completa (aunque intento trabajar en algunos proyectos de OSS si tengo tiempo). Entonces, para mí no hay mucha excusa para decir que no tengo una gran idea para un proyecto. Simplemente escriba un solucionador de Sudoku e intente implementar algo como Dancing Links para hacerlo más rápido.

Lo importante que sean para que usted se convierta en un mejor desarrollador puede depender de su trabajo. Si esto ya es muy exigente, puede obtener toda la capacitación que necesita. De lo contrario, elegir el proyecto adecuado (o cuestionario para resolver) le enseñará cualquier cantidad de cosas nuevas y lo mantendrá en contacto con una amplia área de experiencia que muchos trabajos no ofrecen, ya que a menudo está limitado a usar un pequeño conjunto de herramientas para un dominio claramente definido.

Y sí, algunas empresas están seriamente interesadas en sus proyectos. Por lo menos, te dan muchas oportunidades para hablar sobre algo que sabes muy bien durante una entrevista.


1
Con respecto a los cuestionarios y similares, trabajo en acertijos como el Proyecto Euler.
Pieter van Niekerk

3

Los proyectos de pasatiempos en sí mismos no serán importantes en la mayoría de las entrevistas. Hay algunas personas a las que les importa que hagas codificación como pasatiempo, pero a la mayoría no. ¡SIN EMBARGO, las habilidades que adquieres de la programación de pasatiempos pueden ser importantes en una entrevista!

La programación adicional en el lado definitivamente será ventajosa en la programación, hasta el punto de agotarse ... Sin embargo, incluso más allá del problema de agotamiento, también debe tener en cuenta que los empleadores a menudo buscan otras habilidades más allá de la programación. Si está programando 24/7, ¡no está desarrollando esas OTRAS habilidades! Balance ... :-)


2
En mi última ronda de entrevistas esperaba hacer algunas pruebas de código. En cambio, esta compañía pidió ver algunos de mis códigos publicados. Bueno, el único que pude mostrarles legalmente fue mi proyecto de pasatiempo (un evento cronometrado que no hice exactamente robusto y limpio). El proyecto también surgió en otras entrevistas. La gente se preocupa. Pero tienes razón en el sentido de que a nadie le importa que hayas ido a la universidad, les importa lo que hayas aprendido allí.
Philip

3

Por un lado, creo que los proyectos de pasatiempo son importantes, porque de lo contrario se estancará y perderá la diversión.

Mi sugerencia para encontrar un nuevo proyecto de pasatiempo:

Aprende un nuevo lenguaje de programación para hacer tu proyecto de pasatiempo. Por ejemplo, un buen objetivo es tratar de aprender un nuevo idioma por año (se hace mucho más fácil cuanto más sabes)

Lo mejor sería uno que te parezca totalmente extraño. Porque cuanto más extraño te parezca, más expandirá tu horizonte.

Además, conocer muchos idiomas con diferentes sintaxis le permite centrarse en la sintaxis como algo importante al programar. Es solo una representación secuencial de árboles de sintaxis y no es muy importante. Esto mejora su enfoque en la semántica, que es mucho más útil en la práctica.

¿Has probado un lenguaje de programación funcional? ¿Has probado los lenguajes de programación distribuidos? ¿Idiomas de coincidencia de patrones?

Para encontrar pequeños proyectos para trabajar en el Proyecto Euler es muy recomendable.


Lo reformularía un poco: use un nuevo idioma para hacer su proyecto de pasatiempo. Entonces el proyecto es la motivación, no el aprendizaje.
phkahler

Buena sugerencia, ¿lo hizo?
Peer Stritzinger

2

Soy un desarrollador web aficionado sin educación universitaria (todavía) trabajando en mi propio proyecto personal. Me invitaron a mi primera entrevista para un trabajo de programación hace un par de semanas porque estaba trabajando en mi propio proyecto personal.

Tener en cuenta esta evidencia anecdótica, trabajar en mi proyecto personal de "pasatiempo" ha sido lo mejor que he hecho para avanzar en mi carrera en el desarrollo ... después de inscribirme en la universidad.

Entonces, sí, los entrevistadores ciertamente tienen en cuenta sus proyectos personales, de lo contrario, ni siquiera se habrían molestado en hablar conmigo.


1
Este es un buen consejo para todos los que no tienen experiencia laboral y buscan su primer trabajo como programadores.

2

Otros han cubierto mucho, pero quiero centrarme en esta parte:

Me siento culpable por no tener un proyecto de pasatiempo, pero todo lo que puedo pensar en hacer ya está hecho. Entonces, ¿tengo algo en mente sobre esto, comenzar algo que ya se ha hecho o dejarlo hasta que se me ocurra algo original?

Me parece que esto pierde el punto de un "proyecto de pasatiempo". Es cierto que muchos proyectos de pasatiempos se crean para otros, o al menos teniendo en cuenta el consumo público: estos proyectos requieren una cierta cantidad de trabajo constante a lo largo del tiempo y pueden ser desalentadores por ese motivo. Después de todo, ¿quién quiere hacer otra cosa u otra con poco apoyo y de baja calidad que finalmente se abandona después de un par de meses?

Pero , no hay razón para que su proyecto de pasatiempo tenga que hacer algo útil para nadie. Por ejemplo, recientemente comencé a aprender Haskell , simplemente porque es tan drásticamente diferente de los idiomas imperativos a los que estoy acostumbrado, y es realmente fácil de configurar. También empecé a aprender el lenguaje ensamblador Redcode , usado en el juego de programación Core War , nuevamente por curiosidad.

Esto, a su vez, me ha llevado a considerar la creación de un complemento Notepad ++ para proporcionar mejores características de resaltado de sintaxis para Redcode, lo que me ha llevado a considerar aprender un poco de C ++ . Basándome en mi familiaridad comparativa con .NET, ahora estoy pensando en configurarme con Visual C ++ .

Y la cuestión es que nada de esto realmente "importa", al menos no como un proyecto. Demonios, no estoy seguro de que incluso puedas llamarlo un proyecto per se , tanto como un montón de cosas con las que estoy jugando porque me llamó la atención. Quiero decir, necesitarás un poco de tiempo y organización para asegurarte de obtener algo, pero a nadie le importará si dejo de tener tiempo para Haskell una vez que comience la escuela.

Y a nadie le importará si resulta que el desarrollo del complemento para Notepad ++ es más difícil de lo que esperaba, y me doy por vencido; de hecho, miré a Perl antes de sumergirme en Redcode, y lo abandoné bastante rápido porque tuve dificultades para obtener el entorno configurado correctamente. ¿Esto mostró una falta de persistencia? Sí. Pero a nadie le importa, porque es mi hobby , y eso significa que puedo jugar con lo que quiera.

Por lo tanto, no sienta que necesita elegir algún proyecto de pasatiempo que le enseñe Habilidades Comercializables, eso es solo convertir su tiempo libre en más tiempo de trabajo no remunerado. Las habilidades vienen como resultado de lo que haces, pero no son la razón . Ahora entiendo mejor la programación declarativa, y cómo funcionan los lenguajes ensambladores, y cómo los programas usan DLL. Y he aprendido muchas cosas sobre el símbolo del sistema de Windows, y otras cosas que no habrías pensado que estaban conectadas a nada de lo que he mencionado hasta ahora.

El punto es encontrar algo completamente nuevo y ver si es tan interesante como parece. Si es así, genial, y si no lo es, sigue adelante. ¿Alguna vez has tenido la más mínima curiosidad sobre compiladores o intérpretes? Ve a ver LOLCODE . Si te hace tan feliz como a mí, entonces es hora de comenzar a aprender sobre compiladores . Y oye, tal vez deberías volver y pensar en resaltar la sintaxis nuevamente. De hecho, este será probablemente el próximo proyecto que comience.

Si eso no es lo tuyo, prueba algo de nivel inferior al que estás acostumbrado. O de nivel superior. No importa. La única cosa que hace asunto es que cuando se mire, usted piensa "Fun!"


0

Estos proyectos son imprescindibles para un programador serio, especialmente si trabajas como freelance.

En lugar de trabajar 6 días a la semana, 1 día de descanso, puede trabajar 5 días a la semana, 1 día para probar nuevas teorías y características y 1 día de descanso.

Puede parecer que el día de la prueba es una pérdida de tiempo, pero reconocerá sus beneficios cuando se le dé la posibilidad de implementar una nueva característica en su lenguaje de programación que ya había probado durante uno de esos días.


0

Participo en entrevistas y contrataciones en mi tienda. Un 'proyecto de pasatiempo' siempre es una ventaja para nosotros.

Tener un proyecto personal más o menos terminado muestra que realmente disfrutas creando software y muestra que estás motivado para aprender cosas nuevas y mejorar tus habilidades.

Si desea causar una impresión realmente positiva en una entrevista, traiga una computadora portátil con su proyecto personal. Muéstrelo al entrevistador, cuéntele sobre los desafíos que encontró mientras lo construía, déjelos ver su código. Dígales por adelantado dónde están los bordes ásperos y cuáles podrían ser sus planes futuros para el proyecto.

Serás recordado, en el buen sentido.


0

Encuentro que la programación en mi tiempo libre tiene dos propósitos:

1) Me permite lograr algo personalmente gratificante, sin las restricciones de los proyectos de trabajo. Esto es especialmente importante cuando he estado lidiando con problemas difíciles y frustrantes con mis proyectos de trabajo.

2) Me da la oportunidad de ampliar y agudizar mis habilidades de programación, ya que soy libre de crear lo que desee.

De todos modos, creo que también es importante equilibrar esto con algunos pasatiempos no relacionados con la computadora. Para mí, es mantener el arroyo y los senderos detrás de mi casa.


0

Tener una aplicación para mascotas es una excelente manera de forzarse a aprender partes de su plataforma actual que quizás no haya pensado. Por ejemplo, puede ser un gran desarrollador de C # trabajando en una aplicación ASP.Net en el trabajo. Pero si tienes un chico en tu equipo dedicado al CSS, es posible que nunca lo aprendas correctamente. Sin embargo, si tiene un proyecto web para mascotas, tendrá que aprender a hacer CSS. Esto es cierto para una gran cantidad de tecnologías con las que se encontrará si tiene su propio proyecto donde es el único desarrollador.

Para una excelente redacción sobre todos los beneficios de las aplicaciones para mascotas, consulte esta publicación .

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.