¿Cuándo te puedes considerar "experto" en un lenguaje de programación?
Si
uno trabaja en programación, nunca vas a poder considerarte un ‘real’
experto: los lenguajes avanzan continuamente y dominar completamente solamente un lenguaje es
imposible, pues las funcionalidades avanzan continuamente y sería
excepcional que hayas desarrollado una aplicación que abarque TODAS las
características de un lenguaje.
Dicho esto, aquí va una lista de puntos que si cumples algunas, vas en camino a volverte un experto. Estás en camino cuando:
- Logras interpretar errores sin sentido y sabes como corregirlo (y creeme que encontrarás cientos de errores aparentemente sin sentido…)
- Te puedes desplazar por todo el código de una aplicación solamente usando shortcuts del teclado.
- Usas refactoring eficazmente para mejorar tu código.
- Usas herramientas de integración continua y lo usas en tu ciclo de desarrollo (por ejempo Jenkins/Team Foundation/Team City)
- Usas intensamente test unitarios para asegurarte que tu código funciona bien en diversas circunstancias.
Ser programador tiene cierto paralelismo con ser cirujano: no alcanza con saber del lenguaje sino dominar un ecosistema de herramientas que te permiten mejorar tu productividad y agilidad al resolver situaciones. (ser cirujano no es solo saber de tu rama , sino usar hábilmente los instrumentos qirúrgicos, entre otras cosas…)
Eres un nivel super experto cuando:
- Dominas completamente una herramienta de compilación y trabajas desde la línea de comandos SIN entrar a la IDE(ya sea Ant,Gradle, Maven o la que tengas en tu entorno de trabajo)
- Encuentras bugs dentro de tu IDE o librerias y eres capaz de encontrar un workaround o recompilarlo tu mismo.
- Estás rankeado decentemente en Stack Overflow
- Puedes prescindir de autocompletion feature, porque ya sabes los métodos de los objetos(!) (Hijo ‘e tigre!)
PD: el link es un error que encontré en Java / SDK y estoy lejos de considerarme un experto…
No hay comentarios:
Publicar un comentario