Jorge Junior.

portfolio
Profile picture

I am a full-stack engineer with more than 8 years of experience in web development and infrastructure. Currently my tech stack includes Golang, Node, Python and PHP for the backend and React, Next, Vue and Nuxt on the frontend using JavaScript and TypeScript.

Besides that, I am always willing and in fact even more motivated to work with other languages.

In all these languages/frameworks I am always trying to apply the best practices using Clean Code and SOLID definitions and also the best architecture, that could be DDD, Clean Architecture, Hexagonal Architecture or another one.

My goal is to design and code reliable applications, well tested and well written. In order to achieve that, I’m always learning about Cloud (AWS and GCP) so I can understand better where my services are running. Besides, I try to work with TDD as much as possible. This way, I can focus more on the exceptions and less on the happy path, using mindfully the code guidelines defined for every project.

experience.

  • senior backend engineer

    verifymy

    2020 - currently

    as a backend engineer for verifymy my responsabilities includes improve and mantain a platform of age/content verification. our infrastructure is all based on microservices and using golang as our core language with python for its ai algorithims.

    • refactored the application that send the content to the provider. my task was to move from one provider to another, that could be simpler, but i thought what could happen if the provider changes again, so i asked my team if i could put more effort into this and refactor the whole structure and use a composite pattern to make it way extendible and useful for other tools. my team agreed with the decision and a few months after we’ve published, we’ve been asked to add another provider as fallback, and we could do this without even touching on the old providers using the pattern that was implemented.
    • worked in bringing also the livestream content to our content verification branch. to achieve that, we’ve used a chromium browser alongside with a scraping tool, currently it’s go-rod/rod. on that, our focus was to make it way scalable so we could handle the big players of the market. on our last load test, we’ve been able to handle up to 5000 livestreams simultaneously.
    • created an ai to work aside with our content verification provider (hive) to detect faces, estimate ages and compare with the face of the user which made that request. for that i’ve used python with the insightface algorithm, also working with azure cognitive services and aws rekognition service to validate the age.
    • led efforts on our expansion to germany, dealing with invoicing, translation and creating a new verification provider. in that expansion i also managed an qa team based on germany.
    • created the integration with amazon mws (marketplace web services), that included an webhook to receive requests from amazon plus create and publish an browser plugin to interact with the sellers panel on mws.
    tech-stack: nodejs, javascript, golang, typescript, gcp, docker, python, c++, aws, postgres, jenkins, kubernetes, rancher, mongodb, firestore, cassandra, next.js, react, multicloud, iso-27001, flask, fastapi, fasthttp, drogon, express, jest, cypress, pytest, material ui, remix
  • mid-level frontend engineer

    globo

    2020

    as a frontend engineer for globo, my responsibilities included developing interfaces to consume our backend as a service platform called sharepoint in order to create internal systems for general usage. these interfaces were build using vue.js and vuetify.

    • worked on an internal system to register and feedback budgets for business trips, courses and speeches.
    • created an sdk to consume the sharepoint api available on github at globo-pna/ sharepoint-orm. the usage of vue.js was only because it already had a base project which consumes the api, with this change we’ve been able to create a mobile app using react native and use react or any other tool for the frontend.
    • created an internal system to manage/authorize keys’ usage for filming sets.
    • created an internal system using ocr from azure to be used by the security guards to authorize employees' badges.
    • worked on feed of mentorship for the movement “we are only one globo”. this project included a video/image feed in which employees could interact and comment. it also included an about section for every company that would join in this movement
    tech-stack: javascript, typescript, azure, vue.js, sharepoint, baas
  • mid-level full-stack engineer

    folha dirigida

    2020

    as a full-stack engineer for folha dirigida, my responsibilities included migrating its project to microservices, maintain the core application made in ruby on rails, postgres, vue.js with nuxt and the admin panel made in laravel. these services were all deployed in aws using github actions.

    • the frontend made in vue.js and nuxt was not having the optimal performance, so we’ve decided to move to gatsby that uses react and graphql. for the organization of the react components we’ve used the atomic design pattern. this project came before next 10 was released and it had an optimal performance for loading since it was a static site generation tool and it also optimizes the image loading. besides that, we still had to redeploy this project hourly if it had any news updates, and it had more than 5000+ news pages to generate. for the first test we’ve decided to generate only 2000 news pages, but it affected drastically our seo. to fix that we’ve hired the gatsby cloud solution which had a feature called incremental build that would only regenerate the contents that had changed.
    • migrated the frontend made in gatsby to next in less than one week. since we’ve designed the components using atomic design it was way easier to migrate from one framework to the other. next works with both static site generation and server side rendering, so we could generate about 1000 news pages on the build process in order to improve the loading process, but we could also generate the oldest news in the server side. our seo and our costs were highly improved by moving this service from the gatsby cloud to an aws ecs, dropping our costs by 80% at the time.
    • created a microservice to handle the news using node.js and express with a clean architecture pattern. this service was called daily planet and its intention was to move the news api to a different application so we could update it more often without breaking any parts. it used postgres as a database and it was deployed on aws ecs as well. the core application built with ruby on rails and the admin built in laravel consumes this service using the rest api with the oauth2 for authentication.
    • created a microservice to crawl some sites looking for job opportunities to register on our website. this service was built using node.js with the puppeteer package and a mongodb. on the first week we had 200k+ accesses on job opportunities and it also was integrated with google jobs.
    • worked on the payment gateway changes from vindi to pagar.me. these changes were made on the ruby on rails core application and includes handling webhook notifications, consuming the pagar.me api to generate reports and also adapting the admin built with laravel to check the payments using the new gateway
    tech-stack: nodejs, javascript, mongodb, postgres, typescript, php, aws, ruby, express, vue.js, nuxt, react, gatsby, next.js, rails, github actions, kong
  • mid-level full-stack developer

    benfeitoria

    2019 - 2020

    as a full-stack developer for benfeitoria my responsibilities includes improve and maintain a crowdfunding platform along side with rewriting some features of the monolith to microservices using laravel and php.

    • created the microservice of notifications, responsible for wrap all of our communications with contributors, project creators and the management team. for consuming this client, i also created a php sdk to call this service from any application.
    • created the microservice of payments, responsible for being an interface between the core application and the payment provider. this service handles webhook notifications as well and uses the laravel event queue client to process these events with reliability.
    • created the microservice of reports, responsible for receiving requests from the core application about project reports like a list of contributors and which reward it should send to each of them, list of transactions by period, etc. for the sync answers, which was the only option before this service, the intention was to cache the most used reports for every client. also, we created the async answers, which were going to send a notification to the user when the report was processed by the laravel event queue.
    • created a service to generate backups from the database and store it encrypted on the s3 service from digital ocean, called spaces.
    • created a new admin service to remove this code from the core service. this new service had the same features than the before, only with a better interface made with vue.js.
    tech-stack: php, mysql, vanilla.js, jquery, laravel, vue.js
  • junior backend developer

    benfeitoria

    2018 - 2019

    as a junior backend developer for benfeitoria my responsabilities includes improve and mantain an crowdfunding plataform handling payments, dealing with project creators and providing the best experience for the contributor. our code was made using php with the zend framework, mysql, and vanilla.js with jquery on the frontend and deployed on digital ocean.

    • improved the address form for the contributor to handle international addresses. these changes were made using vanilla.js and jquery and the backend using the zend framework from php.
    • detected some tasks that were asked to the dev team to change a simple field on the database and created functionalities on the admin dashboard to supply them. e.g., created a button to change the project visibility, also the project positioning on the home screen.
    • created a dashboard monitor the bigger crowdfunding campaign on brazil at the time with more than r$ 1 million of contributions. to do this dashboard i created an endpoint on the zend api and used vue.js to create the real-time monitoring.
    • implemented lazy load images on the website to make it load faster. this was implemented by the hand using only vanilla.js and data attributes.
    • improved cache in parts of the application that requires heavy database queries, such as counting how many contributors a project had. while doing that, some queries were improved as well, and database indexes were created to improve performance.
    tech-stack: php, mysql, vanilla.js, laravel, vue.js, zend framework, jquery
  • volunteer programming teacher

    toti

    2018 - 2019

    as a programming teacher for toti my goal was to reposition refuggees’ carrers teaching html, css and javascript so they can acquire a new job in the it market. the classes were minestered by me once a week and every class last about a semester.

    • created a teaching plan to contemplate all subjects in order to make the apprenticeship smoothier.
    • spoke with a lot of companies in order to hire students at the end of every semester.
    • developed the first toti website using vue.js
    • acquired some freelances so the students could apply the knoledge in real world scenarios.
    • repaired old computers to be given to the students so they can practice the examples at home.
    tech-stack: html, css, javascript, vue.js
  • internship

    hostnet internet

    2015 - 2016

    as an intern for hostnet internet my responsibilities includes deal with customers’ tech support in php, mysql, wordpress and other open source tools. besides being a technical support internship i’ve always tried to use programming as tool to make people’s life simpler, designing applications that could help doing the job fast and in a more assertive way.

    • created an “fast answers” platform to help people to register and get the default answers for any kind of problem. i’ve created this using php, bootstrap, mysql and hosting in the company servers which used apache.
    • created the “app to do”, an application that enters on the customers ftp, detects if the application was wordpress, prestashop, joomla or magento by its files structure, gets the database connection parameters from the configuration file and creates an provisional password for the admin of any of them. using this platform we’ve been able to answer tickets support faster and not having human mistakes like losing the hashed password and have to ask to the customer to change it on his own. this tool was made using php, bootstrap and jquery.
    • created the “config email” tool which was the first to be used directly from the customers, having more than 500 daily accesses. this tool receives the e-mail input from the customer and generate a custom tutorial, even with images drew with the custom configurations for every domain, for about 15+ e-mail clients like outlook, mac mail, thunderbird and so on. doing this our tickets about e-mail configuration downed about 80%, but the tickets that we’ve answered sending this tool had 100% of no turnovers. this tool was made using php, bootstrap and the imagick extension from php and it’s still available here.
    • refactored the sac service that was made on wordpress to add all these tools in a single project to be used by all the team. this project last about 2 months and was built using php, silex, mysql, bootstrap and connecting with the active directory from the company.
    • i’ve been recognized as the most supportive employee with my colleagues and customers for 3 months straight for my attention to details, proficiency and patience.
    tech-stack: php, javascript, mysql, wordpress, magento, joomla, webservers

education.

  • product owner formation

    mastertech

    2020

  • english course - graduation

    wizard

    2017 - 2018

  • computer science - bachelor

    cefet/rj

    2016 - 2021

  • english course - teens module

    ccaa/aacc

    2015 - 2017

  • technical high school - internet computing

    faetec

    2015 - 2017

skills.

  • frontend.

    • react

    • vanilla javascript / es6 / commonjs

    • html5

    • css3

    • bootstrap

    • vue.js

    • jquery

    • material ui

  • backend.

    • php

    • mysql

    • rest

    • nodejs

    • express

    • postgres

    • laravel

    • zend framework

    • go lang

    • python

    • django

    • symphony framework

    • wordpress

    • elasticsearch

    • mongodb

    • ruby

  • devops.

    • gulp

    • digital ocean

    • docker

    • google cloud

    • webpack

    • aws

  • soft skill.

    • self-learner

    • problem solving

    • adaptability

    • team management

    • teamwork

    • non-violent communication

  • agile.

    • scrum

    • kanban

  • tools.

    • git w/ gitflow

    • jira / trello / asana

    • github / bitbucket

    • slack

  • operating systems.

    • linux

    • windows

    • macos

Get in touch

0/1910/2048