viernes
may102013
Las siete características de los programadores efectivos
Este artículo recoge lo que el autor considera que son las siete principales características de un buen programador; según él son:
- Aprender por su cuenta nuevas habilidades técnicas y no técnicas
- Ser pragmático, no dogmático
- Saber cómo buscar soluciones a problemas
- Tener pasión
- Dejar su ego en la puerta
- Tener un espíritu de emprendedor
- Pensar antes de actuar, pero no caer en el sobrediseño (traducción personal de "Mide dos veces, corta una, pero no midas más de tres veces"
¿Estáis de acuerdo con la opinión del autor?
Reader Comments (9)
Añadiría ganas de adquirir una formación de calidad en aquello que quieres resolver. Muchas veces en lugar de estudiar la teoría que engloba a un determinado problema, para tener un conocimiento más exhaustivo y hacer una solución de calidad, se busca la solución rápida -tipo parche- sin tener en cuenta nada más. Lo que se podría denominar como un "programador de copy&paste"
Faltaría ser feliz con el trabajo que está haciendo :P.
Así seguro que trabaja mucho mejor, le pone más interés, tiene más pasión...
alguno de ustedes se ha encontrado en la situación con des-arrolladores que hablan todo en función de interfaces usuarios (de esos que tiene conocimientos nivel secretaria)
el programador que conoce te habla de desacoplamiento de alta coecion de principios y valores de buenas practicas y de como por que y cuando seguirlas y no seguirlas etc; ademas, suela hablar de patrones y practicas antiguas que siempre tienen vigencia apesar de los años. Pero en cambio casi todos hablan en función de ventanas siempre dicen cosas como para hacer eso se hace "primero presionas aqui luego llenas aqui luego completas aca y luego presionas siguiente siguiente siguiente y finalizar" y luego se crea por arte de magia 500 lineas de codigo icomprensible que nadie entiende y el que menos entiende ese código es el que lo creo
Guenas.
¿Calidad? ¡Ojala!
Coder-malo tiene razon en que no se busca la calidad. El problema es que el mundo real las empresas no buscan esto, ni el rendimiento a medio-largo plazo sino un rendimiento monetario a corto plazo.
Al menos en las empresas en las que he trabajado, todas ellas multinacionales, los que deciden son gerentes que lo que buscan es que su cuenta de resultados durante el poco tiempo que lideran el tema, sean muy positivas. El hecho de que despues para la empresa el coste sea mas elevado les da igual porque saben perfectamente que los costes a medio-largo plazo no serán responsabilidad suya sino del heredero de sus malas decisiones.
Por otra parte alguien con poder de decision en una empresa jamas permitira que alguien mas competente que el pueda demostrar con su ejemplo que es un inutil, con lo que se eterniza el problema. Si haces lo que se debe hacer jamas progresaras a menos que seas una persona tremendamente astuta capaz de lograr buenos resultados a pesar de tus jefes, que impedirán a toda costa que destaques, para que el trabajo realizado sea gracias a ellos en lugar de que sea pese a ti.
Ademas por lo visto da igual lo que sepas de un tema u otro. He visto no una sola vez sino decenas de veces como la opinion tecnica de un licenciado en historia (!Licenciado, eso si!) con no mas de 500h de experiencia en un tema se impone sobre la opinion de un no licenciado que lleva 30 años realizando esa labor. Patetico dado que al menos en españa la carrera de informatica tiene mucho menos antiguedad y despreciar a los pioneros que estaban creando aplicaciones de gestion muchisimo antes que existiera un "informatico" que aprendio de ellos (o de un filologo de latin o griego).
Lo he visto y lo he vivido.
Tambien es cierto que se autodenominan informaticos cualquiera que ha hecho un curso de Java o VisualBasic de 300h.
Seguro que entre los lectores hay creadores antiguos que antes de escribir una linea de codigo "huelen" los posibles problemas. Pero eso no vale nada. El objetivo es lograr vender un producto con grandes ganancias aunque despues el mantenimiento del mismo le cueste tres veces mas, porque ello se lo comera otro.
Perdonadme por ser tan exaltado, pero es que me pongo como una moto cuando gente que no sabe ni leer o escribir. A ver, si saben las normas pero no entienden lo que leen ni son capaces de expresarse de forma clara. Como ejemplo este mismo foro.
¿Creeis que alguien que es incapaz de expresar su problema inteligiblemente esta capacitado para resolverlo?
¡Uffff, que desahogo!
Perdonadme todos pero a veces tengo que decir lo que siento y veo.
Un saludo
Buenos días!
Comento por puntos:
Aprender por su cuenta nuevas habilidades técnicas y no técnicas: importante.
Ser pragmático, no dogmático: importante, pero sin caer en un pragmatismo que después te haga revisar de nuevo el problema.
Saber cómo buscar soluciones a problemas: tener la mente abierta ante nuevos problemas (lo que lleva a nuevos paradigmas).
Tener pasión: importante.
Dejar su ego en la puerta: pues quizá es lo más importante. Ya se dice eso de "quién se enaltece caerá y viceversa".
Tener un espíritu de emprendedor: esto es una consecuencia de lo anterior. Todo el mundo, entiendo, quiere emprender. Es una cosa que va dentro del ser humano (a mí por lo menos, que me gusta mi curro del día a día, donde no tengo posibilidad de emprender, pues es una cosa que hecho de menos e intento hacer mis cositas por mi cuenta cuando mi tiempo me lo permite, pero sin cobrar, es decir, pa echar una buena mano en plan solidario a terceros).
Pensar antes de actuar, pero no caer en el sobrediseño (traducción personal de "Mide dos veces, corta una, pero no midas más de tres veces": una primera fase de análisis, pero no te pases... analizando, empanao, que al final vas a tener que codificar y si no codificas y te pasas de análisis el tiempo vuela (tomo buena nota de esto y doy buena fe). Aunque a mí si que me gusta mucho primero intentar entender y analizar bien el problema mentalmente, y antes de empezar a codificar, lo que me supone más esfuerzo, intento resolver el problema mentalmente y "visualizarlo" y luego diseñarlo, aunque puede fallar un poquitín.
Un saludo amigos! Viva la programación y la informática!
Hola Paposo,
Quejarse está bien, pero además tenemos que esforzarnos por cambiar las cosas que no nos gustan. Puedes intentar cambiar la empresa en que trabajas (fíjate en este interesante artículo Subvert from within), puedes buscar otra empresa que se acople más a tus principios o puedes crear tu propia empresa.
A mí el 6, tener espíritu emprendedor, me sobra, más que nada por que hay gente que no hace productos ni emprende, y eso no evita que puedan ser programadores eficientes.
Igualmente entiendo que el 5, tener pasión, hasta el extremo en que el lo pinta no tiene que ver con ser un "programador eficiente". Para mí no hay correlación.
De todas formas, al igual que en todas estas listas, lo que hace el autor es describirse a si mismo o como le gustaría llegar a ser, así que cada uno tenemos la nuestra. Eso sí, algunos no pretendemos que la nuestra sea universalmente aplicable jejeje.
Agregaría también el hecho de 'conocer tus propios límites'... Se debe saber cuando (como decimos en mi país) "te queda grande el poncho" y pedir ayuda o bien delegar el problema a otro, o bien tener la valentía de decir: "no puedo (quizá aún) hacer esto".
Otro punto que también se debe considerar es 'pensar a futuro', dejando el código al menos preparado para crecer.
Por último: 'Amor al prójimo' . . . programar pensando en el pobre programador que tendrá que mantener el código. Aquí se aplica el principio de 'trata a los demás como quieres que te traten a ti'. Siempre se agradece abrir un código ajeno y verlo bien identado, documentado y con variables y métodos con nombres claros y concisos.
saludos.
"Ser pragmático, no dogmático", no estoy deacuerdo, hay que nivelar ambas partes.