¿Cuáles son las desventajas de comenzar un proyecto de código abierto si uno no es un programador experimentado? [cerrado]

12

Tengo muchas ideas para crear productos. El problema es que tengo menos de un año de experiencia laboral profesional y tengo miedo de ser juzgado negativamente en el futuro en función de lo que produzco ahora. No tengo idea si mi código es bueno.

No estoy familiarizado con ninguno de los patrones de codificación. Todo lo que sé es crear productos que funcionen. Quiero tener un perfil público en github para mis proyectos futuros e intentaré asegurarme de que esté bien comentado, optimizado y limpio.

Estas son las cosas que temo quedar expuestas públicamente:

  1. Mi código puede no estar muy optimizado.
  2. Uso incorrecto de ciertas bibliotecas o funciones que casualmente hacen el trabajo.
  3. No conocer o seguir ningún patrón de codificación.
  4. Muchos errores / sin tener en cuenta los casos de esquina, borde
  5. Falta fundamental de comprensión y aplicación de ciertos conceptos, como seguridad de subprocesos, problemas de concurrencia en la programación de subprocesos múltiples, etc.

¿Debo seguir adelante y comenzar o seguir trabajando en la construcción local y privada hasta que tenga más experiencia? No quiero que los errores cometidos aquí persigan las perspectivas de mi carrera a largo plazo.

endrendum
fuente
44
Entiendo de dónde vienes. Cuando expones tus proyectos al mundo, estás exponiendo efectivamente una parte de ti mismo. Sin embargo, considere esto, prácticamente todo el código en el planeta tiene errores, a menos que lo hayan engañado verificándolo formalmente. Tienes mucho más que ganar de lo que tienes que perder. Si un posible empleador descubre que cometiste un error en uno de tus proyectos mientras estabas relativamente inexperto, pensarán mucho, igual que yo y todos los demás aquí. El escenario más probable es que no tendrán tiempo para revisar todo lo que has escrito.
dan_waterworth
1
En mi punto de vista, verificar formalmente que un programa no es "hacer trampa".
44
All I know is to build products that work.- Lo cual es una cosa muy buena. Es fácil quedar demasiado atrapado en patrones y diseño y terminar nunca entregando ...
Izkata
Digo joder lo que dicen otras personas y no tengas miedo. Si quiere hacer algo positivo y cree que usted u otros pueden beneficiarse de su trabajo, simplemente hágalo. (Nike plug)
Snake

Respuestas:

32

Después de 30 años de desarrollo de software profesional, sigo creando errores. Todavía encuentro patrones que no sé. Todavía aprendo de mis colegas y encuentro cosas que no sé todos los días.

Los desarrolladores más experimentados lo juzgarán por cómo responde a los problemas y las críticas, si aprende de sus errores y mejora su producto para satisfacer las necesidades de los usuarios o la comunidad, si admite lo que no sabe y busca mejorar.

Una de las mejores habilidades para un desarrollador es la voluntad de hacer preguntas tontas y parecer un poco tonto a veces para encontrar buenas respuestas lo más rápido posible.

Todos los que tienen experiencia y son muy competentes estuvieron una vez donde estás ahora. Aprenderá mucho más rápido si realiza su trabajo y trabaja con otras personas.

No hay razón para esperar. Haz que tu proyecto sea abierto.

Mejor aún, contribuya a otros proyectos abiertos y aprenda de ellos.

joshp
fuente
+1. Por cierto, me pregunto por qué su segundo párrafo me hace pensar en el equipo de desarrollo de PHP.
Arseni Mourzenko
+1 Comprender y respetar que todos pueden hacer lo malo es una de las cualidades más importantes como miembro del equipo.
jgauffin
6

Creo que te preocupas demasiado.

La comunidad del sistema operativo está más preocupada por lo útil que es una aplicación en particular que por lo bien que está escrita. Si está mal escrito, la comunidad intervendrá y ayudará a rectificar los errores. Lo que es más interesante es qué tan bien la aplicación resuelve los problemas con los que las personas luchan. Si la aplicación / proyecto proporciona una solución elegante a un problema molesto, entonces la calidad del código se convierte en un punto discutible.

Ponlo allí, mira lo que pasa. No sabrá qué tan bueno / qué tan malo es su código hasta que otros lo vean y empiecen a jugar con él. TODO el código tiene errores. Lo que es más interesante es qué tan rápido trabaja el autor para resolver esos errores.

Considéralo un ejercicio de aprendizaje. No vas a descubrir lo que no sabes hasta que saques un poco el cuello y levantes algunas críticas. Con suerte, la mayoría de las críticas pueden volverse constructivas. Dado que está preguntando al respecto en primer lugar, me siento bastante cómodo al decir que tendrá un código de calidad al menos promedio o mejor.


fuente
5

Encontramos personas con alto conocimiento en el campo de Código Abierto. Eso es cierto, y también intimidante para los recién llegados. Pero también son muy buenos para proporcionar ayuda para buenos proyectos, incluso si el desarrollador principal no refleja los requisitos reales para que el software alcance una alta calidad.

Ya conoces tus limitaciones. Eso no es un mal comienzo. Ese es un buen comienzo.

Entra en la fiesta y encuentra tu lugar allí.

¡Buena suerte!

rdconsolo
fuente