1611
Hace unos días que tengo este post en borrador, inspirado básicament en un artículo que compartio Fepe55 en su Facebook [...] "Programar no es como hacer chorizos ni poner ladrillos, programar es un trabajo puramente intelectual, quizás la tarea más intensiva intelectualmente que conozco." [...] a veces tenemos momentos del día que estamos más lucidos que otros. Algo así como House MD cuando resuelve sus problemas...
menéame
www.dacostabalboa.com/es/definicion-de-programador/6819
Edito: en PDF | www.dacostabalboa.com/es/wp-content/plugins/post2pdf/generate.php?post
- Pues seguramente eres un mal programador.
"a veces tenemos momentos del día que estamos más lucidos que otros".
- O un vago.
Para un programador con experiencia, programar es algo mecánico que sale automáticamente. A no ser que te dediques a hacer complejos algoritmos para investigación, optimizaciones extremas o programación a nivel de hardware (que no es el caso).
Eso explicaría muchas cosas. Hay que leer unas especificaciones y trasladarlas a un lenguaje de programación, los programadores no son máquinas y no es en absoluto una tarea mecánica (yo he sido programador, analista programador, analista orgánico, funcional y jefe de proyecto), se un poco de que hablo.
Si alguien se lo toma como algo mecánico eso explicaría la cantidad de errores que se cometen.
Ahora en serio: para mí programar es en gran medida usar tus conocimientos (para que el código sea eficiente), experiencia (con la práctica haces código más robusto y encuentras las soluciones antes), un poco de intuición (es como resolver problemas de matemáticas, no siempre tienes "la receta" a emplear y experimentas) y, para bien o para mal, un poco de arte (al igual que con las matemáticas, hay soluciones más elegantes que otras) y ganas (comenta, documenta y usa las convenciones de cada lenguaje adecuandamente).
Me acabo de leer "Masters of Doom" (vida y obras de "los dos John") y la verdad es que me resulta ahora más difícil ver la programación como algo rutinario y mecánico.
La garantia de que no se cometan esos errores está en ser muy estricto en el protocolo de toma de requisitos. Muy estricto en el traspaso de esos requisitos a modelo funcional. Muy estricto en la verificación de ese traspaso, muy estricto en la generación de la documentación orgánica, muy estricto en la aplicación de los métodos de programación pactados para programar esa documentación orgánica...
Hacer las cosas siempre igual, es la forma de detectar los errores en la forma de hacerlas, mejorar la forma de hacerlas y no cometerlos más.
Salirse de esa forma mecánica de trabajar es volver a transformar la informática en artesanía, y en la artesanía no salen dos piezas iguales, todas salen defectuosas, y todas salen maravillosas, pero irreproducibles.
Y mi currículum recuerda demasiado al tuyo. Deduzco que la edad también. Buaaaa
El gran problema de todo son los presupuestos asquerosos en España que te hacen ir absolutamente de boli
Programar tiene un componente intelectual muy fuerte. Hay que pensar, todo el rato. Modelar constantemente. Pero también hay que aplicar una serie de buenas prácticas para no reinventar la rueda, evitando picar el mismo código una y otra vez.
En lo que no estoy tan de acuerdo es en esa división tan clasica que se intuye en vuestros comentarios entre analizar y programar. Para mi, es lo mismo, solo que el analista, tal y como se entiende al uso, mira el problema desde lejos, en su globalidad, y especifica a grandes rasgos, y el programador debe hacerlo desde mucho más cerca. Pero diseñar bien el cuerpo de un método, un bucle un poco complicado, un tratamiento de error correcto, etc.. también es una tarea analítica, y por tanto intelectual.
Y yo también he pasado unas cuantas guerras ya, en varios frentes
De hecho es una tarea muy intensiva y es puramente intelectual, de intelecto, de pensar, no de que sea faena de intelectuales.
Enteraos...