It’s in code bases all around the world, but are we getting all the value that the Dependency Injection pattern has to offer? Large dependency graphs, brittle test suites and hidden complexity have lead me to believe that we aren't. However, I think we can! In this talk we will cover when to use this pattern, how to use it and the pitfalls that we should be watching out for. We’ll also cover some alternatives to Dependency Injection, just in case you decide that it is not for you.