¿Comenzar un nuevo proyecto desde cero es mejor que unirse a un proyecto en GitHub?

Buena pregunta.

En primer lugar, necesitamos poner una definición, o un estado, para compararlo con el fin de responder a su pregunta, que es “cuál es mejor”, en otras palabras, ¿ mejor en qué?

Si te refieres a adquirir experiencia:
Obtendrá una experiencia diferente de estas dos formas, trabajar solo le enseñará cómo depender de usted mismo y desbloquearse a sí mismo, por otro lado, trabajar con otros le dará más habilidades de comunicación, lo ayudará a comprender mejor los códigos de los demás, escribir con facilidad entendió el código y le enseñará cómo cooperar en la codificación, que es una habilidad muy importante.

Si quiere decir de acuerdo con su CV y ​​su peso y habilidades:
Los reclutadores quieren ver tu propio trabajo, porque muestra claramente lo que hiciste y lo bueno que eres.

Conclusión:

Hacer proyectos solo es imprescindible , debe hacer proyectos completos por su cuenta, por otro lado, tener contribuciones con otros es algo muy bueno, pero no es obligatorio tener proyectos individuales, por lo que recomendaría proyectos individuales para usted.

Como principiante, lo más importante es desarrollarse, hacer buenos proyectos y participar con otros en GitHub después de tener una buena experiencia trabajando solo, también tenga en cuenta que trabajar para una empresa le brindará la experiencia real que obtendrá cooperando en GitHub más muchos otros beneficios.

Recomiendo hacer una serie de proyectos propios, con un alcance creciente.

La dificultad para unirse a un proyecto es la misma que tenemos profesionalmente. No solo estás escribiendo tu propio código, a tu manera. El paso 1 siempre es comprender dónde encaja su código en la base de código existente, y esto a menudo resulta en compromisos.

Ciertamente es más difícil de entender.

Así que comienza con tu propio trabajo de campo. Más fácil.

Por supuesto, una vez que crezca habilidades, intente refactorizar algún proyecto GitHub existente para limpiarlo un poco. Pero esto es mucho más difícil. Y más parecido a lo que harás como programador de trabajo, la mayoría de las veces.

Cuando comencé a programar, no había GitHub disponible. Solo libros, sin internet, pasión y, en ese momento, no había otra opción disponible sino elegir un problema y resolverlo desde cero.

Luego, cuando llegó Internet, se puso a disposición una gran cantidad de material abierto. Para ser verdad, había una opción anterior: una compañía llamada The Austin Code Works , que puso a disposición en disquetes muchos códigos de código abierto disponibles en ese momento, así que compré algunos de ellos y comencé a aprender directamente del código de programadores más experimentados. Cómo resolver los problemas que resolví anteriormente por mí mismo.

Mi opinión es que la programación es difícil y no hay atajos, sino aprender por prueba y error. Puedes aprender de memoria docenas de libros sobre programación, algoritmos, lenguajes de computadora, pero estas cosas se vuelven reales solo cuando trabajas en algo tuyo.

No creo que haya una opción predefinida, ya que depende de ti como persona: hay programadores que aprenden mucho leyendo el código de otras personas, otros como yo que aprenden haciendo.

Desde mi punto de vista, no hay mejor opción.

Comenzar un nuevo proyecto te permitirá crear una aplicación que te apasione. Mostrará sus habilidades de codificación y arquitectura. Pero lo comienza solo y puede tomar un tiempo para que otras personas lo descubran.

El proyecto existente, por otro lado, le dará retroalimentación inmediata sobre sus habilidades de codificación. Le dará comunidad con el mismo enfoque.

Para principiantes, es mejor tener comentarios frecuentes para mejorar sus habilidades.

Haz ambos.

Unirse a un proyecto le enseñará cómo colaborar, con suerte le mostrará un código de calidad y algunas otras cosas buenas.

En su propio proyecto, siéntase libre de cometer tantos errores como desee, sin temor a arruinar las cosas para el equipo.

Unirse te enseñará mucho más. Aprenderás:

  1. Diferentes formas de codificación
  2. Cómo se ve el código real en lugar de lo que dicen los libros de texto
  3. Cómo interactuar con otros desarrolladores

Realmente depende del alcance del trabajo que realice y de lo importante que sea.

Si realiza una contribución importante (un nuevo subsistema) al proyecto de otra persona, entonces eso es bueno si se trata de un proyecto de alto perfil. Si se trata solo de algunos parches de errores, entonces … sí.

Es probable que no realice un cambio importante en un proyecto grande, por lo que es mejor hacer un nuevo proyecto y hacerlo increíble.

Tomé la ruta del proyecto personal y me ha resultado bien. Puedes aprender mucho cuando tu motivación personal es tu influencia.

Si sigue la ruta de contribución a un proyecto existente, puede ver qué hace que ese proyecto funcione y obtener inspiración para su propio trabajo.

En realidad, ¿por qué no trabajar en dos al mismo tiempo y obtener lo mejor de ambas?

More Interesting

¿VoLTE admite una función dependiente del software o una función dependiente del hardware?

Cómo mejorar mi currículum como ingeniero de software

¿Cuándo puede alguien comenzar legalmente a llamarse científico de la computación?

¿Cuál es el nombre del ingeniero de software que causó el error Mariner 1 que estrelló el cohete de la NASA?

Cómo poner tu experiencia haciendo tus propias aplicaciones móviles en tu currículum

¿Realmente estoy haciendo ingeniería?

¿Cuánto cuesta desarrollar un software CRM?

¿Cuál es la mejor tecnología / lenguaje de desarrollo de software para especializarse que paga realmente bien?

¿Cuáles son las ventajas y desventajas del software a medida?

¿Qué es más importante en una ingeniería de software de nivel de entrada: grandes personas o grandes productos en los que cree?

¿Quién es el líder actual en software OpenStack en términos de estabilidad y número de implementaciones? ¿Sombrero rojo? ¿Canónico? ¿Pistón? Mirantis? ¿Escalada de nubes?

¿Cuáles son algunas de las cosas excepcionales que debería hacer que impresionarían a las escuelas de posgrado de CS y a las compañías que ofrecen pasantías tecnológicas?

¿Es el aprendizaje en profundidad de tecnologías particulares una pérdida de tiempo en ingeniería de software?

¿Cómo debería uno comenzar su objetivo de convertirse en ingeniero de software y trabajar en las principales empresas tecnológicas como Google?

¿Qué hace que aplicaciones como Snapchat, Instagram, Pinterest, Uber y más funcionen?