π Jonathan (ribs) Ribas
π·οΈ Senior Frontend Developer | TypeScript, React & React Native | Clean Code, Resilient Apps, Reliable User Experiences
π€ Whoami
15+ years of building software that works for most cases⦠and try-catching the edge ones.
In my career changelog, software development was my initial commit, is my current sprint, and will be my final release. As new lines were written, its chapters were decorated with an array of back-end and front-end languages (take a look at my 5+ year skills below). While (true), my recent roles keep looping around front-end; we can switch back to full-stack if thatβs the case.
π οΈ Technical Skills
5+ years: JavaScript, React, TypeScript, Node.js, Redux, SQL, Git, Agile, Apache, Big O, CSS3, Cross-Browser Compatibility, HTML4, MariaDB, Prettier, Responsive Design, Scrum
4 years: CI/CD, Code Push, ESLint, PHP, Postman, React Native, Swagger, WCAG
3 years: Axe, Firebase, GitHub Actions, Java, macOS
2 years: Angular 2+, AngularJS, App Center, Django, NoSQL, SASS, Shell Script, SVN
1 year: AWS, Azure, C++, CMMI, Cypress, Docker, Expo, GraphQL Apollo, Jenkins, Kubernetes, MobX, MongoDB, Next.js, Python, Selenium, Visual Basic, Vue.js
πΌ Job Experience
Senior Software Engineer - Frontend @ Neurogram | π
Nov 2023 - Nov 2024
π€ The Challenge
The React Web project faced permission bloat and fragmented dependencies, leading to slow setup, inconsistent code, and no shared design system. The project also lacked support for i18n, microservices, and relied on external hosting with no access to a CI/CD pipeline.
π Results BY Actions π‘
- Saved hundreds of development hours BY creating a React Web design system with reusable components, hooks, and providers used across multiple projects.
- Reduced deploy time to 5 minutes BY implementing a 2-click deploy system through a centralized CI/CD pipeline using GitHub Actions and Firebase.
- Reduced onboarding time from 5 days to 5 minutes BY streamlining the developer setup using Vite with just two commands: npm install & npm run serve.
- Reduced redundancy by 400% and decreased project bootstrap time BY unifying all frontend project builds and rules into a single monorepo with shared dependencies.
- Increased code quality and maintainability BY taking ownership of the PR review process for all incoming code, ensuring adherence to React best practices.
- Automated repetitive configurations BY integrating support for core features like i18n, encryption, messaging, and responsiveness in every project by default.
- Enabled multi-environment development and testing BY designing and developing support for microservices and live API mocks.
Senior Software Engineer - Frontend @ XTeam | π
Sep 2022 - Jul 2023
π€ The Challenge
Brought in to make final tweaks to the React Native project, but after integrating thousands of real data entries, critical performance issues emerged, including inefficient data rendering, animation bottlenecks, navigation slowdowns, inconsistent design logic, and cross-compatibility challenges.
π Results BY Actions π‘
- Reduced cold startup time to 2 seconds BY refactoring the Redux Rehydration process to avoid full app reloads and optimizing data loading by fetching only critical data first for immediate display, while loading non-essential data in the background.
- Improved performance for large datasets (40,000+ items) BY restructuring rendering logic, optimizing batch rendering, and implementing list virtualization during large data scrolls.
- Eliminated screen artifacts BY optimizing animation logic for large datasets, migrating from hardcoded animations to dynamic, data-driven animations using React Native Reanimated and Moti.
- Increased maintainability BY refactoring chained useEffects, removing misused hooks, and optimizing the React lifecycle, following React best practices.
- Accelerated development workflows and enhanced UI/UX consistency BY building reusable animation components and UI interactions that mimicked iOS-native behavior.
- Improved scalability BY implementing a consistent component architecture and adopting a feature-based structure to separate UI from business logic.
- Enhanced multi-gesture support and improved user interactions BY designing and implementing gesture logic and refactoring bottom-sheet navigation.
- Stabilized smooth, bug-free user experiences for native features BY rebuilding native API flows and ensuring reliable native integrations.
- Extended 3rd-party libraries to meet project requirements BY patching dependencies with patch-package, adding fixes and new features.