¿Qué tan importante es terminar los proyectos? [cerrado]

42

Soy estudiante (aún no he ido a la universidad) y he estado programando durante unos 5 años. Durante ese tiempo, he cambiado de un idioma a otro, de API a API y de proyecto a proyecto. Intenté concentrarme en una cosa, pero pierdo interés. Toda mi PC está llena de proyectos a medio terminar (y al menos cuatro veces más han sido formateados de mi disco).

Empiezo a preguntarme si mi menor motivación para programar por diversión (es una actividad que realmente disfruto) es porque nunca obtengo un proyecto terminado al final. No puedo decir si solo tengo metas abiertas, o si tengo poca capacidad de atención. Intenté hacer algunos proyectos más pequeños solo para terminarlos, pero no me interesan en absoluto.

¿Podría ser esto una causa de mi caída en la motivación? Además, cuando solicito ir a la universidad (y en el futuro, con suerte, un trabajo de software) ¿es probable que sea un problema?

En resumen:

¿Qué tan importante es terminar los proyectos paralelos / pasatiempos, ya sea para carrera, motivación o educación?

El pato comunista
fuente
8
No creo que esto sea malo cuando hablamos de proyectos personales. Tengo muchos proyectos que comencé porque quería aprender algo o probar una herramienta y paré cuando aprendí lo que quería, a pesar de que el proyecto en sí no estaba terminado: el producto estaba aprendiendo, no el software y el producto estaba hecho! Terminará todos los proyectos y cuando los necesite terminados para pagar las facturas. ¡Disfruta mientras puedas! : D
Vitor Py
2
He oído decir que la diferencia entre un programador aficionado y un programador profesional es que un profesional encuentra la manera de terminar los proyectos. Buscar ayuda es una forma de liberarse y finalizar proyectos. :-) Como han dicho otros, no importa tanto terminar sus proyectos personales, aunque aprender cómo terminar un proyecto es algo que vale la pena aprender.
Gilbert Le Blanc
1
¿Terminas lo que comienzas? Es una pregunta de entrevista común.
Aditya P
1
@AdityaP: Y la respuesta es "No". Una compañía dice "No sabemos si vale la pena hacer X o no. Pero si esperamos hasta que sepamos, la competencia está muy por delante de nosotros. Así que comenzamos X ahora. Tal vez en medio año, cancelemos el proyecto y perder medio millón. O tal vez en medio año, vamos a toda máquina y ganamos diez millones ". Terminar todo lo que comienzas es idiota.
gnasher729

Respuestas:

40

Obviamente, terminar un proyecto es importante en el "mundo real", ya que a menos que el proyecto se complete y se entregue, a usted (o su empleador) no se le paga.

Sin embargo, para proyectos de hobby y aprendizaje es un poco más complicado. Tener proyectos terminados demuestra a los empleadores potenciales que puede entregar lo que se propuso entregar, pero depende de lo que quiere decir con "proyecto".

Si está haciendo el proyecto con el fin de tener un producto completo que muestre todas sus habilidades y pueda ser algo de lo que quiera ganar dinero, entonces sí, debe terminarlo, o al menos demostrar que se está trabajando activamente .

Si está haciendo el proyecto para aprender cosas específicas (cómo transmitir video, cifrado de contraseña, lo que sea), una vez que tenga ese aspecto funcionando, es menos vital tener un producto completamente funcional, ya que ha completado el proyecto de manera efectiva. Lo que debe tener es algo que pueda mostrarle a los posibles empleadores para demostrar sus habilidades.

Por ejemplo, este podría ser un sitio web que dice "Bienvenido de nuevo, Joe" después de iniciar sesión con éxito y nada más, pero está bien, ya que muestra el código detrás del sitio web que demuestra que comprende el cifrado de contraseña y las conexiones seguras, etc.

ChrisF
fuente
1
Sin embargo, su ejemplo está terminado porque el propósito era solo entender el cifrado de contraseña. Terminar proyectos es muy importante porque aprende mucho sobre el proyecto, lo que funcionó y lo que no funcionó, este conocimiento es útil para la forma en que puede manejar su próximo proyecto.
DBlackborough
1
@ G3D: punto justo, pero todo el sitio web como proyecto no está "terminado". Trataré de aclararlo un poco.
ChrisF
48

Tómelo de alguien que tenga el mismo problema, terminar al menos algunos de sus proyectos es muy importante. Está completamente bien hacer algunos proyectos experimentales y abandonarlos cuando has aprendido lo que necesitas o simplemente no era una buena idea para empezar.

Sin embargo, a las personas creativas les gusta la primera parte desafiante de cualquier proyecto más que la aburrida fase de "ordenar, empacar y salir por la puerta" al final. Debes idear una estrategia para superarlo o de lo contrario

1) Nunca obtenga crédito público por nada de lo que haga (si eso es lo que quiere)

2) Nunca podrás ganar dinero con lo que has hecho (si eso es lo que quieres)

Pero lo peor de todo es que los demás y usted mismo comenzarán a identificarlo como alguien que no termina las cosas, y eso es una muy mala etiqueta para usted y otra para su propia mentalidad.

Así que encuentre un socio, razón o disciplina para al menos comenzar a terminar algunos de sus proyectos.

Estrategias útiles para postergar programadores

  • Haga una lista de todas las cosas buenas que podrían suceder si terminara el proyecto y de todas las cosas malas si no lo hace. Luego pégalo a tu monitor :)

  • Establecer un horario! Los proyectos ocupan el tiempo asignado a ellos, por lo que un proyecto sin fechas límite llevará una eternidad. Establezca un cronograma con hitos mensuales y semanales

  • Establezca una meta diaria, "Hoy voy a lograr esto"

  • Si está haciendo una aplicación o algo similar, concéntrese en que sea ejecutable y utilizable para que pueda comenzar a comer su propia comida para perros. Probablemente esté trabajando en algo que le interese, por lo que usarlo regularmente lo motivará a mejorarlo.

  • Tenga cuidado con las grandes excursiones de refactorización, rompí mi aplicación durante cuatro meses debido a una extensa refactorización y el desarrollo se desaceleró simplemente porque no podía ejecutarlo y estaba desmotivado para trabajar en él. Refactorice pero intente no hacerlo todo de una vez :)

  • Haga una lista de todo lo que debe hacerse para terminar (recomiendo la lista de tareas de abstractspoon). Si no sabemos cuánto queda, ¿sabremos cuándo terminamos? Trabajar hacia un objetivo desconocido puede ser bastante desmotivador

  • Revise la lista y elimine todo lo que no sea absolutamente necesario (póngalo en una categoría agradable). Terminar el producto le dará un impulso y esas cosas se pueden hacer entonces. Es mejor lanzar algo que nada . Ni siquiera el iPhone tenía todo al principio.

  • No se distraiga con cosas nuevas y brillantes. La razón principal por la que no termino los proyectos es porque encuentro un nuevo desafío nuevo. Si absolutamente no puede resistirse a comenzar un nuevo proyecto antes de que finalice el anterior, siga trabajando en el antiguo en paralelo o se extinguirá por completo. Además, vea el siguiente punto.

  • Establecer un tiempo de trabajo mínimo. Si realmente está harto de un proyecto, establezca un tiempo mínimo para trabajar en el proyecto cada día, incluso si solo son 15 minutos o una hora. Lo más probable es que si comienzas trabajarás más tiempo que eso.

/ me sale para terminar su próxima gran aplicación / lenguaje de programación / facebook killer;)

Homde
fuente
21

Toda mi PC está llena de proyectos a medio terminar

¿Estás seguro de que están a medio terminar? El valor de terminar realmente algo es que solo entonces realmente aprecias la gran tarea que es terminar algo. Los programadores tienen un optimismo inherente para considerar casi cualquier cosa que el 80% haga la mayor parte del tiempo, pero siempre resulta que el 20% restante tomará al menos el mismo tiempo y esfuerzo que el primer 80%.

Por lo tanto, realmente recomiendo terminar al menos un proyecto. A los clientes que pagan no les importa si un proyecto está terminado al 50%, 80% o 99%. Solo el 100% de hecho cuenta.

Joonas Pulakka
fuente
Medio terminado como término general. No sé hasta qué punto se han hecho, pero casi con seguridad mucho menos que eso. (es decir, un lexer y quizás el 30% de un analizador sintáctico, pero sin backend)
The Communist Duck
3
El primer 90% del trabajo, naturalmente, toma el 90% del tiempo. El último 10% del trabajo toma el otro 90% del tiempo.
Buttons840
Muy cierto. El último proyecto de hobby que hice fue "terminado" después de 5 horas. Sin embargo, agregar todas las campanas y silbatos tomó otras 10 horas.
Carra
5

Tengo innumerables proyectos de mis días de estudiante que quedan sin terminar. No creo que sea importante terminarlos. Nunca terminé la mayor parte de la mía. Algunos de ellos estaban completamente sesgados, como crear una mejor clase de cadena o manipular mapas de bits con matrices de clase Pixel.

Tal vez estás eligiendo proyectos que son demasiado grandes. Elige algo realmente pequeño. Algo que no tardará más de un sábado por la tarde en completarse. Estarás satisfecho al completarlo. Quizás te sientas con energía para hacer otra.

Una cosa importante para recordar es que cuando llegue al mundo laboral pasará 8 horas al día resolviendo problemas. Le da mucho más tiempo para abordar grandes proyectos que en el entorno de estilo de vida de estudiantes esporádicos.

Tjaart
fuente
1
+1 para "completamente peinado" (por cierto, peinado , no peinado). Una excelente descripción de muchos de mis proyectos abandonados. Eso e imposiblemente megalomaníaco.
Tom Anderson
5

¡Enorgullécete de tu carpeta de proyectos inacabados y no te desanimes! Si estuvieras en otra disciplina, por ejemplo, arte, entonces los proyectos inacabados realmente no importarían, el punto es que tienes una oportunidad y eso en sí mismo es admirable. ¿Podrías estar sentado en casa viendo la televisión? O perder todo el tiempo en los sitios de Stack Exchange (¡Uy!)

Microsoft nunca envió la API 3D 'Fahrenheit' que alguna vez esperé, nunca enviaron el sistema de archivos 'base de datos' que reemplazaría a NTFS y mataron el proyecto DeepZoom 'Seadragon' que podría haber sido increíble. Probablemente no pudieron completar y terminar cientos de otros productos, no necesariamente por motivación para 'abrazar, extender y extinguir'. También han enviado sistemas operativos completos que eran mucho menos del '98% completo '. ¿Eso los hace pobres finalizadores completos?

'Completer-Finisher' es en realidad una frase del modelo de equipo Belbin . Tal vez usted sea un 'Especialista' o un 'Investigador de recursos' y se adapte a un equipo donde otros realizan las tareas de finalización completa. Ver las cosas de esta manera le permite ver su situación de manera más positiva.

Mateo
fuente
3

Si es un consuelo a pesar de ser un desarrollador de software profesional durante más de 8 años, todavía me resulta difícil terminar proyectos personales. Siempre he sentido que es una combinación de objetivos abiertos, un deseo de "hacer lo mejor primero" y la falta de presión real para completarlo ... sin embargo, para responder a sus dos preguntas:

Creo que tratar los proyectos como fracasos porque no se completaron al 100% afectará su motivación y puede evitar que realmente entre en un maravilloso campo de trabajo. En lugar de verlos como fracasos, intente pensar en lo que aprendió de ellos: qué nuevos lenguajes / marcos que conoce ahora, qué lecciones de programación aprendió, qué herramientas ahora tiene habilidades y con qué personas / comunidades interactuó mientras lo hacía. Visto desde esa perspectiva, es raro encontrar un proyecto personal que no contribuya de alguna manera a su conocimiento.

Encontrarás en la universidad o en el empleo que hay dos grandes diferencias que te aseguran que completas tus proyectos. En primer lugar, sus objetivos suelen estar bastante bien definidos, especialmente durante los primeros dos años de universidad. En segundo lugar, tiene una presión real para completar un proyecto: debe hacerlo para aprobar una clase / módulo o su gerente le dice que el proyecto XYZ debe entregarse al equipo de prueba para una fecha específica. Esto proporciona un enfoque que nunca he podido replicar en proyectos personales.

Jon Malcolm
fuente
2

En primer lugar, es importante para la autosatisfacción. Has logrado algo desde cero hasta un estado final claro. Luego puede hacer estallar un elemento de su "proyecto-apilar-en-mente", y para mí siempre ha sido un alivio.

Para su carrera, y más precisamente para entrevistas de trabajo, hasta que haya terminado su proyecto, no tiene nada que mostrar o hablar ... Mostrar un medio proyecto nunca es bueno. Puede ser defectuoso, feo o simplemente no funciona. Ni siquiera puede mencionarlos a los entrevistadores, de lo contrario, preguntarán "¿Por qué no los terminó?" ... Si responde "No tengo tiempo", significa que no puede programar adecuadamente sus tareas, No eres perseverante. Además, tuvo tiempo para comenzar otros proyectos, por lo que su argumento sería incorrecto. Tendría que encontrar una respuesta inteligente ...

Rockeye
fuente
2

Estaba en una situación similar a Jon Malcolm, pero estaba perdiendo el tiempo en los lugares equivocados. Para proyectos personales, decidí bajar mis estándares a favor de una funcionalidad completa. Eso significaba sin ajax, sin localización, sin mucha validación, sin autenticación, sin paginación, interfaz de usuario básica, sin pruebas unitarias, etc. Simplemente haga que la parte comercial funcione ... Lo llamo 'la línea recta'. La solución estaría completa y debería funcionar en condiciones ideales. Una vez hecho esto, si el proyecto seguía siendo interesante, continuaría las iteraciones de refactorización hasta que perdiera interés.

Kinjal Dixit
fuente
2

Tengo una experiencia similar y ese último 5-10% de incluso un pequeño proyecto de mascotas puede ser mortal .

Mi consejo si quieres terminar? Cuéntales a tus amigos, compañeros de trabajo, familiares o cualquier persona que esté interesada en esta nueva cosa genial en la que estás trabajando. Involúcrelos, hágales preguntas. Esperemos que gane algunos seguidores que le preguntarán sobre su progreso. La presión de saber eso lo motivará a seguir los pasos mundanos pero necesarios para enviar su proyecto.

pojo
fuente
1

Terminar proyectos es lo que separa a los niños de los adultos, el trigo de la paja, los hombres / mujeres de los niños / niñas.

"Los programadores reales se envían".

cuant_dev
fuente
99
También es lo que separa el trabajo del juego.
Tom Anderson
1

Para saber si debe finalizar un proyecto o no, debe evaluar el valor que obtendrá de él en comparación con el tiempo que debe invertir en él para completarlo.

Si el valor que puede extraer de él es menor que la inversión , puede considerarlo a Sunk Costs .

En la economía y la toma de decisiones empresariales, los costos hundidos son costos retrospectivos (pasados) que ya se han incurrido y que no se pueden recuperar.

Demasiados proyectos inacabados conducen al desperdicio . Waste es uno de los enemigos más poderosos de magra .

Dicho esto, a veces, es mejor abandonar un proyecto para centrar sus esfuerzos en uno que proporcione mucho más ROI. Muchas personas terminan todo con obstinación y no logran aprovechar oportunidades realmente buenas .


fuente
1

Simple y simple: si quieres terminarlo, ¡termínalo! Si no quieres, ¡no! No tienes a nadie esperando la entrega, así que ¿por qué agonizar tanto? Hacer proyectos de pasatiempo no es lo mismo que los proyectos de la industria. Ellos son muy diferentes. Nadie le preguntará por qué no terminó sus proyectos de pasatiempo si no les dice que los dejó sin terminar. Hay mil millones de códigos de proyectos de pasatiempos flotando en la red. ¿Crees que a alguien realmente le importan? (aparte de los estudiantes perezosos de la universidad que buscan un proyecto de año final rápido y listo)

DPD
fuente
1

Seth Godin ha escrito mucho sobre la costumbre de enviar:

http://the99percent.com/tips/6249/seth-godin-the-truth-about-shipping

Creo que es importante, y he aquí por qué: no es suficiente hacer un proyecto por ti mismo, aunque pueda ser de algún valor educativo para ti. Si nunca compartes tu regalo con el mundo, eres como un artista que nunca muestra sus pinturas a nadie.

Es algo con lo que lucho también. Si tuviera que analizar por qué, diría que tiendo a sobregeniar y pensar demasiado en mis proyectos personales. Haré demasiadas suposiciones sobre el problema, muchas de las cuales son inválidas, luego trabajaré demasiado antes de darme cuenta. Eso es desmotivador, y en ese momento pierdo impulso. Hay una idea en la que he estado iterando durante los últimos años y he repetido este patrón varias veces.

Mi plan para todos los proyectos personales es enfocarme en un pequeño subconjunto de la visión general, implementarlo y ponerlo a la vista (ya sea un proyecto de código abierto de github, un sitio web, un artículo en una serie de artículos).

Entonces, si todavía estoy lo suficientemente motivado, volveré a repetirlo. Espero que la satisfacción que obtengo del envío me sostenga a través de iteraciones adicionales.

Nate Reed
fuente
0

Es muy importante.

Entiendo que inventar algo como prueba de concepto y luego dejarlo reposar allí. Esta bien. Sin embargo, los clientes no pagarán nada menos que un proyecto completado.

La conclusión es esta ... Las ventas impulsan todo . Sin ventas no hay salarios. Sin ventas no hay mejoras de capital. Sin ventas no hay empresa. Las ventas provienen de clientes. Los clientes solo pagarán cuando estén satisfechos. Satisfacción significa que el proyecto terminado funciona y funciona bien.

Para usar una analogía de fútbol: la zona roja son las últimas 20 yardas frente a la línea de gol. Es la parte más agotadora de anotar un touchdown. Lo mismo se aplica a un proyecto de programación. El último 20 por ciento es a menudo el más difícil de terminar, pero debe hacerse.

Michael Riley - AKA Gunny
fuente