Hugo Hernani Ferreira da Silva
Verified Expert in Engineering
Software Developer
Arapiraca - Alagoas, Brazil
Toptal member since April 13, 2023
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
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
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
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.
Senior Full-stack Software Engineer
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.
Senior Software Engineer
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.
Experience
Eugenio | Game
https://github.com/hugohernani/eugenioThe 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/portfolioThe 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=0njp4QI1AFITeachers 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_toeThe 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.
Education
Bachelor's Degree in Computer Science
Federal University of Alagoas (UFAL) - Alagoas, Brazil
Exchange Program in Information Technology
Eötvös Loránd University (ELTE) - Budapest, Hungary
Certifications
AWS Cloud Practioner Essentials
Amazon Web Services
Domain-driven Design Fundamentals
Pluralsight
Shaping up with AngularJS
Code School
Unity 3D Game Development and Design
Udemy
Agile Project Management Training
Sprint Consulting
Wireless Network Essentials | LN101e
Lancore networks
Accelerating Through Angular 2
Code School
Rails for Zombies Redux
Code School
Skills
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)
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring