Habilidades que todo informatico deberia tener

From FdIwiki ELP
Jump to: navigation, search

Según la Real Academia Española, un informático es aquel "perteneciente o relativo a la informática, que trabaja o investiga en informática y además el conjunto de conocimientos científicos y técnicas que hacen posible el tratamiento automático de la información por medio de computadoras." Este artículo se centra en la última parte de la definición anterior, por tanto se enumeran a continuación algunas capacidades que todo informático debería tener.

Conocimiento sobre Licencias de software.

Una licencia de cualquier aplicación contiene una serie de reglas para el uso, modificación, copia y distribución de la misma. Es necesario conocer qué tipo de licencias hay y sobre todo conocer la diferencia entre los conceptos de licencia libre con todas sus variantes, copyright y otros conceptos que se pueden encontrar en los artículos de Propiedad Intelectual de esta misma Wiki.

Dominar lenguajes de programación.

C, C++ o Java son excelentes excelentes ejemplos de lenguajes de programación completos y generales. Son muy apreciados en educación para aprender los conceptos básicos de la programación, sin embargo para desarrollar un software no demasiado complicado necesitaremos de un montón de líneas de código lo que hace que en general, sea lento ir escribiendo un programa en ellos, aunque por contra parte son rápidos de ejecutar. Como más información conviene indicar que son libres.

Se valoran mucho los conocimientos de otros lenguajes de programación como Python, Perl, Ruby, JavaScript o PHP, actualmente es muy probable que se le requiera a un informático para algún puesto de trabajo.

Existen ejemplos de lenguajes de programación para usos muy concretos como Matlab, que es más bien una herramienta software pero que usa un lenguaje de programación propio que se usa para expresar conceptos matemáticos. Estos lenguajes son muy específicos y no se deben requerir como dominio de un informático.

Idiomas.

Actualmente, el inglés es el lenguaje universal (o mundial si no quieres ver más allá), por tanto a cualquier profesional de la informática se le exige un mínimo de inglés, aunque esto no es solo referido al ámbito laboral, puesto que si se pretenden adquirir conocimientos de informática se hace necesario consultar libros y manuales en inglés, además que los lenguajes de programación tienen como base este mismo idioma y generalmente las herramientas para el desarrollo de software también.

Como resumen, se podría decir que si se quiere adquirir formación en informática, también se ha de adquirir formación en inglés.

Competencias en Sistemas Operativos.

Es tan necesario conocer el funcionamiento interno de un sistema operativo, como el manejo del mismo a través de su interfaz gráfica o de su línea de comandos si es necesario. Todo informático tendrá sus preferencias acerca de usar cierto sistema operativo por delante de otro, ya sea por su facilidad de uso, por su sencillez para instalar aplicaciones o desarrollarlas, o simplemente por si es libre o no.

Lo que se recomienda es conocer y manejar el mayor número de sistemas operativos posible, porque seguramente un profesional informático será mucho mas valorado por ello.

Herramientas de gestión de equipos de trabajo.

En la actualidad está muy generalizado el uso de herramientas como Dropbox o Google Drive para compartir cualquier tipo de información entre un equipo de trabajo, aunque además hay herramientas a disposición quizá más útiles y completas que las anteriores, por ejemplo, se recomienda en gran medida el uso de Git y GitHub para este mismo propósito, pues además son muy valoradas a nivel profesional.

Gestión de los equipos de trabajo.

Es necesario saber manejar la gestión de un equipo de trabajo cuando éste se hace inabordable para un conjunto pequeño de personas. Así mismo, deberíamos aprender a seguir estrictamente lo que un gestor del equipo nos pueda asignar, ni más ni menos ni diferente.

¿Quién hace qué? ¿Cómo se informa a los demás de lo que está haciendo? ¿Si surge alguna duda o no sabes cómo hacer algo, a quién le preguntas? ¿Cómo se decide qué características nueva implementar? ¿Y cómo se informa de un error que ha pasado los tests o la petición de una nueva característica?

En el mundo del software libre ya hay herramientas para todo ello: gestores de incidencias como RedMine o los más básicos integrados en GitHub o Gitlab, listas de correo, canales de IRC siempre abiertos para ayudar a los principiantes, Aplicaciones como Trello para gestionar objetivos y encomendar tareas.

Documentación.

Todos los lenguajes de programación incluyen su propio sistema de documentación, pero también hay otros sistemas como Textile, Markdown o Latex que permiten escribir documentación estructurada aparte de los ficheros de la aplicación. A partir de ahí, generar cualquier cosa es fácil: PDF, HTML o un ePub. Además, se aprende rápido.

Seguridad.

La seguridad no es algo que se le añade a un programa al final cuando está todo terminado: es un requisito fundamental. Hay pensar en todos los posibles huecos y evitarlos, usar prácticas seguras, usar versiones de las librerías sin huecos de seguridad conocidos. Por supuesto, esto también incluye al software libre que además con el paso de "mano en mano" se va haciendo cada vez más confiable y seguro.

Estadística.

¿Cómo? ¿Estadística? ¿Eso no es matemáticas?. Efectivamente, pero... también es informática y es imprescindible cuando analizas las prestaciones de un sistema o un programa. Para la realización de algoritmos eficientes y análisis de rendimiento de software y hardware es realmente necesario acudir a la estadística por lo que se debe incluir en la formación de todo profesional informático.

Resumen general y discusión del mito "Los informáticos saben hacer de todo".

En este artículo se han ido enumerando varios conocimientos y competencias que forman y concretan a un profesional informático. Por tanto, está claro que un informático no es un experto en cualquier tipo de tecnología ni se le deben pedir competencias en cualquier campo tecnológico. Deberían ser valorados como conocimientos extra y por tanto, reconocidos como tal. Queda en evidencia por tanto el mito "Los informáticos saben hacer de todo", y se debe intentar que por ello no se le requieran a un profesional informático más competencias de las que se debe.

Referencias.

http://dle.rae.es/?id=LY8zQy3

https://medium.com/espanol/7-habilidades-que-deberian-estar-en-un-curriculum-informatico-pero-no-estan-40bd0d7da879