Dependency injection
With Mikhail “Mike” Artemev software engineer at Truecaller
In episode 40 of UTVECKLA, we dig into dependency injection together with Mikhail “Mike” Artemev, software engineer at Truecaller.

UTVECKLA #40: Dependency injection
In episode 40 of UTVECKLA, we dig into dependency injection together with Mikhail “Mike” Artemev, software engineer at Truecaller. Mike tells us about a massive migration project that he has been part of at Truecaller, why dependency injection was such a useful technique for that project, where Hilt and Dagger come into the picture and what challenges he has had to deal with along the way. Mike also explains the Hollywood principle of dependency injection and gives his recommendations for those who are considering a migration project of their own. The interview part will be in English.
Highlights from the episode about dependency injection:
0.30 Hello and welcome.
1.04 Hej och välkomna, Simon och Tobbe försnackar på svenska och snöar in på glögg, Feuerzangbowle och andra juliga drycker.
5.47 Dagens ämne: Dependency injection!
7.44 Welcome Mikhail “Mike” Artemev, from Truecaller!
7.56 This is Mike’s job title.
8.15 This is how Mike ended up at Truecaller.
9.41 Mike tells us about his first project, which included hunting dogs.
11.01 This is how Mike ended up in Sweden.
13.31 This is Truecaller.
15.46 About Truecaller’s team structures.
17.24 Mike about Truecaller’s massive migration project from Dagger to Hilt.
18.50 These were the reasons for the migration.
22.10 What to do with old code?
23.02 The main goal of the project.
25.43 How Dagger uses the default Android components for handling dependencies.
28.41 Mike underscores the fact that it is possible to do this.
30.45 Benefits of dependency injection.
31.28 Does Hilt have a graphic interface?
33.06 Quick recap: What is dependency injection and how do you use it?
36.53 What is reflection and what do you use it for?
40.23 Does dependency injection make it more difficult to see what code has been used, where and when?
41.52 Common hurdles when using dependency injection.
42.38 Are there different types of dependency injections?
44.44 Did the Hilt and Dagger frameworks help isolate the source code?
45.30 Biggest challenges when implementing Hilt in the migration project.
47.59 Numbers of systems that had to be rewritten during the project.
49.44 Looking back on the project – was it a success?
50.01 How long did the migration take?
51.04 Will Hilt ever reach full coverage?
51.46 Mike gives his best tips on how to move from Hilt to Dagger and use dependency injection.
53.06 Thank you Mike!
53.25 Simon and Tobbe sum up the discussion på svenska.
55.04 Tack för det här året, och många, många tack till Tobbe som gjorde sin sista podd! God jul och gott nytt år!
Ta del av fler poddavsnitt

UTVECKLA
Geographic Information System med Jan Granlund, GIS-utvecklare på Consid
Podcast, UTVECKLA, om GIS – Geographic Information System – med Jan Granlund, GIS-utvecklare på Consid.

UTVECKLA
”Branding for developers” with Fred Wikman, head of strategy, at Paradigm, Consid
Podcast, UTVECKLA, about branding for developers with Fred Wikman, head of strategy, at Paradigm, Consid.

UTVECKLA
Sommarspecial av UTVECKLA
Sommarspecial av UTVECKLA-podden med programledarna Simon Zachrisson, Systemarkitekt och Tobias Dahlgren, Teknisk projektledare på Consid.

UTVECKLA
Stream lead med Gabriella Åkesson, stream lead och javautvecklare på Consid
Podd, UTVECKLA, om stream lead med Gabriella Åkesson, som är just stream lead och javautvecklare på Consid.

UTVECKLA
DevSecOps med Joakim Bajoul Kakaei, Snyk
Podd, UTVECKLA, om DevSecOps med Joakim Bajoul Kakaei, senior software engineer på Snyk.

UTVECKLA
Designsystem med Frida Engman, UX-Lead på Consid
Podd, UTVECKLA, om designsystem med Frida Engman, UX-lead på Consid i Eskilstuna

UTVECKLA
Podd om Graph QL med Stephan Lonntorp, Volvo Cars
Podd om GraphQL med Stephan Lonntorp, software engineering manager på Volvo Cars. Hör honom berätta om Volvos GraphQL-resa.

UTVECKLA
Podd om inbyggda system med Andreas Irestål
Podd om inbyggda system med Andreas Irestål, Embedded Linuxutvecklare på Axis – övervakningskameraföretaget som ser till att ingen kan snatta ostört.