JavaRush /Blog Java /Random-ES /Pausa para el café #55. 4 consejos para encontrar una com...

Pausa para el café #55. 4 consejos para encontrar una comunidad de desarrolladores. 5 habilidades inesperadas que un programador principiante debe dominar

Publicado en el grupo Random-ES

4 consejos para encontrar una comunidad de desarrolladores

Fuente: Honeypot Uno de los factores que ayuda a los desarrolladores en su desarrollo profesional es la comunidad a la que pertenecen. Si aún no has encontrado el tuyo, ¡no te preocupes! En este artículo te diré cómo hacer esto. Los humanos no están destinados a estar solos. Es a través de la capacidad de cooperar para lograr un objetivo común que la humanidad ha logrado el progreso. Un gran ejemplo de dicha colaboración es la comunidad de desarrolladores. A diferencia de otras industrias profesionales, los desarrolladores interactúan entre sí con mucha frecuencia y gran parte de sus vidas están conectadas de alguna manera con las comunidades que crean a su alrededor. Si eres desarrollador pero aún no has encontrado tu comunidad, no te desesperes. Puedes unirte a uno de ellos en cualquier etapa de tu carrera.Pausa para el café #55.  4 consejos para encontrar una comunidad de desarrolladores.  5 habilidades inesperadas que un programador principiante debe dominar - 1

1. Descubra lo que necesita

Antes de saltar al abismo en línea para encontrar su comunidad de desarrolladores, debe averiguar qué es exactamente lo que necesita y lo que está buscando. Cada etapa de la carrera profesional de un desarrollador tiene sus propios intereses y diferencias. Si estás aprendiendo Java, es poco probable que encuentres la información que buscas en la comunidad Python, y viceversa.

2. Busque comunidades locales

Jessica, miembro del equipo de programación de Ember, vive en Berlín. Afortunadamente para ella, la ciudad ofrece muchas oportunidades para establecer contactos con otros desarrolladores locales. “Tenía mucha experiencia en reuniones de grupos profesionales y formé parte durante mucho tiempo de la Escuela Abierta de Tecnología, que ayuda a las personas a aprender más sobre tecnología”. La niña participó en seminarios y grupos mixtos, lo que le resultó muy útil para un principiante. “Recibí el apoyo de otros estudiantes y recibí tutoría gratuita. Se podría decir que me dio un sentido de responsabilidad, me ayudó a asistir a las reuniones con regularidad y me animó a estudiar por mi cuenta”. Para encontrar su comunidad local, Jessica sugiere buscar en Google. Si vives en una gran ciudad, probablemente no tendrás problemas para encontrar comunidades de codificación locales a las que unirte. Sin embargo, puede resultar que algunos de estos grupos en las redes sociales ya no estén activos o no hayan publicado mensajes en ellas durante mucho tiempo. En estas situaciones, no tema preguntar directamente si está sucediendo algo más en la comunidad. Siempre se agradece mostrar interés.

3. Encuentra una comunidad en línea

Conocer a otros desarrolladores en persona tiene una serie de ventajas. Pero si su acceso a las comunidades locales es limitado, es casi seguro que encontrará una alternativa en línea. Es posible que ya estés trabajando con varios marcos o tecnologías que tienen sus propias comunidades dedicadas en Discord o Slack. Esto es adecuado tanto para ayudar en el trabajo como para encontrar inspiración para nuevos proyectos, ideas e incluso para participar en proyectos abiertos.

Aquí hay algunos lugares para encontrar su comunidad en línea

dev.to. _ En sus propias palabras, "la industria del software se basa en la colaboración y el aprendizaje en red", y dev.to proporciona un espacio para que los desarrolladores se reúnan y se ayuden entre sí, ya sea en aspectos técnicos de codificación, asesoramiento profesional o apoyo y motivación generales. #desarrolladores en Slack . Deberá responder algunas preguntas para obtener acceso a este canal, pero una vez que esté dentro, obtendrá todo el apoyo y los consejos que necesita :) Hashnode . Escriba un artículo sobre cualquier tema de programación que desee e interactúe con la comunidad en general. Esta es una excelente manera de mantenerse conectado con otros desarrolladores. Mujeres que codifican . Es un lugar de apoyo para las mujeres en la tecnología, donde encontrarán recursos de programación y un espacio abierto para compartir ideas. Reddit . Hay muchos subreddits para cada nicho de codificación; echa un vistazo a algunos de los más activos: r/programming , r/java , r/python , r/javascript , r/reactjs y r/cscareerquestions . Círculos de desarrolladores en Facebook . El objetivo principal aquí es crear comunidades organizadas localmente donde los desarrolladores puedan "obtener herramientas gratuitas para desarrollar nuevas habilidades, ideas y avanzar en sus carreras". Encuentre su comunidad en Facebook, todas las discusiones están actualmente en línea.

4. Encuentre una comunidad de código abierto

Participar en una comunidad de código abierto puede ser una parte importante de su desarrollo profesional. Ser un miembro activo de la comunidad de código abierto significa no sólo contribuir, sino también asistir a eventos y conferencias, conocer a otras personas, encontrar mentores y establecer contactos. Además de las habilidades adquiridas en la comunidad de código abierto (tanto técnicas como no técnicas), la participación en ella da a los programadores un sentido de pertenencia fuera del trabajo diario. Existe una sensación única en la comunidad de código abierto de trabajar en algo grande y, en muchos sentidos, ese trabajo es una contribución significativa. ¿Se pregunta por dónde empezar? Piensa en los proyectos de código abierto que te gustan y empieza por ahí; puede ser tan sencillo como encontrar y corregir un error tipográfico en el código. Sólo es importante empezar por algún lado.

Conclusión

El nivel de apoyo e incentivos para el autodesarrollo que recibe un desarrollador en la comunidad profesional es altísimo. Afortunadamente, el acceso a las comunidades de desarrolladores está en todas partes, ya sea un grupo de redes sociales local o un gran recurso en línea dedicado a un lenguaje de programación. Lo principal es encontrar lo que más te convenga.

5 habilidades inesperadas que un programador principiante debe dominar

Fuente: Codeburst Mi camino para convertirme en desarrollador autodidacta fue largo y difícil. A veces, recordando todos los obstáculos y decepciones que he encontrado, me pregunto si valió la pena empezar de esta manera. Y ahora puedo decir que valió la pena. Para personas como yo, que empezamos desde cero, la curva de aprendizaje fue muy pronunciada. Pero confío en que a la larga los beneficios superen el esfuerzo que supone conquistar esta montaña. Por supuesto, esto sólo se aplica si disfrutas lo que estás aprendiendo. Me llevó varios años comprender que un buen desarrollador debe poder hacer algo más que escribir código de forma rápida y sencilla. Muchos principiantes no se dan cuenta de que adquirir habilidades de desarrollo requiere algo más que la capacidad de escribir y ejecutar un programa. Entonces, aquí hay cinco habilidades más además de la codificación que todo aspirante a desarrollador definitivamente necesitará.Pausa para el café #55.  4 consejos para encontrar una comunidad de desarrolladores.  5 habilidades inesperadas que un programador principiante debe dominar - 2

1. Utilice herramientas de colaboración

Muchas plataformas populares de programación a su propio ritmo se centran en la sintaxis del lenguaje y las estructuras de datos. Algunos permiten a los estudiantes crear proyectos básicos desde cero. Digamos un juego simple o una aplicación de lista de tareas. Estas lecciones son invaluables para comenzar con las habilidades de programación, pero no simulan el entorno laboral de la vida real que encontrará en el futuro. Los desarrolladores trabajan juntos en proyectos grandes y, a veces, un desarrollador puede estar trabajando en varias bases de código al mismo tiempo. El trabajo en equipo suele implicar el uso de herramientas como Google Spreadsheets o Invision. Los equipos de desarrollo tienen su propio conjunto estándar de herramientas de colaboración. Mi empresa, como decenas de miles de otras empresas en los Estados Unidos, utiliza GitHub. Nunca olvidaré el día en que mis colegas me presentaron GitHub. Primero me dijeron que abriera la terminal en mi computadora (no tenía idea de que tenía algo así en mi computadora). Entonces mis colegas empezaron a escribir algunas tonterías en esta misteriosa ventana de mi pantalla. Este galimatías resultó hacer cosas mágicas, como llenar varias carpetas de mi computadora con todo tipo de archivos llenos de código. Luego hablaron de "ramas" y "pelusas", algo "remoto". Y parecía que literalmente todas las palabras comenzaban con el prefijo "git". Sabía que hablaban inglés, pero el significado de sus palabras no me resultaba claro. Si eres un novato que no ha codificado con otros desarrolladores antes, tendrás que aprender el lenguaje y las herramientas de colaboración. Esto puede parecer complicado, especialmente si nunca has abierto el símbolo del sistema. Pero con el tiempo se convertirá en un hábito.

2. Registro y manejo de errores

Digamos que ya aprendió a colaborar con otros programadores y su código se envía a producción. Cuando algo que has escrito es utilizado por miles o incluso millones de usuarios, es una sensación realmente emocionante. Pero una vez que llegue a esta etapa, aprenderá por las malas que errores inesperados en el código ocurren todo el tiempo. Por ejemplo, la variable que creó nunca recibió un valor. Ahora estás llamando a un método con un valor nulo y tu programa no sabe qué hacer con él. Se produce un error y ahora el usuario ya no tiene acceso a esa increíble página que creaste. Cuando pruebas el programa, todo parece correcto, por lo que es posible que ni siquiera notes el problema. Este error en particular puede ocurrir sólo el 5% de las veces, pero para el 5% de 100.000 usuarios es significativo. Debe aprender a registrar, manejar y anticipar errores en su código: estas son habilidades absolutamente esenciales para un desarrollador. Sí, la capacidad de anticipar problemas es un instinto que se desarrolla con el tiempo y la experiencia. Pero es importante que un principiante recuerde que los errores son una parte casi integral del desarrollo. Saber cómo proteger su código utilizando diferentes tipos de registro de errores puede ahorrarle muchos dolores de cabeza en el futuro, especialmente cuando tiene la tarea de depurar. También puede ayudar a identificar problemas que ni siquiera sabía que tenía. Hoy en día, tenemos acceso a varias herramientas de registro de errores que facilitan el seguimiento de vulnerabilidades en una base de código. Uno de mis favoritos es Sentry, que te permite ver cuándo ocurrió un problema por primera vez y con qué frecuencia ocurre. También vale la pena mencionar Logentries, Rollbar e Instabug. Hay programas que monitorean datos y problemas de todo el sistema, como New Relic y Datadog. Es probable que encuentre alguna combinación de estos programas en su carrera de desarrollo y vale la pena aprender a usarlos.

3. Cobertura de prueba

Como dije antes, perfeccionar tus habilidades de programación es algo más que escribir código. Debe asegurarse de que su código sea comprensible para otros desarrolladores, y cuando alguien lo abra dos años después, esa persona debería poder leerlo rápidamente y comenzar a realizar cambios. La lógica que escriba debe ser comprensible y reutilizable en los años venideros. Pero a veces su lógica será compleja y no podrá simplificarse. Quizás debido a la complejidad de la lógica empresarial. Quizás por falta de tiempo. La realidad es que los plazos a veces le obligarán a tomar decisiones técnicas que no son las ideales. Y no siempre podrá definir claramente todos los casos de uso antes de comenzar a trabajar. Una forma de mantener su código seguro es escribir pruebas que acompañen los cambios. La mayoría de los lenguajes de programación tienen paquetes de prueba adicionales que puedes instalar. Por ejemplo, para Ruby usamos Rspec y para React usamos a menudo Jasmine. Existen diferentes tipos de pruebas, incluidas las pruebas unitarias (para probar pequeñas piezas de lógica) y las pruebas de integración (para pruebas de flujo de un extremo a otro). Muy a menudo, para que su código se envíe a la base de código común, debe pasar todo el conjunto de pruebas. Una vez que aprenda a escribirlas, agregue "seguridades" que eviten que cambios futuros sobrescriban accidentalmente las funciones que escribió. La cobertura de la prueba también ayuda a definir el comportamiento esperado, ya que muchos casos de prueba están escritos en inglés sencillo. No puedo decir cuántas veces entré en un archivo escrito hace varios años, hice un cambio y descubrí que provocó que fallaran una docena de pruebas, a pesar de que pensé que tenía una buena comprensión del comportamiento esperado. . Una vez incluso rompí una funcionalidad que escribí yo mismo hace unos meses. Afortunadamente, mis pruebas unitarias revelaron esto de inmediato. Al revisar las solicitudes de extracción, noto que los desarrolladores a menudo no prestan suficiente atención a la cobertura de las pruebas, y esto se aplica tanto a cambios simples como complejos. Yo también soy culpable de esto, especialmente cuando los plazos son ajustados. Pero puedo pensar en varios proyectos en los que realizar cambios en un lugar provocó averías en otros cuatro lugares. Esto aumentó nuestro nivel de estrés y nos agregó más trabajo, a pesar de que ya teníamos prisa por cumplir con la fecha límite. Estas situaciones podrían haberse evitado si nos hubiéramos tomado el tiempo para escribir pruebas unitarias a su debido tiempo. Aprender a escribirlos puede ser una tarea tediosa, especialmente para un desarrollador nuevo, y escribirlos definitivamente ralentiza el proceso de desarrollo general. Pero cuanto antes empiece a redactar pruebas, menos dolores de cabeza le aguardarán a usted y a su equipo en el futuro.

4. Revisión de código

Este punto está relacionado con el primero: trabajar juntos en bases de código. A menudo, el proceso de realizar cambios en el código base se ve así. Estás escribiendo código localmente. Para enviarlo a la rama principal de su código base, crea una solicitud de extracción (un resumen visual de sus cambios) y otros desarrolladores de su equipo revisan su código antes de dar el visto bueno a la fusión. Diferentes equipos tienen diferentes requisitos para la aprobación de una solicitud de extracción, pero en general debe esperar que alguien revise e implemente sus cambios. Vale la pena señalar que no solo enviará su código para revisión, sino que también revisará el de otra persona. Aprender a leer el código de otras personas es una habilidad importante para un desarrollador y debe desarrollarse a lo largo de su carrera. Cuando comencé y me pidieron que mirara las solicitudes de extracción de otras personas, no entendía muy bien qué buscar. Al principio pensé que debería buscar errores. Han pasado algunos años y ahora considero que las revisiones de código son más una verificación de cordura que una investigación exhaustiva. En última instancia, es el desarrollador que envió la solicitud de extracción el responsable de revisar su código, agregar las pruebas necesarias y contribuir de forma segura con este código a la base de datos común. No es trabajo del revisor identificar problemas ocultos. Hoy en día, cuando reviso el código, compruebo la legibilidad (por ejemplo, si estos nombres de variables y métodos son descriptivos), la organización y la estructura (si el código se puede organizar mejor para que sea más claro para alguien que lo vea por primera vez). . Por supuesto, cuanto más se familiarice con el código base, más fácil será identificar problemas potenciales. Pero puedes empezar a adquirir habilidades de revisión de código incluso como principiante. Entre otras cosas, esta también es una buena manera de familiarizarse con los patrones de código que utilizan sus colegas más experimentados.

5. Búsqueda adecuada en Google

Ningún desarrollador sabe todo sobre programación, su lenguaje de programación o incluso su código base. Anteriormente, estaba seguro de que todos, excepto yo, podían comprender de inmediato qué métodos, consultas y estrategias se debían utilizar en tal o cual caso. Pero cuantas más personas conocí, más me di cuenta de la frecuencia con la que los desarrolladores buscan en Google respuestas a sus preguntas. ¡Incluso los experimentados! Hay demasiados detalles en nuestra línea de trabajo para tenerlos en cuenta. Pronto me quedó claro que lo que se requería de mí no era saberlo todo de memoria, sino aprender a buscar respuestas correctamente. Stackoverflow se convertirá en tu mejor amigo. Lo más probable es que, si estás atascado en algo, alguien más se haya quedado atascado en ello antes. Cuando se trata de resolver problemas, intente descubrir exactamente qué es lo que está mal, descríbalo con palabras y escríbalas en un motor de búsqueda. Ser capaz de articular los problemas que enfrenta ayudará mucho más que la memorización.

Conclusión

Tarde o temprano en su viaje de desarrollo de software, seguramente se encontrará con una decepción. No hay escapatoria de esto. Pero cuanto más utilice las herramientas y estrategias diseñadas para aliviar estas frustraciones, más gratificante será su carrera. Mantén el rumbo y no te rindas.
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION