Skip to content

Opentelemetry and continuous feedback & Your tests also need some architecting

Photo of Frank Delporte
Hosted By
Frank D. and Tom C.
Opentelemetry and continuous feedback & Your tests also need some architecting

Details

For the November session of BeJUG we're heading to Brugge! Let's improve our coding by using continuous feedback and better tests, thanks to Roni Dover and Jonas Geiregat.

This time, you can find us at Liantis in Brugge. Many thanks to them for hosting us! Check them out at: https://www.liantis.be

Schedule

  • 18:00: Doors + Food and Drinks
  • 19:00: Intro and BeJUG updates
  • 19:05: Session 1
  • 20:00: Session 2
  • 2x:00: Mingling

Roni's Topic: OpenTelemetry and Continuous Feedback - Things you need to know about your Java code at runtime

What do you know about the code changes that were just introduced into the codebase? When will you start noticing if something goes wrong? If there are so many accessible observability sources that can tell us what the code is doing, why are we using so little of that in our day-to-day coding?

Continuous Feedback is a new dev practice that aims to make practical usage of code runtime data to shorten the feedback loop during development. It enables developers to get early data about their code changes and detect issues and regressions as-they-code. At the same time, collecting data from multiple environments, allows developers to instantly understand how their code is performing in the real world.

In this session, we'll look past the novelty of using OSS observability tools and technologies, to discuss how we can actually make them useful for developers. We'll take a look at the benefits of enabling OpenTelemetry collection for dev and test data and examine OSS tools to help analyze the application runtime. We'll go over code examples of common anti-patterns, code smells, hidden errors, and other types of problems that observability can reveal prior to merging a PR.

Ultimately, the goal should not be simply observing the application or creating nice-looking dashboards. Rather, success is in leveraging observability data in order to achieve a more effective dev process and write better code.

About Roni

Holistic developer and builder with a passion for development processes and practices. Afflicted by an acute Product Manager/Developer split personality disorder that was never treated. Currently, CTO and co-founder of Digma (digma.ai), an IDE plugin for code runtime AI analysis to help accelerate development in complex codebases. A big believer in evidence-based development, and a proponent of Continuous Feedback in all aspects of Software Engineering.

Jonas' Topic: Your tests also need some architecting

  • Have you ever found yourself grappling with a hard-to-maintain or brittle test code base?
  • Are your tests providing you with the confidence to refactor freely and safely?
  • Have you encountered confusion when faced with different testing styles or approaches in a project?
  • Should I write an integration test, unit tests, acceptance tests or a mixture?
  • How do you manage test fixtures?

The world of testing can be overwhelming. Maintaining a robust and efficient test suite is paramount for the evolution of an application. Tests play a pivotal role in safeguarding our codebases. Yet, all too often, test codebases become a chaotic amalgamation of ideas and approaches, jeopardizing their true purpose.

A test suite that is difficult to work with can significantly hamper the productivity and velocity of both the development team and the product.

When laying down the architecture of an application, the testing aspect is often given insufficient attention. This can lead to fragmented and poorly designed test suites that fail to fulfill their intended purpose.

It's high time that we prioritize the testing aspect and treat it as a vital component of our application's architecture. In this talk, we will explore the reasons and motivations behind testing, allowing us to effectively address the common pitfalls encountered in test codebases. By understanding the core purposes of testing, we can implement strategies to create maintainable and efficient test suites, ensuring the success and growth of our software projects.

About Jonas

Curious software engineer with a focus on all things Java. Currently working for Cymo specializing in event driven and streaming architectures.

Additional note: This meetup includes food. We, therefore, ask you to please keep your RSVP status up to date, so we do not waste any of our food.

Photo of Belgian Java User Group group
Belgian Java User Group
See more events
Liantis
Sint-Clarastraat 48 · Brugge