How to become a better software developer

Aquí recojo las notas sobre el artículo titulado How to become a better software developer, de Tyle Hakes, en el blog de 7pace.

Por el título, esperaba encontrar consejos, técnicas sobre cómo mejorar, cómo y qué practicar, no sé alguna cosa concreta.

En el artículo vi que lo importante para el autor es aprender. De hecho, casi copia/pega el curso de Aprender a aprender. Aunque algo nuevo sí que había, algún buen consejo sí que saqué.

Notas tomadas

8 características de la mentalidad del ingeniero:

  1. Curiosidad
  2. Trabajo en equipo
  3. Reconocimiento de patrones
  4. Escepticismo
  5. Distintas perspectivas
  6. Aprender de los errores
  7. Comunicación
  8. Innovación

Medir el rendimiento

Para mejorar algo hay que medirlo. El único método que propone para medir el nuestro es trazar en qué gastamos el tiempo (time tracking). Hmmm, no me hace mucha gracia.

Dominar los fundamentos

Habría dos tipos de fundamentos a dominar: los de ingeniería y los del lenguaje/framework

Fundamentos de ingeniería: algoritmos, abstracción, aislamiento y bases de datos (Uff, creo que tengo una visión muy distinta a esto).

Ejercicios para mejorar

Cuantos más problemas soluciones, más herramientas y métodos de soluciones irás acumulando.

Aprendemos y crecemos, en gran medida, cosumiendo trabajo realizado por los demás.

Solidificando conocimiento

Alternar conceptos que estamos aprendiendo ayuda en:

Trabajo en equipo

Ser la persona más inteligente en el equipo no te hace un gran desarrollador, a no ser que uses ese conocimiento para liderar y mejorar a los que tienes a tu lado.

Desarrollar contexto

Los desarrolladores más efectivos tienen un amplio conocimiento y entendimiento del contexto en el que operan.

Amplía tu visión, sal un momento de tu monotonía del día a día de escribir código y pregunta el por qué.

Gana contexto y entendimiento sobre cómo se toman las decisiones y cómo esas decisiones afectan a tu trabajo.