Campos de la informática

por | 29 Ago 2020 | Información sobre la industria | 0 Comentarios

La informática es una industria muy amplia. Existen diferentes vertientes, algunas bastante relacionadas pero otras muy dispares entre sí. Esta diversidad es buena, ya que podemos encontrar la rama que mas nos atraiga y enfocarnos en ella, y siempre mantenernos dentro del sector.

Voy a enumerar y explicar un poco las áreas mas importantes y con mayor salida laboral de la informática, para que puedas hacerte una idea de lo que hay disponible, y empezar a enfocarte en lo que más te interesa.

Comentaré además a modo resumen las características principales de cada área, para que puedas visualizar si es lo que a ti te llama la atención.

Debo mencionar que me he enfocado principalmente en aquellos roles que, a mi criterio, pueden ser ocupados por gente con poca o nada de experiencia previa en el sector. Existen muchos otros que no menciono aquí, ya que considero requerirían mucho mas tiempo experiencia, o haber hecho una carrera de informática para poder presentarse exitosamente a un puesto de trabajo.

«IT», o Soporte Técnico

Seguramente habrás necesitado utilizar servicios de soporte en algún momento, y las empresas no son ajenas a ello.

Dentro de lo comunmente denominado «operaciones» o «IT» (según yo creo un término desafortunado, ya que es demasiado generalista), nos encontramos con trabajos principalmente relacionados con hardware, pero no limitados a ello. La gente de IT se dedica a hacer pequeñas reparaciones o actualizaciones de ordenadores (si los problemas son graves entonces normalmente se suele hablar directamente con el fabricante, ya que las empresas poseen garantías especializadas que son mejores que las de los consumidores finales como tu o yo), realizar instalaciones de software, de cableado, solucionar problemas de aplicaciones (cada empresa usa las suyas), tareas de mantenimiento de redes, y asistir a los usuarios con problemas en hardware o software.

Básicamente es el manitas de la informática.

Es un perfil no tan bien pagado como otros (aunque esto no quiere decir que esté mal pago), ya que si bien el trabajo no es trivial, una vez que lo sabes hacer tiene poca chicha, y es bastante repetitivo, sin necesidad de tener que actualizarte tan constantemente como otras disciplinas.
Además, es uno de las especialidades que requieren menos conocimientos técnicos ya que, por ejemplo, no suele ser necesario saber nada de programación para acceder a uno de estos puestos.

Es cierto que recientemente existe el movimiento DevOps (una conjunción que resulta de juntar las palabras developer – desarrollador y operaciones – operations, o IT), donde los roles de IT están empezando a tener más contacto con ciertos aspectos de programación orientados a resolver problemas tales como creación de secuencias de comandos para realizar instalaciones automáticas de distinto tipo de software (en vez de manualmente o utilizando software especializado para hacerlo como solía ser tradicionalmente), pero no todas las empresas han adoptado todavía este movimiento, y de todas formas no dejan de ser conceptos bastante básicos.

Características Principales

  • Ninguna interacción con usuarios finales o gente del negocio
  • Tareas repetitivas, complejidad variada entre hardware y software
  • Baja o nula necesidad de saber programación
  • Alta interacción con empleados de la compañía para resolver problemas

Programadores

 

Los programadores, desarrolladores o developers (como queramos llamarles) son los que escriben código para los ordenadores, que luego se materializa en las distintas aplicaciones que usamos cada día.

Dentro de la programación podemos encontrar montones de vertientes, ya que así como existen distintos lenguajes de programación, existen puestos para cada uno de ellos.

La popularidad de los lenguajes va variando con el paso del tiempo, pero se podría decir que entre los mas modernos, algunos de los que llevan muchos años entre nosotros son y seguirán siendo solicitados por un buen tiempo.

No es casualidad que los lenguajes estén bastante relacionados con los tipos de aplicaciones que se pueden crear, al fin y al cabo no son más que una herramienta para lograr un fin.

Esta sección es mas amplia que las demás, pero es necesario que enumere los mas típicos perfiles de programación, y junto a ellos te contaré cuales son los lenguajes mas populares

 

Desarrollador Web / Frontend 

Si bien las páginas web no son el único tipo de frontend o interfaz de usuario, es por mayoría el mas utilizado actualmente, por lo que me he tomado esta pequeña licencia y los he combinado. El fin de este perfil es crear páginas web. No me refiero a páginas «simples» tales como este blog, donde se muestra contenido principalmente estático, sino a webs mas complejas, tales como pueden ser sistemas de banca online, portales de redes sociales, sistemas de gestión, etc. En general existe en este perfil mucha interacción con interfaces de usuario, las que las personas utilizan para interactuar con el sistema (en el caso de las aplicaciones web, el navegador de internet).

Los lenguajes mas populares dentro de esta área son actualmente HTML + CSS + Javascript (utilizando algunos frameworks, tales como React, Vue o Angular por mencionar algunos).

 

Desarrollador Móvil 

Las apps que tanto nos encantan en los móviles tienen que ser creadas por alguien, y este es el perfil para ello. Entre Android y iOS (Apple) se ocupa prácticamente toda la cuota del mercado de telefonía móvil, así que lo suyo es decantarse por alguno de los dos. Hay gente que no se especializa y programa en ambos, pero creo que es recomendable normalmente elegir uno, ya que las empresas suelen estar acostumbradas a que los desarrolladores estén enfocados en conocer a fondo una de las dos plataformas, en vez de ambas pero sin tanta profundidad.

Los lenguajes de programación utilizados aquí suelen ser Kotlin/Java para Android, y Swift / Objective-C para iOS

 

Desarrolador Backend 

Un programador especializado en tareas de procesamiento que no tienen interacción directa con el usuario. En general se encarga de crear aplicaciones que interactúan con otros sistemas, procesan datos, realizan tareas automáticas, etc.

Este tipo de perfil suele requerir mayor conocimiento de optimización, mejoras en velocidad y eficiencia del código.

Normalmente las aplicaciones que codifican tienen interacciones con alguna interfaz de usuario, por lo que existe colaboración entre este perfil y los mencionados anteriormente (frontend y móvil)

Los lenguajes tradicionales mas populares para backend son Java, C/C++ y C#, pero dependiendo de la aplicación (por ejemplo, si estamos hablando de una página web con poco procesamiento fuera del navegador) también puede ser Javascript. Recientemente también Python ha tomado mucha preponderancia en general, especialmente en el área de la inteligencia artificial y el machine learning.
Otros lenguajes dignos de mencionar son Go, Scala y Ruby.

Desarrollador Full-Stack 

En los últimos tiempos se ha puesto de moda este tipo de perfil, que engloba los perfiles de desarrollador frontend con el de backend. Se intenta que el programador codifique de manera vertical las distintas partes del sistema (de allí el nombre de full stack), desde la interacción con el usuario hasta el procesamiento posterior de datos e información.

De más está decir que es un perfil que requiere un mayor conocimiento de distintas tecnologías, pero también es cierto que se espera que este tipo de perfil esté menos especializado que sus contrapartes, debido a la gran cantidad de áreas del sistema en las que deben intervenir.

 

Cientifico de Datos (Data Scientist) 

Un perfil relativamente nuevo, que se encarga de diseñar sistemas que analizan grandes volúmenes de datos, utilizados normalmente para intentar sacar algún beneficio para la compañía. Por ejemplo, en una empresa de seguros de coches, este perfil podría diseñar sistemas que busquen entre sus clientes quienes son los mas propensos a tener un accidente pronto, y en base a esto tomar decisiones tales como aumentarles la cuota de su prima.

Los tipos de disciplinas con los que trabaja son principalmente machine learning, IA, y modelado predictivo. Como lenguajes mas usados, utilizan C/C++, Matlab y Python

  

Características Principales

  • Es necesario saber conceptos de programación, y conocer al menos un lenguaje (dependiendo de la especialización igual más de uno)
  • Existe interacción constante con otras personas (el equipo de desarrollo) que suelen ser técnicas en mayor o menor medida
  • No suele haber interacción con los usuarios del sistema o resto de personal de la empresa
  • Se espera que se vaya progresando con el tiempo, aprendiendo nuevas tecnologías e incorporando mejoras

Quality Assurance (QA)

Los también llamados «testers» son perfiles que se encargan de realizar las pruebas necesarias para asegurarse que el sistema cumple con las especificaciones requeridas, es decir, que todo funciona tal y como se había pensado.

Evaluan además la performance o rendimiento, y se encargan de reportar todos los bugs o errores encontrados, para que los desarrolladores luego los corrijan y el sistema pueda seguir funcionando tal como se espera.

Dependiendo de la empresa, este tipo de perfil puede requerir mínimos o casi ningún conocimiento de programación, ya que la manera de realizar el trabajo es mas cercana a lo que hace un usuario final que un programador. Pero en algunos sitios sí que se requiere que generen pruebas automatizadas mas complejas, por lo que tener conocimientos de programación no es una mala idea para poder ampliar el horizonte de empresas a las que apuntar.

Características Principales

  • Existe interacción constante con otras personas (el equipo de desarrollo) que suelen ser técnicas en mayor o menor medida
  • Existe también interacción con gente no tan técnica, principalmente de negocio, tales como jefes de equipo y de proyecto
  • Puede existir interacción con los usuarios del sistema
  • No es imprescindible siempre pero sí deseable que se tenga alguna idea de conceptos de programación

Scrum Master

El rol de scrum master se puede relacionar con lo que sería un jefe de equipo en otras disciplinas. Está estrechamente relacionado con Scrum (de ahí su nombre), una metodología para el desarrollo de software, que no puedo explicar ahora ya que eso me tomaría por lo menos un post entero.

Pero básicamente ten en cuenta que es un perfil que se suele encargar de administrar un equipo de personas conformado por perfiles de desarrollo y testers, y asegurándose de que el trabajo vaya saliendo tal como se ha planificado, en tiempo y forma.

Es un perfil que normalmente es poco técnico y se basa más en los llamados «soft skills» / manejo de subordinados, por lo que puede ser una buena opción para aquellas personas que tengan más dote de gentes, o no quieran encasillarse en temas técnicos.

Características Principales

  • Es un perfil poco técnico, y existe mucha comunicación con personas tanto técnicas como no técnicas, tanto del equipo de desarrollo como la gente de negocio
  • Se tiene que tener amplio conocimiento de la metodología Scrum y saber aplicarla
  • Ejecuta tareas de coordinación, seguimiento, planificación de recursos

Analista de Sistemas / Product Owner

Este rol, tambien llamado Product Owner dentro de la jerga de la metodología Scrum, es el nexo entre las necesidades reales de la empresa (lo llamado «negocio») y aquellos que se encargan de llevarlas a cabo (desarrolladores, testers, etc).

Son personas que vuelcan en requerimientos de aplicaciones informáticas aquello que es necesario para la empresa.
Su trabajo principal es el de analizar el negocio del que se encarga la empresa, hablar con los interesados (que pueden ser muy variados, como por ejemplo los clientes de la empresa, los directivos o el dueño mismo), y buscar resolver los problemas que existen en el negocio creando o modificando sus sistemas informáticos para que hagan que la empresa pueda tener ventajas que no tendría sin ellos.

Es entonces un perfil muy analítico, que requiere mucho don de gentes y en donde se debe interactuar tanto con gente no técnica como técnica, ya que una vez que se identifica lo que se quiere hacer, esta persona debe transmitir a perfiles mas técnicos lo que es necesario hacer, evitando el famoso «teléfono descompuesto» y los malentendidos que se pueden dar por una mala comunicación.

Características Principales

  • Es un perfil que no requiere conocimiento técnico
  • Existe interacción con el equipo de desarrollo, aunque muchas veces se puede limitar a interactuar con el scrum master
  • Tiene interacciones constantes con la gente de negocio, y con los usuarios finales de la aplicación a desarrollar
  • Ejecuta tareas de planificación y priorización de trabajo de acuerdo a la importancia y relevancia para cada momento dado

 

Como verás, hay perfiles para todos los gustos. Algunos son mas técnicos, otros son algo intermedio, y luego otros van mas por el lado de la administración y gestión.

Te dejo como tarea evaluar cual es el perfil que se ajusta mas a ti, y donde te verías cómoda trabajando.

By Daniel Perez

Daniel es el fundador y creador de la web

Posts Relacionados

0 Comments

0 comentarios

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información básica sobre protección de datos Ver más

  • Responsable Daniel Perez.
  • Finalidad  Moderar los comentarios. Responder las consultas.
  • Legitimación Tu consentimiento.
  • Destinatarios  Neolo.
  • Derechos Acceder, rectificar y suprimir los datos.
  • Información Adicional Puedes consultar la información detallada en la Política de Privacidad.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies

Pin It on Pinterest

Share This