
Alcance del Perfil Profesional
El Técnico en Programación estará capacitado para realizar programas o componentes de sistemas de computación – interpretar especificaciones de diseño, documentar los productos realizados, verificar los componentes programados, buscar causas de malfuncionamiento y corregir los programas o adaptarlos a cambios en las especificaciones – desarrollando las actividades descriptas en el perfil profesional y cumpliendo con los criterios de realización establecidos para las mismas en el marco de un equipo de trabajo organizado por proyecto. Este Técnico en Programación participa en proyectos de desarrollo de software desempeñando roles que tienen por objeto producir programas, módulos o componentes de sistemas de computación. Estos módulos suelen integrarse en aplicaciones que interactúan con otras ya existentes desarrolladas con la misma o diferente tecnología.
Sus actividades profesionales cubren las siguientes áreas:
“Interpretar especificaciones de diseño o requisitos de las asignaciones a programar”, en el contexto del proyecto. Convalida su propia interpretación con quienes la hayan realizado o provisto.
“Planificar su trabajo en el contexto del equipo de desarrollo del proyecto y de la tecnología a utilizar”. Identifica aspectos de posible dificultad o riesgo, evalúa las características del entorno, tiempos y esfuerzos para lograr la solución del problema, considera la posibilidad de subdividir La asignación en pasos o componentes menores y establece un orden o secuencia de trabajo. Analiza estrategias para desarrollar la asignación recibida e investiga para refinar aspectos de diseño, algoritmos o estructuras de datos, busca componentes disponibles y adecuados y plantea soluciones alternativas para ser evaluadas en el contexto del proyecto.
“Producir programas, módulos o componentes de sistemas de computación”, respondiendo a necesidades específicas en el contexto de la tecnología a utilizar. Para ello desarrolla algoritmos que den solución a los problemas a resolver y define estructuras de datos adecuadas a los mismos. También construye o modifica clases y objetos, reutiliza componentes existentes o diseña interfaces. Modifica códigos ya escritos para corregir errores o para cambiar funcionalidades o comportamientos de productos existentes. Integra los componentes programados en aplicaciones que interactúan con otras ya existentes desarrollados con las mismas o diferentes tecnologías.
“Verificar y depurar el producto desarrollado “, para asegurarse que cumple con las especificaciones recibidas. Implica la implementación de un conjunto de pruebas para detectar comportamientos o resultados no previstos y buscar sus causas. Comprende revisar códigos para encontrar las partes o instrucciones que provocan los malfuncionamientos y definir las acciones correctivas.
“Realizar revisiones cruzadas de código o de interfaces”, con otros programadores o con especialistas, para evaluar el uso eficiente de recursos y del ambiente de desarrollo, y aporten observaciones con propuestas de cambio con el objeto de mejorar la calidad, mantenibilidad y eficiencia del producto.
“Realizar la documentación técnica y de usuarios de acuerdo con los requerimientos funcionales y técnicos de las aplicaciones y sistemas”. Documenta su trabajo para que resulte interpretable y utilizable por otros. Esto incluye comentar el código, complementar documentos de diseño, confeccionar o completar reportes de incidentes, adjuntar resultados de pruebas o advertencias sobre posibles limitaciones de la solución. También incluye la identificación de las versiones producidas.
“Explotar las funcionalidades de los sistemas de información, hardware, software y redes”, para la realización de las actividades. Implica conocer y saber utilizar eficientemente recursos de hardware, software y redes para utilizar los ambientes que necesite para el desarrollo su trabajo. La actividad del programador es no rutinaria a pesar de que muchas veces se reutilicen partes ya existentes. Cada asignación representa la necesidad de dar satisfacción a determinados requisitos. Ello requiere comprender el problema y la arquitectura en la que estará inserta la solución, idear estrategias de resolución y ser capaz de aplicar debidamente el lenguaje y ambiente de programación a emplear, así como aplicar buenas prácticas de programación, lo que incluye documentar decisiones significativas de diseño y las limitaciones que tendrá el artefacto construido. Para poder desarrollar plenamente su profesionalidad, el técnico tiene que poseer ciertas capacidades que resultan transversales a todas sus funciones y tienen que ser desarrolladas durante el transcurso de su formación. Estas son:
Abstracción - Implica descartar o reducir detalles poco significativos de la información sobre un problema para concentrarse en pocos elementos por vez, lo que resulta en una reducción de la complejidad que permita conceptualizar de modo más simple un dominio de problemas para facilitar su comprensión y manejo en forma genérica de sus posibles soluciones.
Pensamiento combinatorio - Conduce a la consideración sistemática de un conjunto de alternativas, lo que incluye el manejo mental de muchas variables o detalles del problema sin perder nunca de vista el concepto o la estrategia general de resolución.
Autorregulación - Implica manejarse respetando reglas y limitaciones, tanto explícitas como implícitas, sean éstas propias o del grupo de trabajo; actuar ateniéndose a un orden propio que le facilite el acceso a lo que puede necesitar, reconocer y guardar; referenciar la información y registrarla de tal manera que le facilite acceder posteriormente en forma rápida para evaluarla y recuperarla.
Comunicación apropiada - Implica una disposición a reconocer que existen otros que pueden aportar información útil o a quienes puede interesarle lo que hace. Supone reconocer su rol y el de cada integrante del proyecto, transmitir la información necesaria en forma precisa y en un lenguaje apropiado para el entendimiento mutuo en interacciones individuales o grupales, o en forma escrita, utilizando, si es necesario para ello, el idioma inglés, que debe interpretar con propiedad a nivel técnico.
Trabajo en equipo - Implica adoptar una actitud abierta, estar dispuesto a compartir información y conocimientos, a tomar en cuenta a los usuarios del producto que está construyendo, a brindar, pedir y aceptar ayuda cuando ésta resulte necesaria para facilitar su propia labor o la de otro integrante del equipo. Comprende al equipo del proyecto, incluyendo a los usuarios que participan del mismo
