Hugo Hernani Ferreira da Silva, Developer in Arapiraca - Alagoas, Brazil
Hugo is available for hire
Hire Hugo

Hugo Hernani Ferreira da Silva

Verified Expert  in Engineering

Bio

Hugo is a skilled software engineer with 8+ years of experience in the industry. He is committed to designing and implementing clean, functional, and maintainable code that meets non-functional requirements for optimal performance, maintainability, and usability. Hugo is a quick learner, always eager to explore new technologies and stay up-to-date with industry trends. He is also an excellent team player and encloses strong communication skills.

Portfolio

Toptal
Ruby, GraphQL, PostgreSQL, Scrum, Jira, GitHub, Jenkins...
Fretadão
Ruby, Ruby on Rails (RoR), GraphQL, Stimulus, Design Patterns, Geocoder...
Quez Media Marketing
Ruby on Rails (RoR), Sinatra, CoffeeScript, jQuery, Elasticsearch, Devise...

Experience

  • Object-oriented Programming (OOP) - 7 years
  • Ruby - 7 years
  • Ruby on Rails (RoR) - 7 years
  • RSpec - 6 years
  • Sidekiq - 5 years
  • REST APIs - 5 years
  • PostgreSQL - 5 years
  • GraphQL - 2 years

Availability

Part-time

Preferred Environment

Slack, Codeship, Cloud66, Heroku, Amazon S3 (AWS S3), DigitalOcean, Sentry, Linux, Vim Text Editor, GitHub, Git

The most amazing...

...project I've worked on is a real-estate platform with CMS, custom and scheduling notifications, real-time accounting, map views, and user/role access control.

Work Experience

Back-end Software Engineer

2022 - 2023
Toptal
  • Worked on automating the process of escalating approval or rejection of defined rates (when needed), considering a predefined hierarchy of roles (VP, Head of Sales). The solution relied on a seamless experience with Slack integration.
  • Built an intermediary resource—a standalone validator—that validates if given talent or company engagement requires further approval/rejection escalation based on the domain definition of processing actions within Toptal called BusinessAction.
  • Collaborated on developing a database loader in GraphQL terms to load a matching role for a specific engagement, avoiding unnecessary n+1 queries when fetching clients whose related roles—for instance, sales claimer—were previously cached.
  • Worked on building an all-time available pricing calculator engine served through the GraphQL API to allow recruiters users to give region-based rates information for talent and companies in a reliable and fast way.
  • Teamed on creating a large and significant migration script to cover data gaps between the platform and a specific microservice so that relevant information would be completely available on the most used app without extra web requests.
Technologies: Ruby, GraphQL, PostgreSQL, Scrum, Jira, GitHub, Jenkins, Test-driven Development (TDD), RSpec, Sidekiq, Cucumber, Docker, Elasticsearch, Relational Databases, Algorithms, Object-oriented Programming (OOP), Ruby on Rails (RoR), Design Patterns, Unit Testing, Integration Testing, Back-end Development, Web Development, Git, Back-end

Senior Full-stack Software Engineer

2022 - 2022
Fretadão
  • Developed a feature within a React Native app to allow any associated company employee to search for nearby available vehicles given some filters and then book/schedule a seat on the chosen vehicle. This was a stateful feature built with Redux.
  • Created a reusable auto-complete component using Stimulus and ViewComponent to improve the team's development. Any developer using the feature should only worry about providing the required fields. On top of it, customization was also possible.
  • Created a batch upload feature with inline editing for invalid records in a table. This improved user experience since only invalid data should be adjusted and enhanced data upload processing for large amounts of data.
  • Improved a map-view structure for displaying transport-related markers by creating database indexes, removing n+1 queries, caching expense results, using async and clustering techniques for loading markers, and eliminating duplicate server requests.
  • Lectured introductory classes on specific technologies and principles: Dart/Flutter and widget-based development, state management with React and Redux, event-driven approach with CQRS, and definition of value objects and entities by DDD.
Technologies: Ruby, Ruby on Rails (RoR), GraphQL, Stimulus, Design Patterns, Geocoder, Geofencing, Leaflet, React Native, Serverless, Elasticsearch, jQuery, ViewComponent, SCSS, Tailwind CSS, Redux, React, Sidekiq, REST APIs, JBuilder, Test-driven Development (TDD), RSpec, Unit Testing, Integration Testing, Relational Databases, Algorithms, Object-oriented Programming (OOP), PostgreSQL, Puma, SimpleCov, Unicorn, Cocoon, Scrum, Docker, Domain-driven Design (DDD), Networking, Back-end Development, Front-end Development, CSS, JavaScript, HTML, User Interface (UI), Responsive Web Design (RWD), Semantic UI, Web Development, Full-stack, Maps, Google Maps, Git, MySQL, Back-end, Vanilla JS

Senior Software Engineer

2015 - 2022
Quez Media Marketing
  • Worked on building a large custom content management system application within all non-admin-related sections. This feature allowed an admin-role-based user to change any content by using Froala rich editor and a few run-times available templates.
  • Built a custom notification subsystem that allows the admin user to send specific notifications once other users take a given action. Each trigger is dynamically mapped through predefined actions within the system.
  • Improved many sections' load-time by implementing server-based caching mechanisms using Redis and PostgreSQL indexes. After performance research, this was done using a few profiling tools such as Rack Mini Profiler, meta_request, and flame graphs.
  • Added a map-view feature to assign agents (brokers and realtors) on processes (purchase or sale) in a real-estate project. It contained a robust filtering system for validating whether the chosen broker could be assigned to a given process.
  • Contributed to a feature to leverage Pundit and Rolify gems with well-structured tables definition used in the dynamic role-based system to allow real-estate admin users to create roles on-demand based on predefined actions.
  • Built a cloning feature to allow admin users to rapidly create new resources (organizations, brokerages) based on selected "parent" resources. Each data section of the given resource works as a decorator to be chosen and applied for duplication.
  • Created an accounting form for a real-estate project with real-time recalculation of related fields once any field is changed. This feature was built completely on the front end with double validation on the back end once the form is submitted.
  • Developed a global search to allow searching any content within non-admin-related areas within a real-estate project. All searchable content was indexed through Elasticsearch storage and filtered using the Searchkick gem.
Technologies: Ruby on Rails (RoR), Sinatra, CoffeeScript, jQuery, Elasticsearch, Devise, Pundit, Papertrail, Redis, Geocoder, Turbolinks, RSpec, Capybara, Poltergeist, PostgreSQL, RuboCop, REST APIs, Puma, Sentry, Sidekiq, Froala, SimpleCov, Unicorn, JBuilder, Cocoon, Multitenancy, Solidus, Slack, Codeship, Cloud66, Amazon S3 (AWS S3), DigitalOcean, Linux, GitHub, Project Design & Management, Programming, Agile Software Development, Object-oriented Programming (OOP), Web Security, Ruby, Relational Databases, Algorithms, Design Patterns, Test-driven Development (TDD), Unit Testing, Integration Testing, Scrum, Docker, Domain-driven Design (DDD), Networking, Amazon Web Services (AWS), Back-end Development, Front-end Development, CSS, JavaScript, HTML, Responsive Web Design (RWD), Semantic UI, Web Development, Full-stack, Maps, Google Maps, Git, MySQL, Back-end, Vanilla JS

Eugenio | Game

https://github.com/hugohernani/eugenio
During my exchange program in Budapest, I collaborated with a team of back-end developers, a designer, and a product manager to create a math-oriented game app for children. Using the Unity3D engine, we developed a virtual pet-like character that helps children learn math basics while keeping the virtual pet healthy.

The game incorporated physics dynamics, such as gravity and speed, into the gameplay. The virtual pet had vital bars for hunger, health, sleep, and fun, and the user was challenged to solve simple math problems, such as addition and subtraction, to keep the virtual pet healthy. Each correct answer increased the corresponding bar, and the fun bar was specifically raised through math-based stages, such as a pyramid of numbers.

This project was part of an ambitious startup venture, aiming to create an engaging and educational game that promotes learning through play. It was a valuable experience that allowed me to collaborate with a diverse team and contribute to developing a meaningful educational product.

Homepage | React

https://github.com/hugohernani/portfolio
I built my portfolio page using React to serve as a professional showcase of my skills and experience. The homepage serves as a digital business card that introduces me to potential clients and employers, offering links to my social media profiles, a downloadable version of my latest CV, and even a cover letter from a previous employer. It was deliberately built without using any CSS framework.

The section dedicated to displaying my projects is still a work in progress and will not be accessible on the homepage until it's complete. Once finished, it will allow visitors to see detailed information about my past projects, demonstrating my abilities as a developer. The projects section fetches markdown content using Axios to communicate with the Rails API on the back end. Once brought to a project details page, users can see sections and a table of contents for these sections. The section was built with performance in mind, minimizing re-rendering.

AR-based Virtual Classroom | Unity3D and LeapMotion

https://www.youtube.com/watch?v=0njp4QI1AFI
I built a virtual world focused on classrooms, using the Unity3D game engine, LeapMotion AR technology, and a Django server for API management. The project involved creating a virtual environment with physics rules, allowing objects to behave as expected through collision and gravity effects. Users had their avatars, enabling them to interact with the environment more immersively.

Teachers registered on the front-end app and uploaded presentable documents. Once logged into the virtual environment, teachers could select and present their uploaded lectures using a virtual whiteboard. This device could be interacted with using LeapMotion technology, allowing teachers to use their hands to select and control the presentation.

Students could enter the virtual classroom using a "portal" and interact with each other. They could watch and listen to the teacher's presentations.

The front end was built using old Google Polymer technology and handled the app's authentication/authorization by communicating with the Django server's API and lecture uploading.

The project, available at https://github.com/orgs/elte-augmented-classroom/repositories, enabled an immersive experience for teachers and students.

Console-based Tic-tac-toe Game | Ruby

https://github.com/hugohernani/tic_tac_toe
I built this tic-tac-toe game using Ruby, leveraging TDD from the beginning to the project's current stage. The codebase currently has 65 written tests covering all the different aspects of the game.

The game has multiple modes; players can adjust the computer's difficulty level. There is room for further customization:
• I could remove some displaying responsibilities from the board model to make it less coupled.
• Players could be allowed to choose their sign.

The game uses a family of interconnected classes, including Board, Line, Slot, Game, GameControl, GameSetup, GamePlayer, Player (with two subclasses: ComputerPlayer and HumanPlayer), PlayerSign, and GamingSetup::Mode and GamingSetup::Strategy. This allowed me to design a flexible and adaptable software solution. I kept external dependencies to a minimum, using only a few testing gems and the "colorize" gem.

I believe that this tic-tac-toe game is an example of my ability to design and implement software architecture from scratch. It showcases my knowledge of OOP principles, resourcefulness, and ability to work with core technologies. It could become even more versatile and user-friendly with some additional improvements.
2011 - 2019

Bachelor's Degree in Computer Science

Federal University of Alagoas (UFAL) - Alagoas, Brazil

2014 - 2015

Exchange Program in Information Technology

Eötvös Loránd University (ELTE) - Budapest, Hungary

JULY 2021 - PRESENT

AWS Cloud Practioner Essentials

Amazon Web Services

APRIL 2021 - PRESENT

Domain-driven Design Fundamentals

Pluralsight

AUGUST 2015 - PRESENT

Shaping up with AngularJS

Code School

MARCH 2015 - PRESENT

Unity 3D Game Development and Design

Udemy

FEBRUARY 2015 - PRESENT

Agile Project Management Training

Sprint Consulting

MAY 2011 - PRESENT

Wireless Network Essentials | LN101e

Lancore networks

MARCH 2011 - PRESENT

Accelerating Through Angular 2

Code School

FEBRUARY 2011 - PRESENT

Rails for Zombies Redux

Code School

Libraries/APIs

Sidekiq, jQuery, REST APIs, React, Google Maps, Devise, Pundit, Cocoon, Leaflet, Ruby on Rails API, Polymer

Tools

RSpec, Git, Slack, Cloud66, Sentry, GitHub, RuboCop, JBuilder, Codeship, Papertrail, Geocoder, Froala, SimpleCov, Jira, Jenkins, Cucumber

Languages

Ruby, JavaScript, HTML, CoffeeScript, GraphQL, CSS, Unicorn, SCSS, C#, Markdown, TypeScript, Python, Elixir

Frameworks

Ruby on Rails (RoR), Vanilla JS, Capybara, Sinatra, Stimulus, React Native, Tailwind CSS, Redux, Unity3D, Angular, Bootstrap, Django, Phoenix

Storage

PostgreSQL, Redis, MySQL, Amazon S3 (AWS S3), Relational Databases, Elasticsearch

Paradigms

Agile Software Development, Object-oriented Programming (OOP), Functional Programming, Design Patterns, Test-driven Development (TDD), Unit Testing, Scrum, Responsive Web Design (RWD)

Platforms

Heroku, DigitalOcean, Linux, Blockchain, Solidus, Docker, Amazon Web Services (AWS)

Other

Programming, Back-end Development, Web Development, Full-stack, Back-end, Project Design & Management, Web Security, Front-end Development, Maps, System Design, Algorithms, Game Development, Distributed Systems, Turbolinks, Poltergeist, Puma, Multitenancy, Geofencing, Serverless, ViewComponent, Integration Testing, Domain-driven Design (DDD), Lean, Networking, Axios, Application State Management, User Interface (UI), Semantic UI, User Experience (UX)

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring