jA7n2mR

En la escuela existe la distinción entre "estudiantes de letras" y "estudiantes de ciencias", con diferentes contenidos de estudio y también diferencias en la forma de pensar. Yo soy un estudiante de ciencias; en la universidad mi especialidad fue Ciencias de la Computación, y después de graduarme mi trabajo es ingeniero de software. En este proceso, he descubierto que la brecha entre letras y ciencias nunca se ha podido cerrar. Muchos ingenieros que conozco temen escribir artículos, mientras que los estudiantes de letras sufren dolores de cabeza al ver código.

Creo que los programadores deberían adquirir el hábito de escribir, porque escribir artículos ejercita muchas habilidades muy beneficiosas para la programación.

La similitud más fundamental entre escribir artículos y escribir código es que ambas requieren la capacidad de pensar con claridad. Los mejores ingenieros de software suelen ser también excelentes escritores; sus artículos son tan lógicos, fluidos y elegantes como su código.

Los artículos y el código tienen muchas similitudes: ambos comienzan desde una página en blanco y finalmente convierten una idea en un producto completo, dirigido a un público específico; tanto escribir artículos como escribir código requieren que encapsules una serie de afirmaciones lógicas en módulos, ya sean funciones o párrafos de un artículo; tanto el buen código como el buen artículo deben ser concisos, de lo contrario se desperdician recursos de CPU o energía humana.

Cuando un producto está a punto de completarse, el ingeniero de software se siente ansioso e inquieto como un escritor a punto de publicar su obra. Al igual que con un artículo, el software nunca está completamente terminado; los ingenieros necesitan pasar más tiempo optimizando el código, desarrollando nuevas funciones o rehaciendo alguna parte, porque temen que el trabajo publicado no muestre su mejor versión.

Los ingenieros de software deberían escribir porque la colaboración en el desarrollo es cada vez más importante. Los proyectos de código abierto pueden contar con la participación de personas de todo el mundo. Desarrollar y operar un producto a menudo requiere una gran cantidad de ingenieros (¡Google Maps tiene 1100 empleados a tiempo completo!). Ya sea en comentarios de GitHub, comentarios en el código o documentación técnica, se necesita texto claro y preciso. Una buena capacidad de escritura facilita la comunicación entre las personas y permite que el proyecto funcione mejor.

Puede que pienses que algunos proyectos no requieren mucha comunicación y colaboración, pero escribir contenido sobre software suele fomentar el aprendizaje y una discusión más profunda. Hoy en día, ya no necesitamos aprender a través de documentos RFC o manuales técnicos, porque hay tutoriales escritos por otros ingenieros en línea. Además, podemos aprender mucho de los comentarios de Hacker News, Twitter y varios blogs.

Hablando de blogs, añadiré algo más. Una buena escritura requiere tiempo. El texto que escribimos al principio puede no ser muy bueno; en ese momento se necesita invertir más tiempo, revisarlo varias veces y pulirlo.

Los ingenieros de software necesitan escribir porque pueden disfrutar del proceso de escritura. Muchos ingenieros de software esperan que el software que desarrollan pueda "tener impacto" y cambiar la vida de las personas. En realidad, al escribir artículos también puedes "tener impacto" en las personas; por ejemplo, una publicación sobre gestión puede ayudar a otros a motivar a sus equipos, el contenido de enseñanza de programación puede despertar el interés de un estudiante por las ciencias de la computación, y los artículos sobre planificación profesional pueden ayudar a los recién graduados a encontrar una nueva dirección profesional.

Incluso si nadie lee tus artículos, el proceso de escritura es beneficioso e inofensivo. Te ayuda a aclarar tus pensamientos, definir tu opinión sobre un tema, y fortalecer o debilitar ciertos puntos de vista. Reunir ideas desordenadas en un texto conciso es muy valioso.

En resumen, escribir ayuda a mejorar el nivel del desarrollo de software y, al mismo tiempo, facilita la colaboración durante el proceso de desarrollo; incluso para un estudiante de ciencias, es algo muy valioso.

Original: http://www.36kr.com/p/218600.html