Posts

Showing posts with the label Dependency-Management

Walking Dead Libraries

Image
This is not a new post, this post is related to other posts and issues that I'm talking about in this blog for at least +10 years. When I started doing SOA I fall in love with it because was all about Services and not about libraries. +15 years doing SOA and this problem still exists in the industry. Dependency management is a lost discipline, and it's super needed nowadays. Every company on earth has internal shared libraries. However, libraries often are a huge trap . There are ways to deal with this issue. The biggest problem often people dont realize is that OSS libs are often maintained by small teams that cannot afford to maintain several old versions of libs for free. Some companies behind popular and big OSS solutions have a paid support service where often you can bigger support for longer. However, that's not the reality for all and the majority of libs out there. Often product teams are focused on release features. Product teams often dont have Slack . The outco...

Dealing with Tests Dependencies

Image
Dealing with Tests Dependencies is a way to reduce internal complexity and make services easier to maintain and more resilient to migrations and less expensive over time. Several times fixing tests is more expensive than fixing the real code itself. That could happen for several reasons either by lack of trust between teams or because there is a lack of ways to deal with test dependencies issues. Often people don't pay much attention to tests because either is an engineering or QA problem. However, tests are critical for proper CI/CD and at scale require attention. Overtime complexity and tech debt can charge a high price making all future improvements harder, thats why we need to have ways to deal with this problem in the most effective way possible. So Let's get started! 

Insert Koin: Fast DI in Kotlin

Image
Dependency Management is the oldest tricky of the book. DI is useful not only to make it easier to configure a system but also to make it more extensible and testable. Koin is a very lightweight DI framework for Kotlin. Koin is fast, minimalistic, simple, and yet powerful. Today I want to show we can use Koin is a kotlin simple code I build and also how we can do Unit Tests using JUnit 5 and Koin. So Let's get started.