Comentarios de The Pragmatic Programmer
Capítulo 1
Fecha: 19/04/2022
La primera impresión que me ha dejado este libro después de leer el primer capítulo es que se trata de una serie de recomendaciones para mejorar como desarrollador (e incluso como persona). Por lo tanto, en estos comentarios, me gustaría hacer una lista de los tips, recomendaciones, aprendizajes y observaciones de la lectura, los cuales incluso se dividen en cada capítulo como tópicos.
1. Es tu vida: en resumen habla de luchar por lo que realmente quieres, nadie te tiene atado a un lugar en el que no te sientes a gusto, por lo tanto busca formas de cambiarlo.
2. Hazte responsable de tus acciones, no des excusas. Es normal equivocarse, no entregar un trabajo, no cumplir con una fecha de entrega, pero en lugar de dar excusas de por que no se pudo cumplir con lo esperado, hazte responsable y provee de alternativas o posibles soluciones
Otra cosa que me pareció muy importante es la confianza en un equipo, menciona su importancia y como al trabajar en un ambiente de confianza nos sentimos mas seguros de pedir ayuda, aportar ideas y contar con tus compañeros.
3. La ventana rota, deuda técnica, luego luego que se identifique tratar de corregirlo, y que no se expanda.
4. Ser proactivo, buscar formas de obtener poco a poco lo que quieras.
5. Calidad en el software debe ser una prioridad, pero siempre debemos identificar cuando es momento de parar
6. Probablemente mi tópico favorito, habla de como mantenerse aprendiendo, de como cultivarte en nuevos temas. Hace una comparación del conocimiento como una inversión. Primero hacer el hábito, algunas metas que mencionan pueden ser aprender un nuevo lenguaje cada año, leer un libro técnico (y no técnicos) cada mes, tomar clases, probar distintos sistemas operativos, mantenerte al tanto de nuevas tecnologías. Segundo, aprende acerca de distintas tecnologías de tu interés, no te cases con una sola. Tercero, aprende una tecnología emergente antes de que se vuelva popular. Además, desarrollar un pensamiento crítico al momento de adquirir conocimiento, ¿por qué?, ¿a quién beneficia?, ¿en qué contexto?, ¿cuando o dondé esto funcionará?, ¿por qué esto es un problema?.
7. Por último, y otro de mis favoritos ¡la comunicación! Habla acerca de como estamos en constante comunicación, a través de código, documentación, en juntas de trabajo o con el cliente, etc. Por ello, es importante aprender a comunicar correctamente lo que queremos decir. Para ello primero debemos conocer nuestra audiencia, despues identificar que queremos comunicar realmente, escoger el momento adecuado y el estilo en que se va a comunicar y hacerlo ver bien (esto me saco de onda al principio). Esto último, por ejemplo, en la documentación, agregar formatos y estilos que hagan que el documento se vea presentable. Incluso por correo, saber como redactar correctamente uno y expresar lo que realmente quieres decir.
Tambien me gustaría anotar algunas de las frases del capítulo
Frases
- "The greates of all weakness is the fear of appering weak" J.B. Bossuert, Politics from Holy Writ, 1709
- "An investment in knowledge always pays the best interes" Benjamin Franklin
Capítulo 2
Fecha: 10/05/2022
Este capitulo me parecio mas pesado de leer, ya que se introducen conceptos que a mi parecer fueron más técnicos y ejemplos con los cuales no estoy familiarizada, por lo tanto no me quedaban del todo claro. Las secciones que mas me parecieron interesantes de este capítulo fueron
1. El concepto de DRY (DON'T REPEAT YOURSELF): Me gusto darme cuenta que muchas veces repetimos información, ya sea en la documentación o código, y esto tiene como consecuencia que se vuelva mas difícil de mantener.
2. Ortogonalidad: este concepto nunca lo había escuchado pero me gusto, y en pocas palabras se refiere si un cambio en algo no afecta a otras. Siento que puede tomarse como un parámetro para evaluar nuestro código, checar si algun módulo o función afecta otro al realizar un cambio.
3. Estimación: se presentan dos formas de estimar, Painting the missile donde se estima no por números, si no por escenarios. Y la segunda Eating the elephant que es al ganar experiencia en el proyecto.
Tambien se hablo de conceptos como reversabilidad, prototipos y domain languages pero para ser sincera no los entendí mucho.