Los programadores informáticos son aquellos que se dedican a escribir programas informáticos, como su nombre indica. El puesto de programador es cada vez más solicitado por las empresas, quienes quieren desarrollar plataformas e infraestructuras para sus clientes y buscan aumentar su visibilidad mediante páginas web y aplicaciones para móviles. Si nos interesa la informática y la tecnología en general y queremos pensar en un futuro como programadores, todo esto es lo que debemos tener en cuenta.
Uno de los apartados que debemos tener en consideración a la hora de buscar trabajo en algo relacionado con la tecnología, o en realidad en cualquier otro sector, es que la competencia es muy elevada. De ahí precisamente los problemas que en estos instantes muchos tienen a la hora de encontrar un puesto de trabajo que se adapte a sus gustos o necesidades. De unos años a esta parte esta es una búsqueda que se ha vuelto bastante tortuosa y compleja, especialmente para aquellos que no están lo suficientemente preparados.
Si tenemos en consideración que los diferentes trabajos relacionados con la tecnología como es este del que os hablamos ahora, la programación, están cada vez más demandados, tendremos que formarnos más que nunca. Con todo y con ello no podemos negar que, si conseguimos un empleo relacionado con el desarrollo de plataformas y software, tendremos una vida mucho más interesante. La principal razón de todo ello es que se trata de un puesto de trabajo creativo a la vez que entretenido si nos gustan este tipo de tareas.
Evidentemente para todo ello debemos ser amantes de la tecnología en general y del desarrollo software en particular. Es por ello por lo que a continuación os vamos a mostrar lo que necesitáis para convertiros en un programador de éxito en el futuro. Una parte de todo ello estará relacionada con los estudios a los que deberíamos acceder y centrarnos.
Tener estudios es esencial
Lo primero que nos preguntaremos es qué estudiar. Normalmente las empresas suelen pedir programadores que tengan una carrera de ingeniería informática u otros grados relacionados también con la tecnología. Durante la carrera se suelen enseñar conceptos básicos sobre programación, y es una buena base para lo que buscan las empresas.
Sin embargo, también hay FP superiores de informática donde enseñan programación, bases de datos y unos conocimientos mucho más directos enfocados principalmente a la búsqueda de trabajo. Si no podemos (o queremos) estudiar una carrera (aunque es lo recomendable), la formación profesional especializada puede ser una gran opción.
Los másteres de especialización (por ejemplo, en ingeniería de software, en programación avanzada e incluso en Inteligencia Artificial) suelen ayudar mucho a la hora de especializarse y encontrar trabajo de programador. Como os podréis imaginar esto es algo que se hace extensible a la mayoría de los trabajos y puestos a los que podemos acceder actualmente.
Formación continua
Por supuesto, no basta solo con una carrera para encontrar trabajo como programadores. Hay muchísima gente con experiencia, y muchos más conocimientos, que va a optar por el mismo puesto de trabajo. Por ello, una vez acabamos la carrera, el siguiente paso es continuar la formación.
Además, esto es algo que se hace especialmente importante en todo aquello relacionado con la tecnología, ya que no para de crecer en ningún momento y tendremos que estar actualizados en cuanto a nuestros conocimientos. De hecho, buena parte de los programadores emplean parte de su tiempo en aprender nuevas cosas y seguir con su formación.
Dónde continuar la formación
En la red hay muchos sitios web donde podemos seguir formándonos y aprendiendo nuevas habilidades, ya sea para profundizar más en nuestro lenguaje principal, o para ampliar horizontes y aprender nuevos lenguajes de programación.
Una de las plataformas más interesantes para poder conseguir todo tipo de cursos a un buen precio es Humble Bundle. En esta plataforma suelen publicar frecuentemente este tipo de cursos, en forma de packs, de manera que, por una cantidad de dinero bastante baja, podamos hacernos con una buena cantidad de libros (en inglés, eso sí) para poder continuar con la formación.
También podemos encontrar multitud de cursos de programación en YouTube. Lo bueno de esta plataforma es que todo el contenido es totalmente gratuito (casi siempre) y, a menudo, podemos encontrar canales de muy alta calidad que nada tienen que envidiar a las plataformas de pago. Un excelente recurso al que siempre podemos echar mano.
Si buscamos formación algo más profesional, entonces ya debemos buscar cursos en otras plataformas especializadas, como es el caso de Udemy. En esta plataforma no solo vamos a encontrarnos con los mejores cursos de auto-formación, sino que también vamos a tener acceso a una comunidad donde compartir nuestras dudas y tendremos contacto directo con el profesor. Los cursos de esta plataforma suelen ser de pago (y algo caros), pero a menudo podemos encontrar ofertas con las que hacernos con ellos por apenas 10 euros.
Además, cualquier otra web relacionada con la programación (como Stack Overflow) serán siempre de gran utilidad a la hora de ayudarnos a ampliar nuestros conocimientos.
Tener claro el sector y la plataforma
Hay que tener en consideración que todo aquello relacionado con la programación se extiende sobre una enorme cantidad de modos de trabajo, sistemas operativos y plataformas. Cierto es que en un principio deberíamos aprender los conceptos básicos que se hacen extensibles a casi todo ello. Sin embargo también es importante que sepamos hacia dónde nos queremos dirigir o qué tipo de desarrollo deseamos aprender en el futuro.
Con esto lo que queremos decir es que no es lo mismo desarrollar aplicaciones propias que formar parte de grandes proyectos pertenecientes a determinadas empresas. Asimismo es bastante diferente centrarnos en el desarrollo de programas para sistemas como Windows o programar aplicaciones para dispositivos móviles Android o iOS. Una vez tengamos claros los conceptos comunes y básicos relacionados con el mundo de la programación, deberíamos pensar bien hacia dónde nos queremos dirigir.
Otros factores que determinan al futuro programador
En el caso de que nos queramos dedicar a todo esto relacionado con el desarrollo de aplicaciones de un modo profesional, lo primero que debemos plantearnos es hacia dónde queremos dirigirnos. Sirva como claro ejemplo de todo ello que no es lo mismo centrarnos en proyectos propios para aplicaciones móviles, que videojuegos para PC. De ahí precisamente que como os comentaremos un poco más adelante, es importante que al menos en un principio nos centremos en un determinado lenguaje de programación.
Pero no solo eso, sino que también debemos elegir bien las plataformas y software que vamos a utilizar para este tipo de tareas. Quizá en un principio tengamos que hacer un pequeño desembolso económico para adquirir determinadas herramientas profesionales centradas en el desarrollo. Sin embargo, seguro que con el tiempo lo rentabilizaremos de sobra. Al mismo tiempo también debemos poner mucho de nuestra parte para tener éxito y lograr resultados que valgan la pena.
Con esto lo que queremos decir es que para alcanzar los objetivos deseados y convertirnos en buenos programadores, sobre todo al principio debemos tener paciencia y dedicarle mucho tiempo. No podemos pensar que en unos cuántos días ya podremos encontrar trabajo o considerarnos programadores como tal. Si tenemos formación previa, quizá nos interese especializarnos en algún sector del desarrollo software, para lo cual tendremos que seguir estudiando. Por tanto, os diremos que este es un mundo muy interesante, pero necesita de un gran sacrificio en la mayoría de las ocasiones.
Especializarnos en dominar un lenguaje
Obviamente no podemos aprendernos todos los lenguajes de programación, ya que es imposible. Y además no sirven todos los lenguajes de programación para encontrar trabajo. Debemos tener claro qué tipo de programadores queremos ser, y formarnos en consecuencia.
Por ejemplo, si vamos a ser programadores de apps para Android debemos aprender a dominar su propio IDE de programación y el lenguaje Java, ya que las apps se programan en este lenguaje. Y si queremos programar para iOS, entonces debemos conocer Switft.
Si vamos a ser programadores de páginas web debemos conocer HTML, CSS y JavaScript, en caso de frontend, o C, SQL, PHP y frameworks (entre otros) en caso de backend. O puede que lo que nos interese es programar videojuegos. En ese caso, lo que debemos controlar los lenguajes (generalmente de scripting) utilizados por los IDE y motores, como Unity y JavaScript. También debemos tener conocimientos sobre modelado 3D, aunque esto puede quedar en manos de otros usuarios, según la magnitud del proyecto.
Otro caso es que nos interese programar infraestructuras de datos. Entonces debemos dominar bases de datos y tener conocimientos de C++, C# y lenguajes Visual (por ejemplo). También podemos intentar ser programadores multiplataforma gracias a lenguajes como C o Python que nos permitan defendernos en cualquier plataforma.
Todo depende del tipo de programadores que queramos ser. Pero, aparte de tener conocimientos básicos sobre programación, debemos dominar los lenguajes que vayamos a utilizar.
Otros conocimientos para ser programador
Además de saber programar y controlar los lenguajes de programación necesarios para nuestro trabajo, hay una serie de «extras» que nos ayudarán a programar mejor y, además, a tener más probabilidades de encontrar trabajo. Uno de los conocimientos que piden muchas empresas es Clean Code, saber programar de manera limpia y correcta.
También se valorará conocimientos avanzados sobre todo tipo de sistemas operativos (sobre todo Windows y Linux), además de saber defendernos con los IDE de programación más usados y los sistemas de versionado de código, como GIT.
También hay determinadas certificaciones (como el CCNA de Cisco, o las Microsoft Technical Certifications) que, aunque puedan no estar relacionadas directamente con la programación, nos permitirán dar una apariencia mucho más profesional de cara a la empresa.
La experiencia y el círculo vicioso
Por desgracia, por muchos conocimientos que tengamos, nos será muy complicado trabajar como programadores si no tenemos experiencia. Y si no trabajamos, no podremos conseguir experiencia. Es lo mismo que ocurre en la mayoría de los trabajos.
Sin embargo, si queremos trabajar como programadores, podemos intentar demostrar esta experiencia, aunque no la tengamos, de varias formas. Una de las mejores y más recomendables es llevar a cabo una serie de proyectos por nuestra cuenta y compartirlos en GitHub. De esta manera, cuando nos pregunten por nuestra experiencia laboral podremos demostrar que sabemos programar compartiendo la página de nuestro perfil de GitHub. Y no solo programar por nuestra cuenta, sino también colaborar con otros proyectos OpenSource que podamos encontrar en la página. Las empresas suelen mirar actividad, tanto de cara a proyectos propios como colaborando en otros proyectos.
Además, estaremos ayudando a otros desarrolladores y a los usuarios en general. Incluso puede que alguna compañía contacte con nosotros a raíz de ver nuestro perfil de GitHub. Una buena oportunidad en todos los sentidos que nos ayudará a perfeccionar nuestra técnica y a trabajar con otras personas.
Debemos tener muy presente que por regla general la comunidad a nivel mundial de programadores se suele echar una mano siempre que sea posible. Esto quiere decir que podemos encontrar multitud de vías y fuentes por ejemplo en foros que no serán de mucha ayuda para crecer en este sector del software en concreto. Al mismo tiempo también nosotros deberíamos estar en predisposición de echar una mano a aquellos que estén empezando en todo ello tal y como nos ayudaron a nosotros en los inicios. En resumidas cuentas, generalmente la comunidad de programadores suele ser bastante solidaria entre sí, algo que siempre será de agradecer.
Perfil profesional del programador
Debemos tener en cuenta que las empresas suelen buscar perfiles de gente muy concretos para trabajar como programadores. Por ejemplo, se busca gente que sepa trabajar en grupo, ya que normalmente un programa informático está creado por varias personas que deben comunicarse y adecuar el código al de los demás. También se debe buscar gente dinámica y analítica, capaz de prestar atención a los detalles y poder solucionar todo tipo de problemas.
Los programadores también deben tener una gran capacidad de concentración y ser meticulosos con el trabajo, escribiendo código de forma ordenada y comentada para que otros puedan entender cada parte, cada función.
Por supuesto, se deben tener conocimientos de programación e informáticos, así como saber cómo funciona el hardware y las redes. Aunque esto es algo que se da por supuesto para este tipo de trabajos relacionados con la tecnología.
Siempre al día
Hay mucha gente que en cuanto encuentra trabajo dentro de IT (como mantenimiento, programador, etc) se olvida de la formación. Incluso gente que encuentra otro trabajo se conforma y se olvida de seguir formándose. Esto nunca se debe hacer.
La vida puede dar mil vueltas. Y más cuando estamos hablando del sector de la tecnología. Por tanto, es muy importante que, aunque estemos trabajando, sigamos en continua formación. Debemos seguir estudiando (y, sobre todo, practicando) programación, aunque sea para proyectos propios y poco relevantes. Así podemos sumar unos cuantos repositorios a nuestra cuenta de GitHub que nos ayuden el día de mañana a demostrar nuestra experiencia. Podemos aprovechar para aprender nuevos lenguajes, e incluso abrirnos paso en las tiendas de aplicaciones de Android y iOS para conseguir un dinerillo extra, que nunca viene mal.
Lo importante es que, sea cual sea nuestro estado laboral, nunca dejemos de seguir formándonos y refrescar los conocimientos.
¿Por cuenta propia o ajena?
Otro aspecto que debemos tener en cuenta a la hora de querer ser programadores es pensar cómo vamos a hacerlo. Principalmente hay dos opciones. La primera de ellas es trabajar por cuenta propia y crear nuestras propias aplicaciones o programas que, después, podemos vender a empresas o a otros usuarios. Es lo que comúnmente conocemos como «freelance». Podemos tener contratos mercantiles con otras empresas, o apostar por la distribución masiva a través de tiendas como la Microsoft Store, la Google Play Store o la App Store.
Por otro lado, tenemos la posibilidad de trabajar por cuenta ajena. Esto es cuando una empresa nos contrata para desarrollar en exclusiva para ellos. Esta es la opción más estable, pero implica problemas, como la experiencia (o falta de ella, mejor dicho) y que el dinero que podemos ganar es mucho menor al que ganaríamos si trabajamos con cuenta propia y tenemos éxito. Por ello, siempre debemos mantener un portfolio actualizado (ya sea en GitHub, Linkedin, o cualquier otra plataforma) donde, aunque no tengamos experiencia en otras empresas, podamos demostrar nuestra valía con los proyectos que hayamos llevado a cabo.
Trabajar por cuenta propia hasta conseguir algo de experiencia demostrable (por ejemplo, publicando código en GitHub) y luego optar a la empresa privada suele ser una estrategia muy extendida.
¿Qué lenguajes tienen mayor probabilidad de empleo?
Lenguajes de programación hay muchos, pero no todos van a tener las mismas salidas profesionales. Estudiar el lenguaje equivocado solo nos va a hacer perder el tiempo, ya que la escasa demanda hará que no encontremos ni una sola oferta.
Si realmente queremos encontrar trabajo como programador, partiendo de todo lo anterior debemos elegir el lenguaje que mejor se adapte a lo que queremos hacer. En los últimos años, uno de los lenguajes que más salidas profesionales ha tenido ha sido Rust. Este lenguaje se ha ganado el respeto de los desarrolladores por el gran rendimiento que ofrece, así como por su gran fiabilidad y productividad.
A parte de él, también hay otros muchos lenguajes especializados. Por ejemplo, si nos vamos a dedicar a desarrollo web, los lenguajes que debemos dominar, sí o sí, son HTML, CSS y JavaScript, en el caso de ser desarrolladores frontend, y PHP y sus frameworks en caso de trabajar como desarrollador backend.
Por último, como lenguajes de programación generales, los que no pueden faltar en nuestro repertorio son Java, Python y C#. Con estos lenguajes, raro sería no encontrar trabajo dentro del sector. Aunque, como ya hemos explicado, la dura competencia y el requisito de experiencia son factores que debemos tener muy en cuenta.
Los mejores lenguajes para desarrollar juegos
A la hora de convertirnos en programadores o desarrolladores software de futuro, antes de nada debemos tener claro el entorno hacia el que nos queremos dirigir. Lo cierto es que uno de los sectores que más está creciendo a lo largo de los últimos años es todo aquello relacionado con el mundo de los videojuegos. Por tanto, nos podemos plantear el dirigirnos hacia el desarrollo de estos elementos software que tanto se usan en los entornos PC en estos instantes.
Además, a todo ello le podemos sumar que muchos de los habituales también consideramos los como amantes de los videojuegos, antes de entrar en el mundo del desarrollo de otros sectores, quizá preferirían hacerlo en el del ocio. Eso no quiere decir que sea sencillo, aunque quizás para muchos sea más entretenido que el desarrollo de otros tipos de software.
Para todo ello hay determinados lenguajes de programación que nos interesa aprender antes que otros para poder enfocarnos hacia ese sector del ocio que os comentamos. Entre las alternativas disponibles, quizá las más extendidas y que nos pueden servir de mucho en el desarrollo de videojuegos, son C++, C# y Java. Estos nos pueden servir tanto para el desarrollo de videojuegos como para otros tipos de programación. Asimismo, también nos vendría muy bien tener conocimientos de JavaScript, Lua o Python.