fbpx

Lenguajes de Programación y tu destino

Si no sabes hacia donde se dirige tu barco,  ningún viento te será favorable.

Séneca

Hace un tiempo comencé a re-aprender a programar de nuevo. En la universidad aprendí a programar en lenguaje C, pero solamente fue esa clase y no tuve más. Tuve otras clases en donde aprendía el uso de software como simuladores en donde veía un poco de programación, pero a un nivel muy básico. En un verano, un amigo me dijo que estudiaría la clase que hablaba de “compiladores”, y que el profesor lo primero que le había pedido era un programa que hiciera unas tareas, pero en lenguaje ensamblador. En ese momento le preguntaba yo a mi amigo qué era eso y me explicaba que era el lenguaje más básico que interpretaba la máquina. En ese momento pensé que nadie usaría eso hoy en día, pero después caí en cuenta que sin ese lenguaje todo lo que sabemos hoy de la historia de los lenguajes no sería posible. 

Hace un buen tiempo, cuando re-comenzaba al mundo de la programación, vi un video en donde se ponía el famoso “Hola mundo” en muchos de los lenguajes de programación más conocidos. No pienso que sean todos los que existan, porque cada día salen más y otras variantes. Comenzó el video, imagino, en un orden cronológico de aparición y fui viendo los distintos lenguajes y su estructura: ¡Wow, una maravilla! Pero también casi al mismo tiempo vi otro video, ya más específico acerca de la evolución de los lenguajes de programación y su crecimiento por años. Lo que mostraba era el número de usuarios de los lenguajes más populares. Ante todo esto que me enfrentaba, me vino a la mente la siguiente pregunta: ¿Qué lenguaje de programación debería aprender? , pero para poder responder a esa pregunta primero debía saber ¿Qué era lo que en realidad yo quería lograr con la programación? Comencé a preguntarme si deseaba ser un desarrollador de aplicaciones, o si era solamente para poder resolver problemas locales o puntuales, ¿Para qué quería aprender a programar?, ¿Cuál era mi necesidad a resolver?

Hoy se lo que deseo hacer. Deseo no tener una brecha cultural amplia en la que el avance de la tecnología que es a pasos agigantados me hagan obsoleto en mis conocimientos. Habrá un momento en que yo decida no seguir en la programación, porque lo hago básicamente como tener una herramienta para el desarrollo de mi trabajo, desarrollar mis propias soluciones a mis problemas que son de tipo administrativo, académico y de investigación. Entonces decidí que debía aprender a programar en C++ porque era algo que me dejaría satisfecho de hacer y poder aprender un programa que conocía más o menos. Por lo que no aprendería desde cero. Pero, pensándolo bien, ¿Y si la programación me abriera un campo laboral que aún no he visto?, ¿Cuál lenguaje de programación es el que debería de elegir?, y hoy es justamente la razón por la que escribo estas líneas. ¿Sabes tú qué tipo de programador vas a ser?, ¿Hacia qué lenguaje te vas a orientar?, ¿Qué es lo que harás en los próximos años?, ¿Estudiarás y aprenderás lo que te apasiona o te irás a donde hay un éxito laboral rotundo?

Pues bien, la respuesta a esa pregunta la tienes en tu poder. ¿Qué quieres ser en la vida? Al igual que los lenguajes de programación fueron desarrollados por una necesidad específica, ¿tu rumbo como programador hacia donde se va a orientar? Lo dirigirás a las bases de datos o serás un desarrollador de aplicaciones móviles, ¿frontend o backend? O quizá ambas, Java o C++, O mejor Python. Hay tantos lenguajes y ¿Cuál es el bueno?, y ¿si mejor me dedico a redes, a servidores, o me dedico a dar soporte a las aplicaciones, trabajar para una empresa en un área de desarrollo, como consultor de aplicaciones, desarrollando soluciones para sistemas ERP, o como el llanero solitario aventurado a lo que el destino depare?

Tipos de Lenguajes de Programación

Partiendo de que un lenguaje de programación es un medio por el cual se comunica cualquier dispositivo que lo requiera, una serie de acciones o instrucciones con el fin de lograr un objetivo, el cual se produce con la escritura de un código, se compila, se interpreta y da como resultado la acción o instrucción dada. (Redator Rock Content, 2018)

Existen varios tipos de lenguaje:

  • Lenguaje Máquina

Es el más primitivo de los códigos y se basa en la numeración binaria, todo en 0 y 1. Este lenguaje es utilizado directamente por máquinas o computadora. (Redator Rock Content, 2018)

  • Lenguaje de Programación de Bajo Nivel

Es un lenguaje un poco más fácil de interpretar, pero puede variar de acuerdo a la máquina o computadora que se esté programando. (Redator Rock Content, 2018)

  • Lenguajes de Programación de Alto nivel

“Según su generación y orden cronológico, los lenguajes de programación de alto nivel se clasifican en:

  • Primera generación: el lenguaje máquina y el ensamblador.
  • Segunda generación: aquí encontramos los primeros lenguajes de programación de alto nivel, ejemplos de ellos son FORTRAN, COBOL.
  • Tercera generación: en esta generación encontramos los lenguajes de programación de alto nivel imperativo, pero mucho más utilizados y vigentes en la actualidad (ALGOL 8, PL/I, PASCAL, MODULA).
  • Cuarta generación: más cercanos a la época actual, es común encontrarlos en aplicaciones de gestión y manejo de bases de datos (NATURAL, SQL).
  • Quinta generación: estos son los más avanzados y fueron pensado para la inteligencia artificial y para el procesamiento de lenguajes naturales (LISP, PROLOG).” (Redator Rock Content, 2018)

Backend o Frontend

El Frontend, es la parte de la aplicación que interactúa con el cliente. Pero no solo la aplicación, sino su desarrollo. Para ello habrá que tener un buen entendimiento del proceso, de relaciones con los clientes, de saber escuchar, de saber explicar al cliente para que puedan llegar a la solución de un modo adecuado. El como un artista, cada obra es distinta, aunque trate de replicar la misma obra. Pues bien, habrá usuarios distintos y habrá que dominar el arte de escuchar, conciliar y ser efectivo a la vez.

El Backend es aquello que está conectada a la base de datos y al servidor, pero por ello no menos importante. Hay que comprender el proceso del cliente por su puesto, pero la interacción es menor. Hay que hacer las cosas con tal lógica y eficacia que no quede duda a quien interprete tu trabajo en el momento que así lo requieran. 

Hay personas que dominan tanto el frontend como el backend, por lo que además de tener mucha tarea, deben ser extremadamente ordenados en las actividades.

En cualquiera de los casos es importante tener claros conceptos sobre administración de proyectos y administración del tiempo para ser eficaces y eficientes.

¿Frelance o Empleado?

Ambas alternativas de trabajo son buenas, pero una implica un grado de disciplina mucho mayor que el otro. Aunque el otro se amenos dinámico, el cheque estará listo cada quincena. Dependiendo de tu persona, de tu trabajo, de tus necesidades, de tu entorno familiar, de tu forma de trabajo, de tus capacidades y sobre todo de tus relaciones y habilidades interpersonales, entonces sabrás que es lo que más te conviene.

Ser empleado te asegura una oportunidad de iniciar, de aprender, de relacionarte, de formar parte de algo que ya está formado y que camina, de comprender cómo se mueve el mundo empresarial. Todo esto en un ambiente de crecimiento y trabajo. Cuando te metes a una pequeña oficina y lo único que haces es limpiar teclados, dar mantenimiento a las PC de escritorio y ser el apaga fuegos de los usuarios, quizá eso termine por hartarte y desesperarte al no ver claro que no te metiste ahí para dar mantenimiento al hardware. Lo más frustrante es que fue lo único que había de oportunidades y de enganchaste en el viejo adagio de “poco pero seguro”; sin embargo, la empresa como inicie, puede ser una gran escuela del mundo real. Habrá problemas multidisciplinarios y proyectos en los que habrás de participar. Hay cosas para las que no estabas preparado y sin embargo las harás. Te tomarán en cuenta. Formarás parte de un equipo, verás que los de sistemas están para trabajar cuando nadie más lo hace (los días 1 de enero, los días 25 de diciembre, los festivos, los puentes, etc.), todo aquel tiempo que parece improductivo para la empresa pero que es estratégico para la compañía. Cuando estés sintiendo que la empresa te empieza a relegar en el avance de tu desarrollo, de tus retos, de tu desempeño, entonces tendrás que evaluar si te quedas o te va. Irte significa que buscarás una oportunidad laboral mejor, con retos diferentes, ambiente diferente al que tenías; pero jamás irás a un lugar para empeorar (por lo menos no conscientemente); sin embargo, muchas veces la falta de un plan a futuro, la falta de un plan de vida te hace quedarte estancado y siendo el eterno del área de sistemas.

Ser un Agente libre o Freelancer una responsabilidad enorme. Primero porque hay que ser ordenado y saber manejar una agenda para lo que se debe de hacer con cada proyecto. El freelancer es un empresario de si mismo, es un consultor que revisa su agenda, ve sus tiempos de entrega, revisa sus otros compromisos, puede trabajar con un equipo adicional a él, y liderarlo. Ser ventas, compras, recursos humanos, administrador de proyectos, secretaria, el jefe y el accionista. Implica muchas facetas. Hay personas lo bastante preparadas, con bastante experiencia que pudieran capitalizar su experiencia como freelancers, pero están en una oficina en empresas grandes multinacionales líderes en el sector como Google e IBM ganando mucho dinero.

Pues bien, ser un freelancer puede hacer que el dinero que se percibe como empleado de esas compañías, además del esquema de prestaciones, sean totalmente irrelevantes con la productividad que se puede obtener como independiente y ganar más del doble, y además periodos vacacionales mayores a 6 días, o sin trabajar los festivos de manera obligatoria. Ser un freelancer no es simple, no es sencillo. Se necesita saber perder muchos defectos que vamos tomando de la vida diaria como la procrastinación, olvidarnos un poco de nuestra cultura de mexicanos fiesteros, de actitudes de “mejor mañana”, y de saber dar con las oportunidades a la vuelta de la esquina, porque se encuentran muy escasamente. 

Hay garbanzos de a libra allá afuera, pero las empresas confían más en quienes les garantizan el trabajo con la formalidad de una empresa, de un equipo de trabajo, a quienes se pueden presentar por si solos de una forma austera. Es cierto que la vestimenta formal no garantiza que una persona sea mejor para el trabajo a desarrollar que otra que vaya menos formal, pero si habla mucho de quien estará a cargo de su trabajo, habla de externas su responsabilidad, habla de su presencia, porque es la percepción que le da al cliente, al usuario, al jefe en éste caso, a quien lo va a contratar. 

Ser freelancer es una experiencia muy buena, porque cuando agarras el hilo de lo que se tiene que hacer, te conviertes en una persona extremadamente productiva, porque tú decides que proyectos trabajar y que proyectos no, por ende, decides con quien si trabajar y con quien no, y te sientes más comprometido con tu propio trabajo. Ser freelancer te da la oportunidad de lucirte con tu trabajo, de cada día ponerte tú el límite a tu capacidad en la imaginación para resolver tus problemas, tú pones el estándar, tu pones los pretextos o las excusas para que se logre o no. No los demás. Al final el resultado será binario: 0 para el fracaso y 1 para sumar a tu éxito.

El mercado laboral de los lenguajes de Programación

Tienes $10,000 USD en tu cuenta bancaria y te dan a elegir dos negocios. EL A, que es uno de esos negocios que te apasionan, pero te dan un rendimiento de $0.4 USD mensual por cada dólar invertido o el B, al que no conoces mucho porque no te gusta el giro porque requiere de otras habilidades adicionales, pero que te da un rendimiento de $0.75 por cada dólar invertido ¿A qué negocio le apostarías tu inversión?

Es exactamente lo mismo con el lenguaje de programación. Hay el lenguaje que te apasiona, y es porque fue el primero que aprendiste, quizá porque es el que más dominas, el que menos trabajo te cuesta para desarrollar otros proyectos, te peleas con otros en los foros defendiendo a capa y espada las bondades de ese sistema; pero en cambio hay otros lenguajes, que son más demandados, que son más robustos, más complejos, pero que sus alcances son superiores, son mejores, su mercado va cambiando. 

La ley de oferta y demanda entra en juego, ¿por qué hoy no sería rentable estudiar COBOL en lugar de Python? Y la respuesta es que la probabilidad de obtener un proyecto en COBOL es muy baja, pero quizá sea mejor pagada; y las probabilidades de obtener un proyecto en Python es más alta, pero a un costo más bajo. En ambos lados la probabilidad tiene un factor importante, pero también hay que revisar cuántos programadores COBOL hay disponibles en la región y cuantos Python hay. 

Entre más oferta haya de un servicio, se abarata. Así pues, puede existir una demanda creciente constante y a la par creciendo la oferta de programadores. Hoy en día ese escenario es algo complicado de comparar, porque COBOL es un lenguaje muy exclusivo de ciertas compañías, que es difícil que soliciten consultores o programadores en ello, pero no así PYTHON, en ese lenguaje hay muchas aplicaciones, la demanda sigue creciendo, las innovaciones con Python son cada vez más y conforme crece el mercado, crecen los consultores o programadores.

Tu lenguaje estará en función del tipo de mercado en el que te envuelvas. Ahora bien, hoy en día el mercado laboral de un programador no es por su ubicación geográfica, la oficina de un programador puede ser mundial. Un freelancer puede vivir en México y trabajar para un cliente en Estados Unidos o Europa. Los requisitos quizá los sepamos, se requieren de muchas tablas para poder hacer algo así. 

Pero sobre todo, hay que darse a entender y lo primero que debería de aprender el programador para ser un freelancer es un segundo idioma, uno que le permita generar comunicación con sus posibles clientes y que se haga entender, que sepa decir exactamente lo que quiere decir y que sepa comprender lo que los clientes desean. 

Cualquier lenguaje de programación tiene oportunidades, pero estas se incrementan o reducen en función de su demanda. Ese es el tamaño del mercado que puedes atacar, dividido entre los consultores disponibles para ofrecer el servicio. Entre más específico sea tu nicho, tu habilidad, entre menso reemplazable te conviertas en una empresa o que realmente vendas una cantidad de valor agregado lo suficientemente grande para que tu cliente satisfaga su necesidad, entonces tendrás un éxito rotundo. No basta con saber uno o dos lenguajes y tener un portafolio de cosas que parece que nadie las hace. 

Crea obras de arte, da valor a tus clientes. Escúchalos y aprender a moverte en el mercado laboral. Especialízate cuando lo hayas identificado y cuando estés bien posicionado desarrolla bien tus redes para tener la robustez necesaria para avanzar de nivel y dar el paso que quieras. Mientras hay que entender que se debe tener un perfil lo suficientemente versátil como para enfrentar la problemática de éste mundo cada vez más dinámico y con más necesidades de automatiza procesos, de hacer ahorras tiempo y dinero a quienes nos contratan y dar productividad a los clientes, que para eso es que los sistemas fueron creados.

 Dejaré una lista de los lenguajes más populares y de los programas que más demanda tendrán en este año que viene. Hoy, ante una crisis sanitaria mundial, ¿cómo podrías tu como profesional de programación aportar para proporcionar una solución desde tu trinchera?

Servicios alternativos y complementarios

Hay otro tipo de trabajos que no son como programadores, y no me refiero a la limpieza de equipos de cómputo o ventas. Me refiero a todo aquello ligado a la seguridad informática, a las redes, a las infraestructuras, al mantenimiento de servidores. Existe un mercado amplísimo aquí. Hay oportunidades enormes porque un porcentaje muy bajo no comprende realmente que, en este mundo globalizado, ante la red estamos desnudos. Existen maneras increíblemente sencillas de entrar por las redes a espiar cámaras de seguridad de empresas que se encuentran a 1000 kilómetros de nuestro sitio, con el solo hecho de saber vulnerar los puntos de seguridad que alguien omitió. 

Hablemos de los casos recientes que tuvieron las compañías bancarias por robos de bases de datos. El sistema financiero mexicano casi colapsa. Cuando hay ataques de ciberterroristas que roban bases de datos, como los que ocurrieron a las compañías de cable en la ciudad de Guadalajara, Jalisco y robaron datos de sus clientes haciendo cyberterrorismo. Tenemos alguna opción para laborar en un ámbito como éste, a menos que tengamos en mente ir a laborar con el negocio local que nos ofrece seguir respaldando equipos, realizando limpiezas, en un lugar para el cual no pensé que debía estudiar para realizar ese trabajo.

Si ya tomaste la decisión de ser un programador, tómalo en serio. Toma tus precauciones. Ve el mundo, observa cómo se mueve, infórmate. No es posible que en la era de la información y siendo informático no sea posible obtener buenas fuentes. Hay que usar el razonamiento, la lógica, las relaciones, los blogs, los amigos, las escuelas, los cursos y cualquier medio necesario para comprender, interpretar, reconocer, validar y tomar decisiones sobre la información que nos llega a las manos, a los ojos, a los oídos.

En nuestras manos está saber qué rumbo vamos a tomar de nuestra vida. Ajustemos las velas y dispongámonos a ir a buen puerto.

Ligas de Interés:

Referencias

Redator Rock Content. (27 de Septiembre de 2018). Rockcontent. Obtenido de Rockcontent: https://rockcontent.com/es/blog/tipos-de-lenguaje-de-programacion/

En apoyo a las medidas de salud propuestas por varios países de Latinoamérica por los temas relacionados por el COVID-19, hemos bajado nuestros precios un 50% en nuestra membresía anual durante todo el mes de Abril. ¡Aprovecha tu tiempo en casa! (El precio queda en $725 pesos mexicanos, que equivale aproximadamente $29 dolares).

Artículos relacionados

Respuestas