Giovanni Ravalico
Software Developer
I am a Software Developer, a geek, and, more generally, a problem solver in the continuous pursuit of meaning.
I am also a young father of three and a devoted husband. My transition from the social sciences to software engineering has enhanced my innate curiosity, pragmatic approach, and desire to find new ways to solve old problems.
I’m looking to work in an environment where I can continuously grow as a developer, where experimentation is encouraged, failure is the tool to shape a better understanding of the given domain, and my efforts add up to something truly useful.
If you consider me for a role, read through my motivations first.
- Berlin, DE
- ravalico.giovanni@gmail.com
- https://wwww.suddenlyGiovanni.dev
- +49 (0) 162 455 6031
- twitter.com/suddenlyGio
- github.com/suddenlyGiovanni
- linkedin.com/in/giovanni-ravalico
click on this link to download the pdf version of my resume 📜 giovanni-ravalico-resume.pdf
Skills
- Programming languages
- TypeScript
- Flow
- JavaScript
- SQL
- GraphQL
- Scala (beginner)
- Rust (beginner)
- Kotlin (beginner)
- Java (beginner)
- Methodologies
- Concepts
- Front-end
- Back-end
- Libraries
- Databases
- APIs
- Tools
Experience
Backend Engineer
-
- Responsibilities
Owned and maintained the customer-facing GraphQL API ("customer-api") as a Node.js server deployed in a container on AWS ECS. This API served as the primary entry point for client requests, performing authentication, authorization, and resolving queries, mutations, and subscriptions.
Collaborated with colleagues who owned other subdomain APIs within Caya's hybrid backend architecture (serverless functions and containerized microservices), ensuring efficient handling of business logic for various functionalities.
Owned and maintained Caya's CI/CD pipelines using GitHub Actions, automating builds, tests, and deployments, ensuring efficient and reliable delivery of software updates.
Reviewed and provided feedback on code changes across various backend systems, fostering code quality and maintainability.
- Highlights
Supported the re-architecture of Caya's backend system using Domain-Driven Design (DDD) principles.
This initiative aimed to improve code maintainability, enhance scalability, and reduce complexity.
Implemented code within the newly defined bounded contexts and applied layered architecture within each context.
This approach fostered modularity and a clear separation of concerns, ultimately contributing to a more maintainable and scalable backend system.
Championed and implemented RFC (Request for Comments) and ADR (Architecture Decision Records) processes, improving team decision-making, knowledge sharing, and reducing project risks. This initiative resulted in:
- Improved productivity: Minimized time spent revisiting past decisions, enhancing focus on core tasks.
- Better Decision-Making: Leveraged past records for informed future decisions.
- Enhanced Knowledge Management: Expedited onboarding of new team members with accessible project history.
- Reduced Risk: Mitigated project risks by learning from documented experiences.
- Adept at working within hybrid architectures, leveraging both serverless functions and containerized microservices to achieve optimal performance and scalability for Caya's backend systems.
- Technologies
- TypescriptNodeGraphQLJestCucumber.jsExpress.jsApollo ServerPrismaMySQLMikroORMAWS Lambda
Senior Frontend Engineer
-
- Responsibilities
Orchestrated the front-end development process for multiple product domains, encompassing both product management (discovery phase) and implementation (delivery phase).
Translated product ideas into technical requirements and user stories.
Collaborated with designers and backend engineers to ensure seamless integration.
Mentored junior developers in Test Driven Development (TDD), Behavior Driven Development (BDD), and design patterns.
Championed the "boy scout rule" to improve codebase maintainability and reduce technical debt.
Acted as the team's TypeScript "Wizard," providing support and ensuring code correctness.
Focused on accessibility and performance considerations throughout development for a user-centric experience.
Communicated and collaborated with other front-end engineers across teams to define front-end standards and best practices.
- Highlights
Championed a collaborative, cross-functional team structure that successfully pioneered a vertically integrated development model. This innovative approach delivered full-stack features (product concept to implementation) and was adopted by the company as a new standard.
Improved team happiness and code quality through fostering a positive and collaborative work environment.
Mentored a junior developer who grew to take full ownership of the company's design library, a critical codebase used throughout the application.
Effectively integrated accessibility and performance considerations throughout development, leading to a more user-friendly and performant application.
- Technologies
- TypescriptReactCypressJestTesting LibraryStorybookGraphQLApollo Clientstyled-components
Front-end Web Developer
MadeByEnka
-Rijeka, CroatiaHandmade Fashion e-commerceFront-end Web Developer
Ravalico Real Estate s.a.s
-Trieste, ItalyReal Estate AgencyEducation
Web Development
SPICED Academy-Berlin, GermanyCoding Bootcamp- Work with responsive design using HTML, CSS, and JavaScript.
- Create exciting, interactive web apps and animations using native browser APIs as well as the jQuery library.
- Build server-side JavaScript applications using Node.js and learned to use third-party APIs to create exciting dynamic web pages.
- Create powerful single-page web applications with front-end frameworks such as React and Backbone.
- Tech: [ Semantic HTML, CSS, JavaScript, Node, SQL, PostgreSQL, React, Redux, Express, Backbone, WebSockets ].
Disciplined Entrepreneurship
Innovation Factory, AREA Science Park-Trieste, ItalyBusiness Bootcamp
Interests
- Functional Programming
- Scala
- Rust
- Haskell
- Object Oriented Programming
- Kotlin
- Java
Languages
Language | Fluency |
---|---|
English | Full professional proficiency |
Italian | Native speaker |