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.

click on this link to download the pdf version of my resume 📜 giovanni-ravalico-resume.pdf

SkillsSection

Programming languages
  • TypeScript
  • Flow
  • JavaScript
  • SQL
  • GraphQL
  • Kotlin (beginner)
  • Scala (beginner)
  • Java (beginner)
Methodologies
  • Agile
  • Kanban
  • Domain-driven design (DDD)
  • Cross-functional teams
  • Continuous Integration (CI)
  • Continuous Delivery (CD)
  • Test-driven development (TDD)
  • Pair programming
Concepts
  • Functional programming (FP)
  • Object-oriented programming (OOP)
  • Clean Code Principles
  • Clean Code Architecture
Front-end
  • Semantic HTML
  • CSS (SCSS, CSS-in-Js)
  • React
  • React Native
  • Redux
  • XState
  • Apollo
  • Storybook
  • Polymer
  • Backbone
  • Gatsby
Back-end
  • Node
  • Deno
  • Next.js
  • Express
  • Koa.js
  • Sails.js
  • Keystone.js
  • Handlebars
Libraries
  • Jest
  • Cypress
  • fp-ts
  • Underscore
  • Lodash
  • Lodash/fp
  • Ramda
  • Sanctuary.js
  • RxJS
  • XState
  • JQuery
  • webRTC
  • Socket.io
Databases
  • PostgreSQL
  • MongoDB
  • Waterline
  • Redis
  • Firebase Realtime Database
APIs
  • GraphQL
  • RESTful
Tools
  • Git
  • Docker
  • CircleCI
  • GitHub Actions

Experience

Software Developer

Bettermarks Gmbh-Berlin, GermanyEdTech
Bettermarks is a software company that has developed an adaptive learning platform for highly interactive math books to be used in schools, enabling students to learn from their mistakes through AHA moments.
  • The 30 thousand feet view of the systems architecture is of an event-driven modular monolithic Python backend, currently migrating to an event-driven microservices architecture. Content Developers author the content in the internal DSL, this is then compiled by the Compiler/Generator that outputs an intermediary XML representation. The students can explore the interactive content and solve exercises with the Exercise App, a SPA web app that sources the appropriate XLM content, parses, renders, execute, validates while emitting the proper events to the backend. I was the code owner of the Exercise App.
  • Pragmatically tackle the technical debt while working within legacy systems.
  • Tackle the constant influx of bugs.
  • Maintain and improve code quality.
  • I assist with the translation of the ActionScript Generator unit tests to Kotlin.
  • Pushed for a clear Big Picture view of the systems that make up Bettermarks => settled for ARC42 approach and contributed to documentation.
  • Drive the conversation on the necessity and benefits of the Domain-Driven-Design (DDD) approach in light of the new architectural non-functional requirements. => Obtain budget and time for a series of DDD workshops to understand the 'Problem Space' better and identify an appropriate 'Solution Space'.
  • Drove the discussion around a formalization of a Technical Roadmap => identifying the 'Problem Space' and proposed a matching 'Solution Space'.
  • Pushed for a better runtime error tracking/management solution => commit to integrating Sentry as a solution.
  • Refactor issue tracking system (Jira) from a 'big ball of mud' to a multi-project-centric approach.
  • Introduced and implemented Dual-Track Agile as a process (discovery track -> delivery track) => previously, there was no distinction.
  • Tech: [ Typescript, Kotlin, React, Redux, Jest, Cypress, MongoDb ].
Contacts:
York Zalander (CTO)york.xylander@bettermarks.com

Senior Frontend Engineer

ToolTime Gmbh-Berlin, GermanyB2B SAAS
ToolTime's mission is to help craftsmen tackle all their administrative tasks digitally with ease.
  • Design, build, scale, and maintain ToolTime’s software solutions.
  • Help to shape the technical areas of the product.
  • Work closely with product managers, product designers, front-end, and backend engineers.
  • Help to grow and develop the front-end team, playing a role in hiring new team members.
  • Foster a culture of continuous delivery, pair programming, and test-driven development.
  • Solving challenging problems in the areas of communication & chat, scheduling & disposition, routing & navigation, order management, and documentation.
  • Tech: [ Typescript, React and React Native, CSS-in-JS, GraphQL, Redux, RxJs, Apollo, Jest, Cypress ].
Contacts:
Slawomir Smiechura (VP of Engineering)slawomir.smiechura@tooltime.de

React Native Developer

Appico Gmbh-Hamburg, GermanyDigital Product Design Studio
  • Enable a new service offering to our customers by researching and studying mobile app development with React Native.
  • Organize the knowledge transfer to the rest of the team. Build several in house prototypes to illustrate commonalities and differences with regular web development.
  • Reduce the time needed to go from idea to prototype by developing a boilerplate project setup based on best practices and company requirements.
  • Tech: [ TypeScript, React Native, Redux, Storybook, Apollo, GraphQL, styled-components, Lottie, Jest ].
Contacts:
Arvid Gerstmann (CTO)arvid.gerstmann@appico.com

Full Stack Web Developer

Appico Gmbh-Hamburg, GermanyDigital Product Design Studio
Design, build and maintain the MVP for CarieTM, a telemedicine platform for the US market.
  • CarieTM enables doctors to interact with patients and other doctors remotely by scheduling appointments and allowing messaging, video consultation, online medication prescriptions, and file sharing.
  • I lead the front-end teamby informing good software design and architecture decisions;by managing the project tasks and issues;by delegating the load to the most effective developer.
  • I reduced the number of bug reports by enabling the adoption of a strongly- typed superset of JavaScript. I tutored my teammates in the process of learning Flow with pair-programming and code reviews.
  • I enabled a resilient user experience by building a Progressive Single Page App (PWA) with React, Redux, and Apollo.
  • I streamlined the design to code the implementation process by fostering a “component-driven development” approach. To achieve so, I coached both designers and my peers.
  • Tech: [ TypeScript, Flow, React, SCSS, Redux, Storybook, Apollo, GraphQL, styled-components, Jest, Twilio, AWS IoT, Serverless, Node, AWS Lambda, Docker ].
Contacts:
Arvid Gerstmann (CTO)arvid.gerstmann@appico.com

Front-end Web Developer

MadeByEnka-Rijeka, CroatiaHandmade Fashion e-commerce
Co-founded and managed a Lifestyle brand with my wife.
  • Designed, developed and implemented the brand online presence by building the frontend on top of Shopify service.
  • Tech: [ JS, HTML, CSS, JQuery, Shopify ].

Front-end Web Developer

Ravalico Real Estate s.a.s-Trieste, ItalyReal Estate Agency
Helped the company in its modernization process by pivoting its business model from brick and mortar to an online-first presence.
  • Architected, designed, and code multiple iterations of an in-house real estate CMS web app.
  • Tech: [ WebComponents, Polymer, Firebase, Sails.js ].

Education

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
  • Learned how to transform innovative business ideas into real products and services.
  • Applied innovation-driven entrepreneurship process to develop a B2B startup in the real estate industry.

History

Università degli studi di Trieste-Trieste, ItalyBachelor
  • Completed 90% of required credits toward Bachelor of Arts in Modern History

Interests

Functional Programming
  • Scala
  • Rust
  • Haskell
Object Oriented Programming
  • Kotlin
  • Java

Languages

English
Full professional proficiency
Italian
Native speaker