RubyDay 2023 is the 10th edition of the Italian Ruby conference, organized by GrUSP, organizers of events like phpday and jsday.

Friday 16th June 2023

How ChatGPT Works
Talk by Paolo Perrotta (1 hour)

ChatGPT astonishes everyone, including maybe his own designers. As software developers, we're always looking for the gears behind the magic. How can this thing possibly work? Give me some time, and I'll give you an intuitive, high-level understanding of AI language models.

RuboCop sent you a friend request
Talk by Alessandro Rizzo (40 minutes)

Most of us are using RuboCop as a code style checker with the large amount of Cops that the community provides, but is that enough for you? By understanding the powerful internals of RuboCop, we’ll create a custom Cop and a custom style guide to push forward the quality of the code we write daily.

One-on-One: the benefit you should look for
Talk by Giulia Mialich (40 minutes)

One-on-one meetings are crucial for promoting a healthy company culture, but do the participants truly recognize their value? The theory says these meetings provide an excellent opportunity for managers and employees to improve communication, reduce conflicts, and increase job satisfaction and motivation. The reality shows that one-on-one effectiveness relies heavily on human interactions, making success unpredictable. During the session, we'll explore effective practices to help answer questions such as: What makes one-on-one meetings effective for managers and what for engineers? How can we effectively communicate with silent individuals during these meetings? Should we establish an agenda for the meeting or not? Should personal matters be discussed during those sections? This talk is a must-attend if you want to improve your team management skills or gain insight into how one-on-one meetings can contribute to your professional development.

End to end typing for web applications
Talk by Frederick Cheung (40 minutes)

Ever had a bug because the frontend made incorrect assumptions about the shape of response data from the backend? Or maybe you trod nervously during a refactor? Or perhaps you broke an app by changing the backend data in a way you didn’t think would matter? This talk will show you how avoid these mistakes, enabling you to keep moving fast, by having a single source of truth for your data types, checked both on the frontend and the backend.

The Functional Alternative
Talk by Ju Liu (40 minutes)

We'll start with a simple Ruby Kata and solve it together, live, with imperative programming. We'll then fix the many, many, many things we got wrong. Then we'll solve the problem again using patterns from functional programming. You'll leave this talk with a clear and concrete example of why functional programming matters, why immutable code matters, and why it can help you writing bug-free code. The next time you find yourself writing imperative code, you'll think about... the functional alternative.

Caching strategies on
Talk by Ridhwana (40 minutes)

We’ve always put a lot of effort into performance at DEV ( We want our users to be able to see their content almost instantaneously when interacting with our site. In order to do so we’ve placed emphasis on caching. We’ve had to ask ourselves questions like what are the right things to cache? Which layer in the stack would be best to cache it? And how will this affect the overall performance? During this presentation, I’d like to show you some of the caching strategies we have in place and discuss how they’ve sped up the interactions within our site.

Ruby's Creed
Talk by Bozhidar Batsov (40 minutes)

Every programming language has some fundamental idea(s) that drives its design and evolution. For Haskell that’s functional purity and state-of-the-art static typing, for Erlang that’s distributed programming and fault tolerance, for Clojure that’s simplicity and stability. What all these examples have in common is that they are relatively easy to understand and map to design decisions in the languages. This, in turn, makes it possible to determine down the road whether a language sticks to its core values or deviates from them. Ruby, however, is very different. It’s world famous for its unique creed - “optimizing for programming happiness”. But what does this really mean? How does one optimize for happiness? Unfortunately I’ve never heard Matz speak about this, so in this talk I’ll offer you my perspective instead. I'll also discuss some of the recent changes to Ruby and whether they adhere to its creed or not. Controversy & fun ahead!

Investing in the Future: Unlocking the Potential of Junior Developers
Talk by Hana Harencarova (40 minutes)

Junior developers are often undervalued in the workplace, yet they are the future of our industry. Companies struggle to find enough senior developers but often miss out on the opportunity to educate their own. In this talk, we will explore best practices for empowering and elevating junior developers. How you, as a senior developer can contribute most effectively to their growth and use hands on learning to not only transfer knowledge but also motivate them. We will also look at how you, as a junior developer can best guide your early career and leverage the team to progress in your career and gain expertise. Join us to learn how to invest in the future of your company by building a strong and diverse team.