ING Hubs hangouts | Taming complexity: functional approaches to software design and concurrency
Schedule
Thu Apr 03 2025 at 06:30 pm to 08:00 pm
UTC+03:00Location
Calea Victoriei 174-176, Bucharest, Romania | Bucharest, BU
Advertisement
Join us for another opportunity for learning and networking. Engineers interested in software design and concurrency, ๐ฎ๐ง๐ข๐ญ๐! ๐ค๐ปOn 3 April, senior colleagues at ๐๐๐ ๐๐ฎ๐๐ฌ ๐๐จ๐ฆ๐๐ง๐ข๐ & ๐๐๐ ๐๐๐ง๐ค ๐๐จ๐ฆ๐๐ง๐ข๐ will share their latest insights and learnings with the engineering community in Bucharest.
Agenda:
๐ถ ๐๐ซ๐ซ๐จ๐ซ๐ฌ, ๐ญ๐ก๐ ๐๐จ๐ซ๐ ๐จ๐ญ๐ญ๐๐ง ๐ฉ๐๐ซ๐ญ ๐จ๐ ๐ฒ๐จ๐ฎ๐ซ ๐๐จ๐ฆ๐๐ข๐ง | Gabriel Bornea, software engineer & team lead at ING Hubs Romania
Errors are usually treated as an afterthought โ logged, ignored, or handled inconsistently. But theyโre more than just failures; errors represent important domain events that can shape how systems behave and respond to the real world.
In this talk, we will look at how modeling errors explicitly can make applications more predictable, resilient, and easier to maintain. Weโll see how to use sum types and typed errors; and how types like Either<e a=""> and IO<e a=""> help us manage errors without relying on exceptions.
We will also cover ways to accumulate multiple errors, design systems that can recover gracefully from failures, and improve observability with structured error handling. By the end of this session, weโll have practical techniques to turn errors into a first-class part of our domain, leading to more robust systems and a better development experience.
๐ถ ๐๐ฐ๐ง ๐ฒ๐จ๐ฎ๐ซ ๐๐๐ฌ๐ข๐ ๐ง: ๐๐ฎ๐ง๐๐ญ๐ข๐จ๐ง๐๐ฅ ๐ฉ๐ซ๐ข๐ง๐๐ข๐ฉ๐ฅ๐๐ฌ ๐ฏ๐ฌ ๐ญ๐ก๐ ๐๐ซ๐๐ฆ๐๐ฐ๐จ๐ซ๐ค | Tiberiu Tofan, software engineer at ING Hubs Romania
Frameworks like Spring can tempt engineers to apply various shortcuts that compromise clean design, such as primitive obsession and exception-based error handling. We will discover how to reclaim control by using Domain-Driven Design, hexagonal architecture, and functional programming principles.
In this session, we will go through practical strategies to keep domain logic clean, reduce coupling, and adopt functional error handling. These ensure design remains at the core of the solution, irrespective of what the framework encourages.
๐ถ ๐๐๐๐๐๐ญ๐ฌ ๐๐ง๐ ๐๐จ๐ง๐๐ฎ๐ซ๐ซ๐๐ง๐๐ฒ ๐ข๐ง ๐๐ฎ๐ง๐๐ญ๐ข๐จ๐ง๐๐ฅ ๐ฉ๐ซ๐จ๐ ๐ซ๐๐ฆ๐ฆ๐ข๐ง๐ | Alexandru Nedelcu, software engineer & team lead at ING Bank Romania
Creating cloud services that are scalable, performant, and resilient in the face of failures and concurrency challenges is quite a challenge, and architectural and implementation decisions depend on the principles of the programming language, the paradigms and the libraries used.
We'll explore managing effects and concurrency using functional programming principles and the Cats-Effect library in Scala, showcasing how that enforces actual best practices in your entire codebase that help in building anti-fragile, industrial strength applications.
๐ฅ๐ฒ๐ด๐ถ๐๐๐ฟ๐ฎ๐๐ถ๐ผ๐ป ๐ถ๐ ๐ณ๐ฟ๐ฒ๐ฒ & ๐บ๐ฎ๐ป๐ฑ๐ฎ๐๐ผ๐ฟ๐
Please fill in your information here: https://www.ing-events.com/taming-complexity-2025
โ ๏ธ Seating is limited - senior members on our team will select peers who can make full use of the discussion, so ๐ฉ๐ฅ๐๐๐ฌ๐ ๐ฐ๐๐ข๐ญ ๐๐จ๐ซ ๐จ๐ฎ๐ซ ๐๐จ๐ง๐๐ข๐ซ๐ฆ๐๐ญ๐ข๐จ๐ง.
๐ค ๐ฆ๐ฝ๐ฒ๐ฎ๐ธ๐ฒ๐ฟ๐
๐๐๐๐ซ๐ข๐๐ฅ (๐๐๐๐ข) ๐๐จ๐ซ๐ง๐๐, ๐ฌ๐จ๐๐ญ๐ฐ๐๐ซ๐ ๐๐ง๐ ๐ข๐ง๐๐๐ซ & ๐ญ๐๐๐ฆ ๐ฅ๐๐๐ ๐๐ญ ๐๐๐ ๐๐ฎ๐๐ฌ ๐๐จ๐ฆ๐๐ง๐ข๐
Gabriel has been working with JVM languages for over 15 years; heโs into functional programming, automatic testing and reactive programming. He has a strong background in Java, Kotlin, and TypeScript, but still enjoys the occasional dive into Scala or F#.
He contributes to open-source projects whenever he can and is one of the most popular ING Hubs Romania speakers at various conferences where he discusses the benefits and practicality of functional programming. Gabriel enjoys sharing practical insights on building resilient, maintainable systemsโfocusing on despaghettifying code to make it more robust, readable, and easy to work with.
๐๐ข๐๐๐ซ๐ข๐ฎ (๐๐ข๐๐ข) ๐๐จ๐๐๐ง, ๐ฌ๐จ๐๐ญ๐ฐ๐๐ซ๐ ๐๐ง๐ ๐ข๐ง๐๐๐ซ ๐๐ญ ๐๐๐ ๐๐ฎ๐๐ฌ ๐๐จ๐ฆ๐๐ง๐ข๐
Tiberiu has been with ING Hubs Romania for six years now and is experienced in JVM โ mostly Java, Scala, and Kotlin. In the two decades (and counting) on the JVM front, Tiberiuโs focus has been on solid architecture, functional design, and maintainable code.
He is dedicated to building solutions that endure over time, prioritising reliability and simplicity.
๐๐ฅ๐๐ฑ๐๐ง๐๐ซ๐ฎ (๐๐ฅ๐๐ฑ) ๐๐๐๐๐ฅ๐๐ฎ, ๐ฌ๐จ๐๐ญ๐ฐ๐๐ซ๐ ๐๐ง๐ ๐ข๐ง๐๐๐ซ & ๐ญ๐๐๐ฆ ๐ฅ๐๐๐ ๐๐ญ ๐๐๐ Bank ๐๐จ๐ฆ๐๐ง๐ข๐
Alex is a programmer who loves software craftsmanship, author of several popular open-source Scala libraries, a Typelevel contributor, focused on building low-latency, high-throughput web services, and a functional programming enthusiast. Currently, a team lead at ING Bank, Romania, his team is building the next generation of payment processors.
_____________________
๐๐ก๐ ๐๐๐ฏ๐ ๐ต๐ฎ๐ป๐ด๐ผ๐๐๐ is a series of talks, masterclasses, and workshops by ING Hubs Romania, delivering opportunities for learning, networking, and sharing on technology trends, programming languages and related topics.
</e></e>
Advertisement
Where is it happening?
Calea Victoriei 174-176, Bucharest, RomaniaEvent Location & Nearby Stays: