Renette Ros
Technical Lead @ Entelect
Pretoria, South Africa
Actions
Renette is a technical lead at Entelect with degrees in BIS Multimedia and BSc (Hons) Computer Science from the University of Pretoria. She specializes in backend Java and Kotlin development, with extensive experience in Spring Boot projects. Renette is passionate about resilience engineering—ensuring production systems stay up even in challenging situations—and is dedicated to elevating the women around her and within her teams. She thrives on sharing knowledge, mentoring others, and fostering growth within her teams. When she's not engineering solutions, Renette enjoys diving into fantasy novels and exploring board games.
Area of Expertise
Topics
Bringing the bleeding edge: How we do automated dependency upgrades at enterprise scale
In a large enterprise with hundreds of codebases, staying current is a constant, expensive battle. The old way—relying on developers to track updates, manually apply breaking changes, and painstakingly following migration guides—simply doesn't scale. It's a recipe for security risks, technical debt, and developer burnout. Our team was drowning in this manual toil, so we built a better way.
This session details our journey to create an automated dependency upgrade machine. We'll start with how we deployed Renovate bot across the enterprise to solve the discovery problem, automatically creating hundreds of pull requests to keep our services on the latest versions. But as any engineer knows, version bumps are the easy part. The real challenge is the breaking changes.
This is where we turned to OpenRewrite. We'll dive deep into how we use this powerful automated refactoring tool to codify the complex, repetitive steps of major upgrades. You'll see how we compose open-source recipes and write our own custom recipes to handle everything from framework migrations to code cleanup and enforcing internal best practices. We'll share our successes, our failures, and the hard-won lessons of testing and deploying these recipes at scale. You will leave with a blueprint to stop treating upgrades as expensive, manual projects and start treating them as what they should be: a continuous, automated, and safe background process.
The Self-Cleaning Castle: How Garbage Collection Works
Garbage collection is one of the most valuable—but often invisible—features of modern programming languages. Like living in a self-cleaning castle, it takes care of the mess so we can focus on other things. But while it feels automatic, there’s a lot happening behind the scenes.
In this talk, we’ll explore the fundamentals of garbage collection through the lens of life in a castle with my cat: what it cleans up, how it works, and why it sometimes causes trouble. We’ll walk through some core techniques, their trade-offs, and the optimizations that make them more efficient. From there, we’ll dive into modern garbage collectors looking at how they build on these principles to meet today’s performance demands.
By the end, you’ll have a clear understanding of how garbage collection works, why it matters, and how overlooking it can cause problems when we least expect it
How I built a multiplatform game engine in Kotlin
Kotlin is a cross-platform, statically typed language developed by Jetbrains. With concise syntax, null safety and full interoperability with existing java and android libraries it is sometimes considered a 'better java' and is the recommended language for building Android apps. In addition to Android and Java applications, Kotlin can also be compiled to Javascript or even native apps.
In this talk I will share how we used Kotlin Multiplatform to get the game engine for the 2019 Entelect Challenge, an annual South African coding competition where contestants submit bots to play a retro or classic game, running both on the JVM (for bots to compete) and in a web browser (for humans to play). Additionally I will show the audience how to get started with a simple Kotlin Multiplatform app and talk about the challenges we experienced while building our game engine.
Navigating the Storm: Building Resilient Systems in the Face of Production Chaos
Troubleshooting large, distributed systems during production outages can be a daunting challenge. When downtime is not an option, how do you steer your ship through the storm of technical difficulties?
Drawing from extensive experience trying to keep production up at one of South Africa's largest banks, this talk delves into the realm of resilience engineering. It will equip you to identify and reproduce issues and also to make your systems more resilient in the face of chaos.
We will explore an array of troubleshooting tools, such as Application Performance Monitoring tools, logging, heap and thread dumps, application metrics, profiling techniques, load testing, and briefly touch on chaos engineering.
Recognizing that prevention is better than cure, we will conclude with patterns and strategies to help you build resilient systems. Topics will include timeouts, connection reuse, circuit breakers, bulkheads, and fallback mechanisms.
Proving Performance: Benchmarking Java using JMH
If you have been a professional java developer for a while you have probably heard statements like "Don't optimize prematurely", "Prove that this is actually faster" and "The compiler is very good at optimization" numerous times, but no one ever tells you how to prove that your code is faster. You might have taken a stab at writing your own benchmarks and received responses like "Benchmarking is hard", "This obscure compiler optimization makes your benchmark invalid" and "Did you consider jvm warmup?".
This talk will provide a practical introduction to JMH - the Java Microbenchmark Harness - an Open JDK project for building, running and analyzing benchmarks written in java or other jvm languages. I will talk about how to get started with JMH to write your own benchmarks , the different features and types of benchmarks that are available and show how JMH solves some of the common gotchas present in java benchmarks.
DevConf 2024 Sessionize Event
DevConf 2024
https://www.youtube.com/watch?v=bFgC2nRQ94k
Navigating the Storm: Tools and Patterns for Resilient Systems in the Face of Production Chaos
I Code Java 2022
https://www.youtube.com/watch?v=tobYYMN3bag
Talk: Java resilience: How strong is your blend?
Troubleshooting large, distributed systems is hard. When production is down and you need to fix it as soon as possible, what do you do? In this talk I will talk about tools available to help you find and reproduce problems and also touch on resilience patterns for Java applications.
DevConf 2020 Sessionize Event
Kotlin Everywhere South Africa 2019 Sessionize Event
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top