El término experto es ambiguo, y el de informática es muy amplio, pero aquí hablaré especificamente de las personas que saben mucho de desarrollo de software.
Entonces, reformulando la pregunta (o refactorizando como nos gusta decir a los desarrolladores), aquí va la pregunta clave.
¿Qué debe saber un desarrollador experto en software?
Uno estaría tentado a decir que un experto es aquel que lo sabe todo, pero eso implicaría haber memorizado muchas cosas y la memoria poco tiene que ver con el expertise.
Para explicarlo mejor propongo un simple esquema de cuatro niveles.
Aprendiz:
Aquél que esta aprendiendo el lenguaje, todavía no entiende los patrones de diseños básicos, no está seguro como implementar características nuevas, eso no quiere decir que no pueda hacerlo, pero no se rige acorde a las normas y los estándares e implementa funcionalidades por ensayo y error.
Puede empezar un proyecto básico, pero rara vez puede terminarlo.
Para superar este nivel se requiere práctica.
Semi Senior
Es capaz de abordar un problema conocido desde cero y resolverlo, el problema debe ser relativamente conocido o poder descomponerse en problemas conocidos.
La soluciones implementadas por el semi senior son funcionales, y cumplen con los propósitos pedidos, pero no se acogen (o por lo menos no sabe si lo hacen) a las normas y buenas costumbres, y no es completamente consciente del costo de la implementación de sus soluciones ni de las alternativas disponibles.
Para superar este nivel se requiere de comunidad y literatura, no sólo escribir código, además hay que estudiar, documentar y compartir, esa comunidad perfectamente puede ser un grupo de amigos cercanos o compañeros de trabajo con más experiencia.
Enseñar también es una muy buena forma de aprender, cuando uno enseñe no sólo tiene que hacer que las cosas resulten, tiene que entender por que son así y por que no podrían ser de otra manera (o por que motivos no sería conveniente), este tipo de estudio te encaminará al siguiente nivel.
Senior:
A diferencia del nivel anterior, el desarrollador senior programa acorde a las normas y buenas costumbres respectivas. Sabe las diferencias y las consecuencias de antemano de las multiples soluciones que puede tener un problema, así como los costos de implementación de las posibles soluciones.
Un desarrollador senior usualmente tiene 2 a 5 años de experiencia en ese lenguaje, pero la métrica real no es cuantitativa, es cualitativa. Es un factor clave que el desarrollador senior tenga proyectos terminados (o mejor dicho despachados, el software nunca se termina), el mayor aprendizaje esta´en el último 20% de un proyecto.
Superar este nivel se requiere de una comunidad bastante más grande, participar activamente en los foros y Github (u en general proyectos de terceros, no tienen porque ser necesariamente abiertos), requiere de estar en contacto con grandes desarrolladores y estudiar mucho fuera de tu zona de confort.
Experto.
Este título honorífico que muchas personas se atribuyen con ligereza consiste en una persona que no solo conoce a fondo el lenguaje sino además conoce a fondo sus bondades y limitaciones.
Por lo mismo es imposible convertirse un experto en un lenguaje de programación sin entender otros lenguajes y paradigmas.
¿Cómo convertirse en un experto?
La respuesta es sencilla y está arraigada en nuestro folclore. La práctica hace al maestro. La única forma de convertirse en un experto es aprendiendo, haciendo, reaprendiendo y rehaciendo.
A fin de cuentas un experto es alguien que ya ha cometido todos los errores posibles en su campo, así que hay que perderle miedo a equivocarse, aprender, hacer, compartir, corregir, ayudar a otros y permitir a otros ayudarte. Es un largo camino que demora miles de horas de trabajo y estudio, pero que definitivamente valdrán la pena el esfuerzo.
Nota importante:
El de la foto del artículo no es informático, es Howard Yana-Shapiro, director de Plant Science and External Research, Mars Incorporated. Pero por algún motivo en el mundo TI tenemos asociado las barbas con el expertise, las apariencias engañan.
Gonzalo Sánchez
Artículos relacionados
2 Comentario
Deja una respuesta
Recibe los artículos más leidos y beneficios especiales de nuestra academia
Empieza a trabajar en los roles digitales mejor pagados
Fórmate de manera práctica, e intensiva, con sesiones en vivo de forma flexible y efectiva. Te acompañamos desde que partes hasta que encuentras trabajo.
Experto = Perito ???
Ello hace referencia a algo que me quedó siempre en el tintero por un Perito del area TI, ex-funcionario Publico y cabron en el área…
» Yo puedo ser un Perito limpiando zapatos de colores en el Paseo Ahumada por más de 15, 20 años, sé de la evolución del mercado, técnicas de limpieza, perfiles de cliente, usuarios, usabilidad, etc…Pero no me pueden mezclar con alguién que dice ser PERITO o EXPERTO en un área que sólo lo estudió y porque su papel así lo dice, eso hace ver al Sr. Lustra botas del Paseo ahumana como alguién inferior.».
Esta reflexión venía cuando en ese tiempo algunas Universidades lucraban con la Famosa carrera de Perito Forense.
Pero nosotros Sí somos expertos en nuestra área, nuestro oficio, nuestro día a día, cada experiencia es totalmente distinta a otra, y considerar a esta profesión como Ciencia , eso nos distingue del resto, porque «evolucionamos».
En «DesafioLatam» he encontrado gente de todos los niveles, pero sin duda de cada uno de ellos se aprende más que nunca, podemos encontrar todo en Youtube si queremos, pero la pregunta es …»¿Me están orientando bien?» … Yo al responderrme esa pregunta, decidí por DesafioLatam. Desde el momento que escuché seguridad en las respuestas, independiente del factor «edad», me decidí por ellos, es un equipo humano serio, con ganas de cambiar la Internet, de cambiar el enfoque el estereotipo «alumno(a) de informática» o siemplemente de hacer ver que todo se puede, independiente sexo, formación o perfil profesional en caso de tener…
[…] cientos de compañías que están dispuestos a pagar hasta 10 mil dólares mensuales por uno programador senior. Si los subvaloras los […]