&gt; often I find unused gems they are afraid to remove them in case it actually is being used,<p>I&#x27;ve worked on code-bases of small to medium size where people were afraid to remove self-written code because nobody knew if the code is actually called somewhere. It&#x27;s not actually the gem that&#x27;s the problem - it&#x27;s being diligent. If you need a gem&#x27;s function add it as top level dependency, don&#x27;t rely on some other gem depending on it. require the code explicitly everywhere you use it. That way you can at least search your code base for it. Be equally diligent when removing code: Remove all code that only this code depended on. Other than that: Don&#x27;t be afraid to break stuff.