
Rafael Ponte
Software Engineer at Zup Innovation
Actions
I'm a Brazilian software engineer with over 20 years of experience building distributed systems using "boring" techs like Java, SQL, Spring, and Hibernate. I spend most of my time on Bluesky, Twitter, and LinkedIn discussing design, architecture, distributed systems, and software development in general, and I also help people with their issues related to those "boring" technologies.
Distributed Scheduling with Spring Boot: the challenges & pitfalls of implementing a background job
Sooner or later a developer will implement his/her first background job using Java and Spring Boot, and what usually is a simple task for the majority of systems might become a nightmare in scenarios that need to deal with high performance, parallelism, distributed systems and a large volume of data. Scenarios like those hide several issues which many developers are not used to, such as large volumes of data, network failures, data inconsistency, out-of-memory errors and even taking the whole system down.
Although it seems controversial, dealing with many of these problems does not require hype technologies or services, but solid distributed systems fundamentals. This talk will present how an experienced developer implements a background job with Java and Spring Boot taking into consideration the main challenges and pitfalls it brings along, and how he/she designs a solution for high-performance, resilience and horizontal scalability at the same time he/she takes advantage of many modules of Spring Boot, Hibernate and the relational database.
If you still believe that a background job is a simple task, so this talk is for you!
Why Unit Tests are NOT ENOUGH for your Microservices
Undoubtedly, the adoption of microservices has made it possible for companies with dozens or hundreds of teams to put software into production in an isolated and independent way at different paces without one team stepping on the other's toes. However, we can not ignore that despite the organizational advantages brought by this architectural style, we had to embrace its inherent complexity that, in essence, left the code and ended up at the edges.
Even small business logics are no longer local calls in memory within the same process and are now remote calls between services in an inherently unstable network. Ensuring that these logics work as expected is a challenging task, and relying solely on unit tests can be dangerous and a one-time mistake.
In this talk, I will discuss why unit tests alone are inadequate to guarantee the correctness of your code, reveal bugs earlier, or even allow the evolution of your application in a safe and sustainable way. Not surprisingly, we will understand why favoring the writing of integration tests and embracing the facilities of your IoC/DI framework can be crucial for developing, maintaining, and delivering your microservices.
If you trust that your unit tests are sufficient, this talk is for you, dear developer.
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