Mi perfil

Mi nombre es Emilio José Degiovanni, tengo 39 años y soy desarrollador frontend basado en Angular 9+. Vivo en la ciudad de Córdoba, Argentina con mi familia. Tengo más de 18 años de experiencia creando aplicaciones y sitios web. La mayoría de mis años de experiencia fueron como freelancer fullstack con PHP. Hace 3 años comencé a trabajar en relación de dependencia. Primero trabajé para Globant Argentina y actualmente para Cognizant Softvision 100% remoto.

En Cognizant Softvision actualmente estoy asignado a un proyecto llamado Game of Pods. Aquí me desempeño como programador Angular, ayudo con los code reviews del equipo, impulsé algunos estándares en el proyecto como los git hooks utilizando Husky para por ejemplo chequear el formato con Prettier y la valides del TSLint en los pre-commit y pasar todos los tests en pre-push. Ajusté las opciones del compilador para ser más rigurosos con algunos aspectos del código y siempre estoy intentando encontrar mejores soluciones y colaborando con el equipo.

Experiencia laboral

Senior Frontend

2020 - Presente

Aquí estoy trabajando actualmente como desarrollador frontend con Angular. Ayudo con los code review de mi equipo y hemos levantado el code coverage con unit test en un +25% en 2 meses. Organicé y agregamos algunas rutinas que se corren con Husky en los pre commit y pre push de git para chequear formato de archivos, compilación, que todos los tests pasen, chequeo de lints, etc. para estandarizar algunas cuestiones.

Senior Frontend

2019 - 2020

Participé de 3 proyectos como frontend de Angular. Si bien en los 2 primeros proyectos participe de forma activa no estuve hasta el final de los mismos. El último proyecto relacionado con la confección de contratos fue comenzado y terminado entre 3 personas. Una experiencia única llena de retos y cientos de horas para dejar un proyecto terminado y en producción. En todos los proyectos siempre participe del code review, discutiendo y estableciendo normas y estándares para tener un mejor proyecto a nivel de calidad de código. ¿Lo mejor de Globant? su gente, encontré ahí compañeros de primera.

PHP Fullstack Developer

2002 - 2019
Freelancer

Bueno ¿que decir que no haya dicho ya? Ha sido un largo y gratificante camino, las vueltas de la vida me llevaron a dejarlo para pasarme al sector privado.

Educación

Ingeniería en Sistemas

2002 - 2006

Los años que estuve aquí aprendí sobre el estudio, análisis y diseño de sistemas. En su momento decidí abandonar mi carrera para seguir mi propio proyecto de desarrollo de sitios y aplicaciones web, incluso abrí una agencia de diseño junto con otras 2 socias. Lamentablemente, los contenidos de las materias de tecnologías como programación, algoritmos, etc. estaban muy desactualizados para lo que es nuestra industria y mis intereses de su momento. (Incompleto)

Ingeniería en Sistemas

2000 - 2001

Estudié 2 años en esta universidad hasta que, por cuestiones de la crísis económica del 2001, tuve que cambiarme a la universidad pública. (Incompleto)

Proyectos

¿Ideas? miles, ¿tiempo para desarrollarlas? cero.

La vida del freelancer muchas veces es así… intentando desarrollar un proyecto o idea propia, con los mejor de cada uno, muchas veces nos boicoteamos y terminamos sin poder llegar a un MVP por la simple razón que no esta tan bien como debería estarlo.

Al ser así de exigente conmigo mismo mis “grandes ideas” nunca salieron a la luz. Probablemente esta página sea una gran catarsis para poder seguir adelante y conseguir publicar alguna de ellas.

Sin embargo siempre me gusto ayudar en proyectos open source, aquí donde colaboré:

Phalcon - Un framework para PHP distribuido como una extensión. Colaboré durante mucho tiempo siendo el traductor oficial de la documentación en español. Ayude escribiendo unit tests y desarrollando algunas características menores. Por cuestiones de tiempo actualmente no estoy colaborando.

Publicaciones

Digamos que esta página es mi primer publicación.

Descargá mi Curriculum en PDF

English

Lenguajes y Tecnologías

Angular 9+

95%

Javascript

90%

PHP 7+

80%

MySQL / MariaDB

80%

HTML5

95%

CSS & SASS

85%

Mi historia

Voy a intentar plasmar mi historia en palabras para quienes no me conocen, o para quienes quieran saber como se vive como desarrollador, programador, ingeniero en sistemas, etc. en un mundo muy competitivo pero afortunadamente somos unos de los perfiles más necesarios en el mercado laborar actual. En lo consecutivo explicaré como fueron mis primeros años, formación en la universidad y de forma autodidacta y así, espero, puedan entender que hace un desarrollador de software y lo que se transita en este estilo de vida profesional.

Primeros años y la inocencia de un mundo desconocido

Mis primeros años fueron muy interesantes desde mi punto de vista actual. Consideren que en aquellos primeros años las conexiones a internet eran, al menos en mi caso, por dial up a 56kbps, conectándonos a la ciudad vecina. Por supuesto, que las páginas webs no eran tan pesadas como lo son hoy, solo pesaba un par de KBs. Pero era tan caro y el servicio tan malo que navegar 1 o 2hs era todo un logro. Yo soy oriundo de un pequeño pueblo llamado Villa del Totoral el cual esta a unos 80km al norte de la provincia de Córdoba en Argentina. En aquellos primeros años, con tan solo 15 años me interesé en las computadoras. Para mi era todo nuevo, nunca había estado siquiera sentado en frente de una. Todo lo que sabía de computadoras eran mis propias ideas o lo que había visto, ocasionalmente, por televisión pública. A tal punto que yo pensaba que las computadoras eran inteligentes y que hablaban. Nada más alejado de la realidad para el año 1996.

Aquel año comencé a averiguar y descubrí que había un pequeño instituto de computación en el living del domicilio de un apasionado sin limites. Quien termino siendo mi profesor y mentor Miguel Mattalia y padre de una amiga de toda la vida. Recuerdo el día que llego tarde a dar su clase de informática porque traía una copia original de Windows 95. Ese día no aprendimos otra cosa que a ver como se instalaba Windows. Tarea un tanto aburrida y monótona. Ver el progreso del format c: y luego el de la instalación de Windows no es algo muy emocionante, pero en ese momento, lo único que queríamos era ¡verlo en acción!.

Pero volviendo un poquito más atrás, la primera vez que tuve la posibilidad de sentarme frente a un monitor CRT monocromo marrón o verde, dependía de cuan temprano llegaras a la clase. El mejor de todos, era el blanco y negro pero había solo uno y era el más solicitado. La sensación fue única y la desilusión inmensa cuando me entregaron los primeros apuntes impresos y entendí que a las computadoras no le hablabas, que no eran inteligentes, ni nada de toda esa ciencia ficción aprendida o imaginada. Lo mejor que podían hacer aquellas viejas XT eran algunos pitidos básicos con un pequeño parlante conectado a la placa madre. Claramente no era mi computadora idealizada.

Comencé entendiendo como esta organizado este mundo informático, los viejos armarios/ficheros de oficina, con carpetas y archivos son, claramente, el mejor ejemplo en la vida real para entenderlo. Aprendí los comandos de MS-DOS y todo comenzó a cobrar sentido. Después siguió Windows 3.11, pasar de los comandos a usar el mouse era hermoso. El tiempo te llevará luego a las consolas de comandos para un mayor control de lo que estas haciendo. Con aquella versión de Windows se complicaba un poco más porque había solo 2 computadoras que lo tenían instalado, algunas veces me tocaba ver como otro manejaba la computadora. Lo mejor era llegar temprano y no perder tú lugar. Al mismo tiempo, en la secundaria también teníamos una hora de computación a la semana, nunca olvidaba mi disquete de 3½ que llevaba en el bolsillo de la camisa. Instalado dentro, algún pequeño juego. El que más recuerdo un ajedrez que las figuras eran animadas.

Era amante y no me perdía ningún número de la revista PCUsers, la cual era la puerta a un mundo enorme que no entendía. Leía todas las revistas, entendiera o no lo que estaba leyendo. Incluso hice mi primero compra en internet para comprar los números que no tenía. En el sitio web de la empresa, solo tenían un listado de los números disponibles. Elegí todos los faltantes,

Todo esto era alucinante para mi pero no entendía como se hacían las cosas, necesitaba aprender a programar. Sino las computadoras quedaban siendo solamente una maquina que respondía solo a preguntas pre establecidas. Sin embargo, el tiempo y el esfuerzo de miles de ingenieros y científicos dieron sus resultados y lograron que las computadoras entiendan y respondan. Quedando el test de Turing en serios aprietos. Sin ir más lejos el nuevo modelo GTP-3 es, en pocas palabras, lo que había imaginado tantos años atrás.

La universidad y mi formación autodidacta

En el año 2000, me mudé a Córdoba capital donde comencé mis estudios universitarios en la UCC. Elegí la carrera de ingeniería en sistemas la cual era la que más encajaba en mis intereses. Estudíe 2 años llegando a aprobar el 80% de las materias. La crísis económica y social que estallo en Diciembre de 2001 me llevó a tomar la decisión de cambiarme al sistema de educación público. En su momento opté por la UTN FRC donde tenía algunos conocidos y sabía que los contenidos eran similares. Otra opción era la UNC pero para cuando había decidido cambiarme de universidad, esta ya había cerrado sus inscripciones. Por lo tanto no me quedaba otra opción que la UTN.

Como el 2002 era un año muy especial para todos los argentinos, los profesores no eran la excepción y estaban de huelga o en asambleas la mayoría del tiempo. Entonces me sugirieron hacer el cursillo de ingreso “por las dudas” si el tramite de cambio de universidad se tardaba demasiado y así no perder el año. Si bien aprobé con tranquilidad el ingreso y estaba cursando todas las materias, eran todos contenidos que ya había visto y/o aprobado en la otra universidad, lo cual me desanimaba un poco pero seguí adelante. A mediados de ese año, obtuve la tan esperada respuesta sobre mi pase de universidad. Estaba ¡aprobado!, solo que correspondían darme por aprobadas 3 materias: inglés, dibujo técnico y álgebra. Reclamé y me dijeron que debía consultar cátedra por cátedra que contenidos debía rendir para que me dieran por aprobadas las materias. Intenté nuevamente pero ante tantas complicaciones de encontrar los profesores, programas, horarios de consulta, etc. desistí. Intenté tomarme la carrera de una forma relajada y seguir adelante con lo que realmente me apasionaba, la programación de sitios web.

Ya había leído libros sobre PHP y DHTML. Era un asiduo participante del viejo foros del web, un antecesor del actual StackOverflow. Donde aprendía y ayudaba junto a toda una enorme comunidad de programadores de habla hispana. De ahí incursioné un tiempo en el cracking pero la verdad que después de romper algunos .exe y saltar las protecciones no encontraba un gran movil para seguir ese camino y la seguridad informática.

Hice algunos cursos, mientras estudiaba en la universidad, el mejor de ellos sin duda fue el curso de Reparación y actualización de PC que hice en el desaparecido instituto ECTA. Luego otro sobre administración de sistemas. El de programación de sitios web con PHP lo abandoné, mi nivel de PHP y conocimientos en desarrollos de sitios web era superior al del curso y lo consideré una perdida de tiempo.

Mientras estudiaba HTML4 y CSS 1.0, intenté hacer mi propio Download.com (muy popular por aquellos años). Cuando iba por unos 150 programas en mi lista, entendí que era una tarea inmensa de mantenimiento. Agregaba un programa y debía revisar que los otros estuvieran en sus últimas versiones. En realidad, necesitaba más conocimientos de PHP para poder haberlo hecho dinámico y así ofrecer un buen servicio para los desarrolladores de software de aquellos días subieran sus contenidos, tal cual lo hacían en el otro.

Los cimientos de mi carrera como programador de sitios y aplicaciones web estaban fundados, solo era cuestión del gran salto. Conseguir un trabajo o un proyecto para desarrollar algo en serio.

Primeros pasos en el mundo profesional

En un principio, allá por el año 2002, mientras estudiaba en la universidad ingeniería y por mi cuenta, en mis tiempos libres, PHP para desarrollar sitios web. Mi hermana que es diseñadora gráfica tenía de cliente un arquitecto, quien tenía una idea para desarrollar un directorio online pero no conocía a nadie que supiese programar. Nos presentaron y así fue como conseguí mi primer proyecto web. En ese momento parecía algo imposible, no entendía como funcionaban muchas cosas pero asumí el reto. Previó acuerdo con el cliente; quien estuvo de acuerdo en alargar un poco más los plazos por mi falta de experiencia. Después de 3 meses de trabajo y muchas noches sin dormir, pude liberar la primer versión de un directorio de maestrías para arquitectos que se dictaban a nivel mundial. Aquel día fue unos de los días más gratificantes de mi carrera profesional.

Si bien, fue un proyecto que debía funcionar en el viejo Internet Explorer 6. Este navegador tenia aproximadamente el 90% del mercado en aquel momento, pero lamentablemente era un navegador con muchos problemas técnicos. Por aquellos tiempos para solucionar estas deficiencias se utilizaban tablas anidadas. Sin las tablas que hoy prácticamente solo se usan para mostrar datos (para eso fueron diseñadas), en aquellos años eran lo que mejor funcionaba para maquetar un diseño. Así era como después de anidar cientos de tablas podías llegar a un resultado igual al diseñado por el diseñador (en aquellos años no teníamos UX/UI). Claramente comparado con las opciones de CSS que tenemos hoy en día, aquello era un autentico dolor de cabezas. Soy un convencido que los principios DRY y KISS son las bases de todo. Osea, intentando seguir los estándares web y manteniendo el código lo más sencillo posible, las cosas deberían ir bien. Así es como hará unos 3 o 4 años atrás me encontré con al carpeta de aquel primer proyecto y luego de instalar PHP5 y la base de datos MySQL, el proyecto ¡volvía a funcionar!. El mayor problema era la cabecera que tenía una animación y un menú flash el cual no se mostraba por las mejoras en materia de seguridad de los navegadores actuales. El resto seguía funcionando y viéndose correctamente, fue algo increíble.

Después vinieron otros proyectos que ya no recuerdo sus nombres. Terminé asociándome con mi hermana y su socia, con quienes pusimos una pequeña oficina en el garaje de una casa de barrio Cofico de nuestra ciudad. Luego de un tiempo, nos mudamos a un departamento en barrio General Paz donde íbamos a comenzar a contratar gente sobre todo programadores web. En ese momento teníamos 2 o 3 meses de demora, por la cantidad de demanda, para comenzar proyectos nuevos. Con 2 diseñadoras y un programador, esta claro donde esta el cuello de botella. Comencé así una búsqueda muy complicada, para el mercado profesional de la época en Córdoba. Básicamente me enfoqué en la universidad y en los clasificados. Había pocos programadores web y mucho menos que hicieran PHP y muchos menos aún que lo hicieran relativamente bien. Los pocos colegas que programaban en PHP en aquellos momentos, tenían otros trabajos fijos o eran freelancers. Nunca discutí un presupuesto pero si la calidad del código entregado. Llegó un momento que pasaba la mitad del día, escribiendo emails para que corrigieran todos los bugs que había en el código. Era muy frustrante pagar por algo así y los tiempos de entrega seguían sin mejoraban.

Pero ¿por que PHP y no .Net por ejemplo? mi política era simple, el cliente tiene que ser el dueño del resultado y ver avances muchos o pocos pero semanales. Todo esto se debía a que muchos clientes llegaban a nosotros asustados por haber tenido malas experiencias con otros programadores o agencias. Lo que pasaba en aquellos años, con el boom de tener una página .com y que supuestamente era muy sencillo de hacerlas. Cualquiera agarraba un trabajo por un monto muy pequeño de dinero, y luego de 2 o 3 semanas se daban cuenta que el presupuesto se había agotado y todavía quedaba mucho por hacer. Entonces el que pagaba los platos rotos era el cliente. Nuestra propuesta era que el cliente debía ser dueño de todo: código, hosting, imágenes, etc. Vendíamos el servicio de programar y diseñar un sitio web, no el código en si mismo. Al final las vueltas de la vida personal de cada uno de los socios llevo a que nos separáramos y el proyecto quedo trunco.

Mi experiencia freelance

De vuelta trabajando desde mi casa y habiendo cerrado la oficina, vendido los muebles, dados de bajas los servicios, alquiler, etc había que volver a empezar. Cada uno se quedo con los clientes que había conseguido en su momento y algunos se fueron con otras agencias y otros nos siguieron eligiendo. Si bien tenía algunos clientes, solo escuchaba historias de colegas que les iba muy bien trabajando para otros países como España. Comencé una búsqueda de proyectos que pudiera desarrollar como freelancer y el cliente pagara por PayPal lo más conocido por aquellos años y la única plataforma con algún soporte a través de un tercero para traer la plata hasta Argentina. Así fue como conocí a una agencia en Madrid quien me contrató para un primer proyecto y luego otro y otro. Si bien no era una gran diferencia de plata ya que se perdía casi un 35% entre lo cobrado al cliente, mas impuestos, mas comisiones por las transferencias. El cambio más grande era la cantidad de horas trabajadas, por aquellos años trabajaba al menos 14hs diarias. Tenía insomnio, sobrepeso por falta de ejercicio, pero el bruxismo fue el que me llevo a tomar la decisión de dejar ese trabajo. El cliente insistía en vender sitios baratos que debían ser desarrollados en la mitad del tiempo que me llevaban hacerlos, trabajando una jornada normal, por eso la cantidad de horas extra que tenía que trabajar.

Una vez terminados todos los proyectos con el cliente español, me volví a enfocar en el mercado local. Conseguí varios clientes y proyectos fácilmente ya que tenía un amplio porfolio para mostrar con sitios bien terminados y que funcionaban de maravilla. Si bien llevaba algunos clientes, pagínas web y proyectos sencillos, los que me gustaban eran los desafiantes, los sistemas grandes. Había hecho cursos para aprender Zend Framework, y había desistido en mi propio framework ¿para que reinventar la rueda?. Lo había escuchado tantas veces pero sin embargo, muchas veces, esta bueno reinventarla a tu forma, no para demostrar nada, sino por el simple hecho de “yo también puedo”. Al final como había tantos proyectos enormes que estaban mil veces más testeados que mi pequeño framework personal, lo abandoné y comencé una nueva etapa del perfeccionamiento.

Comencé a utilizar herramientas novedosas como Zend framework, Doctrine, Composer, etc. Era un mundo nuevo e inmenso para aprender, apabullante si quieres, pero paso a paso, día a día las cosas se van simplificando y vas madurando como un mejor programador. Incluso comencé con PHPUnit para escribir mis propios tests y un analizador de código estático como PHP_CodeSniffer. Todas estas herramientas muy bonitas y productivas también hacen que el avance en el desarrollo de una aplicación sea más lento pero mucho más robusto. Al final de un largo día, semana, mes… ya no puedes trabajar sin ellas.

NOTA: nunca desarrolles sin escribir al menos algunas pruebas unitarias cruciales y usa siempre un analizador de código estático para el lenguaje que estés utilizando.

Algunos grandes sistemas vinieron luego, gestores de salones infantiles, negocios de cartelería, concursos de arquitectura incluso una plataforma completa de elearning. Han sido mucho años, clientes y proyectos. Creo que lo que siempre me mantuvo en el camino correcto es ser honesto y entregar un buen producto final, incluso mejor del presupuestado.

Chau freelance, Hola relación de dependencia

Al final después de tantos año, proyectos y clientes. La devaluación de mediados de 2018 impacto directamente en mis clientes de aquel entonces y lamentablemente los pagos se demoraban, los presupuestos revotaban o había que achicarlos. Después de casi un año en esta situación y viendo que el panorama no iba a mejorar, y siendo el principal soporte de una familia, decidí que había llegado el final de ser independiente. Comencé a un trabajo en una empresa grande, contacté algunos colegas para ver que había disponible. Afortunadamente la búsqueda fue corta y comencé a trabajar para Globant en Agosto del 2019, donde fui asignado rápidamente a la cuenta de Ernst & Young. Ahí conocí un grupo de gente maravillosa y pasamos un año genial hasta el comienzo de la pandemia por Covid-19. Los cambios de requerimientos, errores de análisis o desarrollo, etc. con los que siempre peleaba siendo independiente son transversales a toda la industria. Luego de entender esto, antes estaba más bien resignado, me amigué más aún con mi profesión. Al final no era yo, era “todo” así… clientes, BA, PM, desarrolladores todos vamos en el mismo barco y todos los barcos se sacuden igual. Después de un año y medio cambié de empresa y actualmente estoy trabajando para Cognizant Softvision. La cual es muy similar a Globant en muchos aspectos y diferente en otros que no viene al caso remarcarlos. Lo cierto es que son dos empresas diferentes pero muy buenas para trabajar y crecer día a día.

¿Conclusiones?

Ser desarrollador de sistemas o aplicaciones o como quieras llamarlo en mi opinión es GENIAL. Tiene sus cosas buenas y malas, pero ¿quien o que profesión no las tiene? ¿Estás pensando en estudiar o desarrollar algo? ¡Dale para adelante! tenes todo un mundo por descubrir y al final te vas a dar cuenta que es un gran lugar para quedarse.

Cat tax 😸

Mona cat tax