Programación como salida laboral. 10 preguntas y 10 respuestas

La noticia, que en realidad a esta altura ya no es noticia, repercutió una vez más en los medios de Argentina: hacen falta más programadores. Las empresas de informática no logran cubrir las vacantes necesarias y hay miles de puestos de trabajo al año que podrían llenarse con desarrolladores (otra forma de llamar a los programadores) de todo tipo. Es ahí cuando surge la posibilidad para muchos de considerar la programación como salida laboral.

Un programador se encarga de escribir código de programación, que es lo que las computadoras entienden, para decirles qué es lo que tienen que hacer. Trabaja gran parte del tiempo sentado frente a una computadora (u ordenador, para quienes nos leen de España). Es un trabajo que si bien se puede hacer de forma individual, en general siempre se hace en colaboración de un equipo.

He trabajado en la industria del software como programador y líder técnico durante años. Además, durante parte de algunos de esos años he formado a programadores jóvenes.

Por eso, quiero transmitir mi experiencia y dedicar algo de tiempo a este tema que me parece tan importante.

He tocado el tema de la programación antes pero en esta ocasión me quiero detener en la parte más práctica de aprender a programar: la salida laboral.

Para hacerlo fácil y contundente y como sé que hay muchas dudas al respecto, voy a optar por un formato de preguntas y respuestas. De modo que puedas ir saltando a la pregunta que quieras sin tener que leer todo.

Comencemos.

¿Es verdad que faltan programadores en el mercado laboral?

La respuesta a esta pregunta es un rotundo sí. La carencia de programadores y perfiles técnicos informáticos en general es alarmante.

Y esto trae aparejados inconvenientes en las empresas. En los últimos tiempos en los que trabajé en una de estas compañías padecí dos de los problemas que esto provoca:

  1. Por un lado, la falta misma de programadores. Esto significa que hay mucho trabajo para hacer, con tiempos de entrega fijos y poca gente entre la cual repartir las tareas.
  2. Por otro lado, al haber tan pocos programadores disponibles en el mercado, estos se vuelven muy valiosos, lo que hace que las empresas compitan por ellos, ofreciendo mejores salarios y mejores condiciones de trabajo. Lo que lleva a que haya un alto nivel de rotación. Es decir, los programadores saltan continuamente de una empresa a otra, si les van ofreciendo algo mejor.

El mercado laboral necesita cada vez más programadores.

Que el programador salte de empresa en empresa es beneficioso para el programador que progresa, pero nada bueno para la empresa que abandona. Esa empresa queda con un puesto vacante que deberá llenar de alguna forma.

A los puestos de programadores que abandonan se suman otros puestos que deben cubrirse de todas formas, sólo que no hay programadores para contratar. En muchos casos faltan desarrolladores especialistas en algunas tecnologías en particular.

¿Cómo hago para convertirme en programador?

Hace un tiempo escribí un artículo sobre cómo convertirse en programador. Te recomiendo que lo leas, pero de todas maneras resumo lo más importante aquí.

Para aprender a programar las opciones son las siguientes:

  • Aprender en la universidad
  • Hacer cursos de programación
  • Estudiar por cuenta propia
  • Trabajar como programador

También podría incluir ser voluntario o programar en un proyecto libre de código abierto. Pero es menos probable iniciarse de esa forma.

Ninguna de estas opciones que enumeré arriba es excluyente. Más bien se puede aprender a programar con un cóctel de todo lo anterior.

Lo cierto es que la única forma eficientemente comprobada que he descubierto de aprender a programar es: programando y leyendo el código escrito por otros programadores más experimentados.

No necesitas un título universitario ni terciario para ser programador, aunque la educación superior contribuirá a que te formes como tal.

Me imagino que te estás preguntando: ¿Cómo programo si no sé programar?

Comienzas con un curso online de forma autodidacta o con un curso presencial en algún instituto y luego sigues con otra cosa.

Al principio, programarás como te salga y con el tiempo le dedicarás más tiempo y esfuerzo hasta lograr mejorar. Luego deberás seguir programando y perfeccionándote. Con el tiempo podrás ir incorporando fundamentos básicos, muchos de los cuales te enseñan en la universidad.

Cursos online de programación

Si estás pensando en hacer cursos online y no sabes absolutamente nada de programación, tal vez te convenga primero comenzar con algún tema vinculado al diseño.

En Domestika vas a encontrar varios cursos de desarrollo web, que comienzan con temas como maquetación y CSS, más cercanos al diseño. Junté todos en un solo artículo: Cursos online de desarrollo web en Domestika, pensando en las personas que no tienen conocimientos de programación. Recomiendo hacer esos cursos en orden. Comienza con HTML y CSS, pasa por Javascript y termina con PHP.

Por otro lado, en Udemy encontrarás un curso interesante: Fundamentos de programación. En este curso aprenderás lo básico de la programación independientemente del lenguaje.

Por último, si te interesa aprender de la forma en que se enseña en las universidades, te recomiendo el programa especializado sobre Python que ofrece la Universidad Austral de Argentina a través de la plataforma Coursera. Es 100% online, está completamente en español y consta de 4 cursos que comienzan desde lo más básico.

¿Es necesario saber mucha Matemática para ser programador?

No. No es necesario.

La programación se trata más de lógica que de otra cosa. La mayoría de los programas no requieren conocimientos avanzados de matemática. Algunos sí.

Pongamos algunos ejemplos para ser más claros.

Un sistema de administración de una biblioteca no requiere saber casi nada de Matemática. Ahora, un videojuego que tenga un motor de física incluido sí va a requerir un nivel avanzado, y será más avanzado si el juego es en tres dimensiones (requerirá saber, entre varios temas, Cálculo Diferencial e Integral Multivariable, es decir un nivel avanzado de Análisis Matemático y de Álgebra).

La programación consiste más en descomponer problemas utilizando la lógica que en hacer cuentas.

Pero hay que tener en cuenta que las matemáticas son una herramienta muy valiosa, no solo para la programación.

Así que si sabes Matemática tendrás un panorama más amplio y una mejor preparación para lograr comprender mejor ciertas abstracciones. Podría decirte, incluso, que contarás con ventaja sobre el resto.

¿Cuántas tecnologías hay? ¿Se pueden aprender todas?

Los programadores nos clasificamos dentro de un abanico bastante grande de tecnologías.

Por ejemplo, yo soy programador web, desarrollo sistemas que se basan en tecnologías web, es decir, que se ejecutan parte en un servidor y parte en un navegador.

Pero hay otros tipos de programadores también.

Hoy en día son muy requeridos los programadores mobile, es decir, los que se dedican a hacer aplicaciones móviles para celulares.

Existen también programadores de aplicaciones de escritorio, programadores de bajo nivel (software más cercano a la computadora que al usuario, pero que es imprescindible para que todo funcione), y hasta al día de hoy se necesitan incluso desarrolladores de antiguos lenguajes de programación, por ejemplo para sistemas bancarios.

Es decir que hay una gran gama de tecnologías y no todas se circunscriben a aplicaciones para usuarios. Si, por ejemplo, te gusta la robótica, puedes aprender a programar Arduinos, PLC o microcontroladores.

Hay un sinfín de tecnologías de programación para elegir.

Y no, no puedes aprender todas las tecnologías, porque no te daría el tiempo para hacerlo. Generalmente un programador entiende o tiene una idea de todo en general, pero se especializa en algo en particular.

Créeme que el abanico de tecnologías es enorme.

Además de la tecnología, en parte debes considerar también otra dimensión que es el sector donde desempeñarte.

Como hoy en día todo requiere sistemas, puedes dedicarte al área que prefieras. A algunos les llamará la atención el sector financiero, a otros alguna aplicación científica. Otros optarán por programas que computen estadísticas deportivas, o por qué no, crear software para el sector agropecuario.

Si aprendo a programar ¿Seguro obtengo un empleo?

Otra pregunta que te debes estar haciendo es: ¿Es tan sencillo esto de conseguir trabajo como programador? Si aprendo a programar ¿Tengo trabajo asegurado?

La respuesta es: depende qué tan bien programes.

Las empresas, especialmente las grandes, no toman a cualquiera y algunas tienen rigurosos mecanismos de selección de personal.

Es necesario que tengas experiencia programando antes de ir a una entrevista en una empresa de desarrollo de software. Generalmente, en la parte técnica del proceso de selección de personal te encontrarás con un programador experimentado que te hará preguntas para ver qué tanto sabes del mundo del desarrollo.

A veces te pedirán el código de algún proyecto que hayas hecho. Un proyecto puede ser cualquier cosa que hayas construido para aprender, no tiene por qué ser un trabajo.

Es recomendable que tengas algo de experiencia programando antes de postularte para un puesto en una compañía de software.

En algunos casos te harán preguntas puntuales o te exigirán hacer algún tipo de ejercicio para ver qué tan preparado estás. Si bien no concuerdo con esta metodología de selección, es una realidad que existe.

¿Podría trabajar por mi cuenta como programador?

Sí, podrías ser un programador freelance.

Pero este tipo de independencia generalmente la pueden ostentar mejor los programadores más experimentados. Son quienes trabajan de forma autónoma y se suman a proyectos que van eligiendo, o hacen intervenciones puntuales si son requeridos por algún cliente o por una empresa de informática.

Un programador con suficientes conocimientos y experiencia puede optar por trabajar por su propia cuenta.

Pero no es la única forma de trabajar por cuenta propia.

Hoy en día es muy fácil crear un sitio web o una aplicación mobile e intentar monetizarla, es decir, obtener ingresos a través de la misma.

Para lograr ganar dinero de esta forma necesitas tener una buena idea y algo de fortuna. A veces no precisas una aplicación complicada de programar, sino algo innovador que nadie haya creado hasta el momento, o simplemente algo que se viralice.

¿Influye la edad para conseguir un puesto de programador?

Lamentablemente sí.

Las empresas de software prefieren candidatos jóvenes, entre 18 y 23 años para cubrir puestos de programadores junior, que es el rango, por así decir, que tienen los programadores cuando recién comienzan.

En cuanto a la edad, lo mejor es que comiences a programar cuanto antes.

Pero no te desanimes si pasas esas edades. ¿Por qué? Porque la carencia de programadores en este momento hace que las empresas prefieran a los más jóvenes pero tengan en cuenta a casi cualquiera que pueda escribir código.

Así que todavía estás a tiempo de aprender a programar y conseguir empleo.

Si tienes más de 30 años, te recomiendo un artículo completo que escribí para mi otro sitio Crónicas FreelancerAprender a programar después de los 30 años. Allí trato el caso puntual de personas que tienen 30 ó más y quieren comenzar en el mundo de la programación para conseguir empleo.

¿Cuáles son los distintos niveles de un programador dentro de una empresa?

En general, los programadores nos clasificamos en tres categorías:

  • Programador junior
  • Programador semi-senior
  • Programador senior

Los programadores que ingresan a una empresa de software y nunca trabajaron como programadores antes, entran en la categoría de juniors. Este es el rango más bajo dentro de la categorización que se hace de los programadores.

Generalmente los programadores junior son los que tienen mucho que aprender todavía y requieren supervisión.

A nivel salario son los que menos perciben. El tiempo que lleva dejar de ser junior depende de cada programador. Algunos pasan rápido esa etapa. A otros les lleva más tiempo. Y hay algunos que nunca la superan.

El siguiente nivel es el programador semi-senior, que tiene mucha más autonomía que el Junior. Comete menos errores y tiene aceitado el mecanismo de trabajo diario.

Los programadores suelen clasificarse en niveles: junior, semi-senior y senior.

Por último, el programador senior que es el experto que no sólo programa sino que puede guiar a otros programadores. Comete pocos errores, escribe código limpio y eficiente, toma decisiones de diseño a nivel informático y asume responsabilidades diversas.

Debes tener en cuenta que estos niveles son a veces muy difíciles de diferenciar y que dependen de la tecnología. Un programador puede ser senior en una tecnología y no en otra. Aunque generalmente este rango está más asociado a la experiencia que a la capacidad técnica en un lenguaje específico.

Si te interesa más saber sobre este tema te recomiendo el artículo el seniority en la carrera de programador: de junior a senior.

¿Es necesario saber inglés para conseguir un empleo de programador?

No es obligatorio en algunos casos, pero lo más probable es que si te toman como programador y no sabes inglés, te pongan inmediatamente a estudiarlo.

Hoy en día no saber inglés a la hora de programar es una desventaja enorme. Los programadores nos valemos mucho de blogs técnicos y de sitios como Stack Overflow que son bases de conocimiento fundamentales donde se recopilan problemas y sus soluciones.

Toda esta información está en inglés.  Además, la documentación técnica oficial de las tecnologías suele estar siempre en este idioma.

El dominio del idioma inglés es un recurso de suma importancia para todo programador.

Poder comprender textos en inglés es fundamental para poder programar. Eso sería lo mínimo e indispensable que un programador debería saber.

¿Es cierto que los ambientes de trabajo son relajados y los horarios flexibles?

Depende la empresa, pero en general sí.

Por empezar, las empresas de informática mantienen un código de vestimenta informal. Esto quiere decir que se puede ir a trabajar en jeans y remera (camisa, camiseta o t-shirt para los que no son de Argentina), o incluso en pantalones cortos. De nuevo, depende la empresa.

Respecto de los horarios, los programadores más que cumplir horarios, cumplen plazos y entregas.

Debes tener en cuenta que cada tanto puede aparecer un problema que hay que solucionar y ese tipo de crisis no suelen tener horario.

Esto significa que hay veces en las que deberás sobrepasar tu horario de trabajo. No ocurre todos los días, pero a veces sí. Esto hace que las empresas sean flexibles con los horarios en tanto y en cuanto se cumplan los plazos de entrega.

Las empresas más modernas suelen otorgar días en los que se trabaja desde la casa. Eso significa cumplir el horario de trabajo, estar disponible vía Skype, Zoom, Slack, Hangouts o la tecnología que se use para comunicarse.

Trabajas igual, pero desde tu casa. Para muchos esta es una ventaja importante a la hora de elegir dónde trabajar.

El ambiente de trabajo de los programadores suele ser moderno y distendido.

La era de los cubículos parece haber llegado a su fin. Hoy en día las oficinas suelen ser abiertas, las posiciones de los empleados pueden cambiar de acuerdo al proyecto en que se trabaje. Puede haber pizarras y paneles de todo tipo. Suele haber música de fondo.

¡También es probable que te den un headset propio! Para que de esta manera puedas concentrarte escuchando tu propia música.

A todo esto se le suman ciertas comodidades para que te sientas cómodo en tu lugar de trabajo: café, galletitas, gaseosas y golosinas. Algunas empresas ofrecen beneficios en gimnasios, restaurantes, cines y bares.

Pero todo esto último son pequeñas tentaciones para atraer candidatos. No hay que dejarse seducir por cosas que se consiguen en algún negocio.

Resumiendo

Espero haberte orientado si estás considerando la programación como salida laboral.

Tenía en mente responder sólo 10 preguntas pero en el camino se me ocurrieron otras 30 más. Como por ejemplo hablar sobre el problema de la permanente actualización, el vínculo con las carreras universitarias y otras tantas más.

También sobre el tema de los salarios que dependen de muchos factores. De la capacidad, de la experiencia y de la tecnología que domines.

No creas que te harás millonarios de la noche a la mañana, porque eso va a depender, como en todos los rubros, de la capacidad que tengas.

Si eres mediocre, ganarás poco. Si tienes capacidad, aprendes y desarrollas tu carrera de forma inteligente, podrás ganar mucho.

Es importante que no elijas convertirte en programador pensando en la paga, porque de irte mal, te vas a desilusionar y a convertir en el peor de los programadores: el programador resentido.

Si te interesó el artículo y tienes otras preguntas, déjame un comentario. Iré recopilando las mejores para hacer una nueva entrega de este estilo.

Además, me gustaría invitarte a otro de mis sitios, Crónicas Freelancer, donde tengo muchos artículos como este, vinculados a la programación y al modo de vida freelancer.

Comparte el artículo y te invito a que sigas a Mentes Liberadas en las redes sociales. Suscríbete también al newsletter para recibir las novedades del sitio en tu correo electrónico.

¡Hasta la próxima!

Subscribe
Notify of
guest

139 Comentarios
Oldest
Newest
Inline Feedbacks
View all comments
Quizás también te interese