Skip to content

Instantly share code, notes, and snippets.

@frNNcs
Last active May 8, 2024 15:02
Show Gist options
  • Save frNNcs/70fa9cb357224957dd4df2c35c9d6f96 to your computer and use it in GitHub Desktop.
Save frNNcs/70fa9cb357224957dd4df2c35c9d6f96 to your computer and use it in GitHub Desktop.
Curriculum (English)

Etcheverri Francisco

Full Stack Developer

Mail - GitHub - LinkedIn - frNN.dev - Medium- 📷


👨🏻‍💻 Professional Profile

I'm Francisco Etcheverri, a full stack developer with a solid university education and more than 5 years of experience in software development. I have worked on projects spanning all phases of the development process, which has allowed me to adapt to new technologies and apply them effectively.

My main interest is specializing in web development and using the state of the art technologies and tools available in the market. While my first love was Python, I am passionate about working with Node and would like to continue improving my skills in this technology. I have a strong background in Linux servers and a deep enthusiasm for self-hosting. Currently, I manage my web services within my home lab, and I am in the process of transitioning them to the cloud.

Work Experience

Full Stack Developer @ PMS at (Social Security Institute B.A.)

Siliq (2018 - 2021)

As a member of the development team, I actively contributed to replacing the legacy COBOL script system and Adabas database with a web-based system using Django called Siliq. In my role, I was responsible for supporting the COBOL system while conducting functional analysis and system modeling for the new system. I also implemented Bootstrap and jQuery to enhance the interface and later added RabbitMQ and Celery for background task management.

Additionally, I was tasked with creating servers to host documentation and software, which allowed me to acquire skills in managing Ubuntu and Linux servers to deploy Alfresco and GitLab instances. I currently maintain a high level of Unix proficiency. I suggested and implemented full system dockerization for increased development agility, as well as CI/CD routines for production deployments, resulting in a more efficient and reliable development process.

Backend Developer @ Freelance at (Rubicon)

Massalin AWS Proxy (2021)

In this project, an AWS order queue from the Massalin provider is connected to the client's legacy stock management system, which has multiple instances in different stores and could not interact with web services.

A Django backend was implemented to connect to the client's system database, and Celery and scheduled tasks were used to query the order queue, save them in the database, modify certain flags in the legacy system, and update order statuses.

A virtualized system was delivered to the client in VirtualBox, along with training for its implementation. This allowed the company to retain the provider and maintain its operation smoothly.

Backend Developer @ PMS at (Social Security Institute B.A.)

SoapProxy (2021 - 2023)

A web service was developed that acts as a proxy between Java applications and SOAP web services from GDEBA, allowing consumption through a REST API interface. The system was implemented in Django using the zeep library, and tools for query caching, historical logging, and service monitoring were included. The interface reused the Django admin page and added charts to visualize the consumption of each endpoint and its main consumers. A reduction of over 1000% in cached queries was achieved, although there was a 20% increase in overall query time.

Backend Developer @ PMS at (Social Security Institute B.A.)

Adapython (2022)

The main objective of this project was to migrate batch processes in Natural and the Adabas database to PostgreSQL. To achieve this, research was conducted to connect Python to Adabas, allowing the consumption of data through a web interface.

A custom ORM for the database was developed, allowing queries in both Adabas and PostgreSQL and data saving from one database to another. Additionally, a REST API was designed using vanilla Python and FastAPI, providing documentation of the endpoints for use by other developers.

It is worth noting that there was no existing library that allowed queries from Python to Adabas, so a new and reusable product was created, namely the aforementioned ORM. While the results were very good, a significant increase in query time was observed, leading to a redesign of the scripts from scratch to minimize the number of queries.

The project team consisted of three people, with me responsible for most of the tasks and delegating API REST and web system work to the other team members.

Backend Developer @ PMS at (Social Security Institute B.A.)

Adarunner (2022 - 2023)

Continuing with the AdaPython project, Adarunner was developed, a system with Django backend, PostgreSQL, and Celery that allowed the automation of scheduled tasks, replacing the batch processes in Natural that were being used at the IPS.

Adarunner allowed developers to define and schedule recurring tasks, which were automatically executed according to the established frequency and schedule. Tasks were programmed in Python, using the AdaPython ORM, facilitating integration with Adabas and PostgreSQL databases.

Celery was used for the implementation of Adarunner, a Python tool for managing background tasks. The system allowed the configuration of multiple task queues, enabling scalability and avoiding server overload.

Additionally, a web interface was added, built in Django, allowing intuitive and easy task programming and monitoring for users. The web interface also included monitoring and error logging tools, facilitating problem identification and resolution.

The implementation of Adarunner allowed IPS to reduce costs and time associated with batch processing in Natural, improving the efficiency and speed of its internal processes.

Full Stack Node Developer @ PMS

WhatsAppi (2022 - 2023)

I participated in the creation of a REST API using ExpressJS and the whatsapp-web.js library, enabling sending and receiving WhatsApp messages, as well as multimedia and location. This API was implemented with a web interface created with Sveltekit and Bootstrap to provide another access point to the obtained information.

The system is dockerized and consists of three microservices and a MongoDB database. The WhatsApp service stores all messages in the database, and through the Express API, messages can be consumed and sent. The system has another microservice that uses Flask and Whisper to transcribe audios and return them in text format.

The project surged as a requirement from an insurance company that needed to communicate with its clients through WhatsApp and integrate it into their current event tracking system. The system facilitated the sending of accident images, streamlined and provided effective communication with clients, and tracking and managing their cases.

Full Stack Developer @ Télam

Photographic Archive System (2021 - Present)

Initially, I was tasked with maintaining the web system for managing photographic archives that managed the deposit of photographic files under the responsibility of the Telam agency.

As this system had little documentation, a deprecated PHP framework, and in line with Telam's process of digitizing historical image archives, I offered to re-engineer the system and create a web application for the consumption of digitized images.

The project's goal was to achieve a modern, maintainable, and quality web system that provides a satisfactory user experience and automates the process of requesting and consuming images. Additionally, the interface was improved, providing more information and image filters for search purposes.

The challenge was to correlate the existing database with the new models, which was straightforward, but not all digital images in storage were reflected in the database since they were uploaded independently of the system and then registered. To solve this problem, scripts were developed to review all folders and locate them in the database.

My main role in development was to provide software tools and project management to carry out the development. I worked together with a development team consisting of 2 functional analysts, a system user, a designer, and a web layout designer. We used technologies such as Django, Django Rest Framework, Sveltekit, Tailwind, and Workbox.

The different parts of the system, frontend, and backend, were integrated through a REST API with Django Rest Framework. Software quality was ensured by testing all image loading services and REST API endpoints. Additionally, we plan to apply Cypress for end-to-end interface testing.

Skills and Tools

  • Python: Django, Django Rest Framework, Flask, fast api, jupyter notebooks, pandas, and matplotlib. PEP8
  • JavaScript: jQuery, vanilla, Node.js, Express, Svelte, vite, Cypress, jest, webpack, workbox, PWA.
  • Databases: MySQL, MSSQL, PostgreSQL, Adabas, SQLite. MongoDB
  • HTML, CSS, Bootstrap, SASS, Tailwind.
  • COBOL, Natural
  • Redis, RabbitMQ
  • Unix management and bash scripting
  • Git: GitHub, GitHub actions.
  • CI/CD
  • Docker
  • Virtualization: VirtualBox, VMWare, Proxmox.
  • UML diagrams. Enterprise architect.
  • Visual Studio Code
  • Oh My Zsh
  • Notion
  • Obsidian
  • Adobe: Illustrator, Photoshop, InDesign, Premier, XD, Figma

Languages

  • Native Spanish
  • English B2
  • Portuguese B1

Education

  • 4th year student of systems engineering at the National Technological University frlp
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment