Mi Camino

Nadie la tiene fácil, yo no soy la excepción. Conté con algo de suerte.
Esta es mi historia.

Inicio

En la universidad no aprendí mucha programación del mundo real, y no me refiero a que no me enseñaran del tema, sino que a nivel académico fue muy básico. Los conocimientos bases fueron importantes, pero a mi criterio, siento que faltó mucho pues temas como POO, Despliegue, API’s, Pruebas unitarias, Frontend/Backend (en ese momento no existían), conceptos más allá del CRUD en las Base de datos, documentación de Software (porque la documentación fue volcada a nivel académico). 

Pero si acepto que aprendí algo de Java, PHP y MySql, es más, mi tesis de ingeniería de Sistemas fue un Sistema de Información en cuanto a administración de una fundación. Con los conceptos adquiridos en la carrera universitaria y con mucha investigación autónoma, logré con un compañero hacer un producto interesante que nos valió para tesis de grado y a un acercamiento de que significaba trabajar como desarrollador. 

Primera vida Laboral

Pero cuando quería adentrarme en el desarrollo profesional, encontré un trabajo, mi primer trabajo profesional como ingeniero, en dónde arranqué con un lenguaje al que amo y odio al mismo tiempo. C# (.Net). La razón es debido a que mi vida laboral ha girado en torno a un solo lenguaje, a ese. 

Crecí laboralmente con .Net y con SQLServer, cosa que no me arrepiento, pero si quiero decir que lamento, pues mientras yo aprendía a hacer Forms, usar el UpdatePanel y conectarme con el Entity Framework, me cegué por completo a otras cosas que venían pasando en el mundo del desarrollo. Me enfoqué en la web, sin desmeritar otro tipos de plataforma, pero fueron las empresas que me arrastraron a eso. 

Cuando pensaba que estaba estancado, cambiaba de empleo buscando nuevos horizontes, pero por un gran desconocimientos, todas mis búsquedas siempre terminaban limitándome al mismo “Stack”, y en ese punto era, o buscar nuevos desafíos, o comer. Aclaro, tenía 20 años, quería dinero, comer, salir con mis amigos, entonces dejaba en segundo y hasta en tercer plano eso de aprender por mi parte. Hoy en día me arrepiento de no haber aprovechado más mi tiempo. 

Pausa para Aprender

Un día dije… “No más”, renuncié a mi 4° trabajo en menos de 3 años (Todos en programación en .Net) y decidí pasarme por la universidad a motivarme y no encontré motivación, encontré fue trabajo. Aquel día me encontré con un amigo, me comentó que la empresa familiar necesitaba un Sistema administrativo de bajo presupuesto, y en esa época lo más cercano que había a nivel funcional eran software (de grandes compañías) que no cumplían con todos los requerimientos y eran muy costosos. Así que esa noche decidí llamar a mi amigo, y le dije que yo le hacía una plataforma a la medida. 
Adelanto: No supe cobrar.

Pues ese fue el primer paso de aprendizaje fuera de la universidad para mí. Conocí real CSS3 y Bootstrap (Responsive Design), conocí jquery (en ese entonces era el BOOM), conocí Frameworks como LaravelSymfony e incluso Codeigniter (Decidí hacer el proyecto en PHP, pues en ese momento no tenía ni idea de que Python o Nodejs existían). Aprendí a desplegar una web con varios ambientes, usé protocolos HTTP con Api’s y un sin fin de cosas más. Ahora que lo pienso, era el 2016 y no sabía nada. 

Tomé lo que necesitaba tanto de conocimientos como de requerimientos, y en 4 meses hice un Excelente MPV (en serio, fue un gran producto), hice un trabajo de migración de datos, backup’s automatizados (con MySql), soporte y capacitación a usuarios. Todo el paquete yo solo, a tres empresas que tenían el mismo enfoque y usaban el mismo producto. Me creí el mejor Freelance (También conocí ese terminó en ese momento) del mundo, pues había aprendido muchas cosas, había hecho un gran producto y lo más importante me habían pagado con eso. Pero acabó el proyecto, no tuve una gran negociación, y de nuevo, sin trabajo. 

Segunda vida Laboral

Entonces, decidí buscar trabajo en el nuevo “Stack”, pero las empresas veían más mi experiencia de .Net que un proyecto como independiente en PHP, entonces debía volver de nuevo a trabajar en lo que tenía experiencia, pero quise tener un cambio, y mientras las ofertas coherentes (buenas condiciones laborales) aparecían, aprendí Pyton básico, aprendí MVC para .Net, pues no lo manejaba (Así de actualizadas estaban las empresas dónde había trabajado, que solo usaban Webforms), aprendí Javascript ES5, y eso fue suficiente para que una empresa de telecomunicaciones me ofreciera una vacante para trabajar en su equipo de desarrollo. 

Al llegar al nuevo equipo, no solo se dio un aumento de salario de 2x con respecto a los trabajos anteriores, sino que aprendí cosas impresionantes, y no solo técnicas. A nivel personal aprendí un montón.

Pero, ¿qué aprendí? De primera mano, aprendí un marco de trabajo para el desarrollado ágil de software. Scrum, luego conocería Kanban. Aprendí con la práctica, separar el Back y el Front: Entendí como es la comunicación entre estos dos monstruos. Pero sin duda Angular es el tema más innovador de esta nueva experiencia profesional. Aun cuando mi Javascript era básico (ES5) y no conocía mucho del tema (ES6), aprendí, lo mínimo, pero con mucho gusto

Ahora… 

Fui promovido al área de DevOps, en donde dejé a un lado el código, pero a nivel profesional sigo creciendo. Ahora tengo otros objetivos de aprendizaje, como DockerKubernet, RancherJenkins y muchos más. Acepté el cambio debido a que DevOps es el último eslabón en el desarrollo y es un Skill que no domino. ¿Por qué negarme a dicho aprendizaje?

Puede que haya dejado en mi trabajo el tema del desarrollo, pero eso no implica que no programe más, es más, siento que ahora programo de una manera mucho más limpia, más objetiva, más concreta porque el tiempo que le dedico es mi tiempo libre.

¿Qué sigue ahora? No detenerme. ¿Hasta qué punto? Por ahora no hay límite.