Estas son las señales de que usted es un desarrollador de software experto:
- Cuando se enfrenta a una tarea de desarrollo, su primer instinto es pensar, dibujar diagramas y definir los requisitos antes de comenzar a escribir cualquier código fuente.
- Trabaja de manera independiente y eficiente para completar un proyecto, sin pedir ayuda a otra persona, y trabaja bien con otros para coordinar e integrar sus esfuerzos.
- Los lenguajes de programación que está utilizando son de segunda naturaleza para usted, y su atención se centra en el problema en sí y no en los detalles de la sintaxis del lenguaje.
- Puede explicar cómo funciona su código a alguien con cero experiencia, y realmente lo entienden. (Como dijo Einstein, “Si no puedes explicarlo simplemente, no lo entiendes lo suficientemente bien”).
- Otros acuden a usted en busca de ayuda, y usted está seguro de que los está guiando por el camino correcto, y no solo inventando cosas. Y no tienes miedo de decir “No sé”.
- Sabe dónde encontrar la información que necesita pero no tiene. Te das cuenta de que no puedes tener todo en tu cabeza, pero sabes dónde conseguirlo cuando lo necesitas.
- En realidad, desea desarrollar software, aunque nadie lo obligue a hacerlo.
- Usted realmente comprende cómo funciona la CPU, cómo funciona la administración de memoria y cómo funcionan los dispositivos, incluso si sus lenguajes de programación o bibliotecas le ocultan todo esto.
- Entiende las advertencias y los errores generados por sus herramientas de desarrollo, y puede depurar su propio código. Cuando sea necesario, puede depurar hasta el nivel de instrucción de la máquina.
- Ambos están dispuestos y pueden probar su propio código de manera efectiva.
- Cuando se informa un error contra su código, su reacción inmediata es investigar y solucionar el problema, y no es a la defensiva o señalar con el dedo.
- Si hay una persona o equipo de control de calidad que prueba su código, está agradecido por sus esfuerzos y no los trata como adversarios. Si necesitan orientación, usted asume el papel de un mentor útil.
- Puede revisar el código de otra persona y proporcionarle comentarios constructivos.
- Puede superar la mentalidad de “no inventado aquí” (NIH) y adoptar bibliotecas y marcos para facilitarle la vida.
- Le importa sinceramente la próxima persona que tendrá que trabajar con su código, por lo que desarrollará un código legible, fácil de mantener y portátil. Usted trata el mantenimiento como su responsabilidad, incluso si será responsabilidad de otra persona.
- Reconoce que no se trata de cuántos idiomas conoce, sino de qué tan bien comprende los conceptos fundamentales y qué tan fácil es aprender un nuevo idioma y aplicar esos conceptos.
- Entiende las estructuras de datos y los algoritmos, y cómo comparar y elegir los correctos para la tarea en cuestión.
- Reconoce y acepta el hecho de que el proceso de aprendizaje y mejora de sus habilidades nunca terminará … nunca.
- Eres lo suficientemente humilde como para reconocer que no lo sabes todo, y que siempre hay otros que saben más que tú.
- Eres lo suficientemente sabio como para tener un escepticismo saludable sobre el último reclamo, paradigma o tecnología de bala de plata. Usted hace su propia investigación y forma su propia opinión, en lugar de adoptar automáticamente las opiniones de los demás.
- Ya no necesita leer una lista de verificación de signos de que es un desarrollador de software experto. Simplemente eres.