A continuación encontrarás traducido al Castellano el artículo escrito por Gabriel Ludosanu y publicado originalmente en el Blog oficial de Xojo.
Crear sistemas con software es complejo, pero existen algunos patrones claros cuando se trata de identificar a los programadores eficientes sobre el resto. Más allá de los lenguajes y marcos de programación, existen tres tipos fundamentales de programadores: codificadores, desarrolladores de software e ingenieros de software. Comprender estos tres roles pueden servirte de ayuda -y también a tu equipo- a la hora de obtener mejores resultados.
Codificadores: Los Traductores
Los codificadores se centran en convertir unas detalladas instrucciones en código funcional. Su principal virtud consiste en conocer la sintaxis y mecánica del lenguaje. Sin embargo, este enfoque suele evitar la comprensión del problema real así como tomar responsabilidad del Gran Cuadro. En entornos limitados, los codificadores están limitados a procesos y planes rígidos, dejando poco espacio para la mejora. Si sueles pensar aquello de “ese no es mi trabajo”, o “no puedo cambiarlo por que no está en los requerimientos”, entonces es probable que estés trabajando como codificador.
Desarrolladores de Software: Solucionadores de Problemas
Los desarrolladores de software van un paso más allá. Ven su trabajo como solucionadores de problemas para el resto de personas, usando el código como su herramienta. Los desarrolladores hacen preguntas sobre los requerimientos, piensan sobre la solución más inteligente, y se preocupan sobre el diseño del sistema y su mantenimiento. Prácticas modernas como el Desarrollo Guiado por Pruebas e Integración Contínua forman parte de sus flujos de trabajo. Un desarrollador se enorgullece de su código, de que sea flexible, robusto y dirigido a un uso en el “mundo real”, en vez de pensar sobre ello como simplemente una lista de tareas.
Ingenieros de Software: La Mentalidad Científica
Los ingenieros de software combinan una experiencia práctica con un modo de pensamiento científico. Organizan su trabajo para que siempre se pueda publicar el sistema incluso tras cambios mínimos. Esta disciplina desemboca en entregas más rápidas y fiables, mejor calidad del software y usuarios y equipos más satisfechos. No confían en la suerte o el hábito; en vez de ello, utilizan prácticas probadas, miden los resultados y mejoran de forma continuada tanto sus procesos como el producto.
¿Qué papel te define?
Los equipos creados en torno a los codificadores pueden producir software funcional, pero a menudo resulta en un déficit de calidad y adaptibilidad. Los desarrolladores mejoran esto al hacerse cargo como propio tanto del problema como de la solución; mientras que los ingenieros añaden métodos probados y repetibles que redunda en la excelencia y resultados predecibles.
Para crecer en tu carrera, céntrate en comprender las necesidades existentes tras los requerimientos, involúcrate en el proceso de diseño y estate preparado para adaptarte a medida que aprendes. Adopta prácticas de desarrollo modernas y persigue siempre el código que no sólo sea correcto, sino también fácil de modificar y mantener.
No importa cuál sea tu rol actual, a medida que progreses de codificar en desarrollador e ingeniero, Xojo siempre será tu plataforma de lanzamiento. Su orientación hacia el desarrollo rápido de aplicaciones significa que puedes experimentar, iterar y refinar las partes principales de tu sistema sin tener que sufrir las penurias relacionadas con los aspectos concretos de cada plataforma.
¿Qué tipo de papel te define mejor? ¿Qué pasos seguirás para alcanzar el siguiente nivel?