Learning the entire Drupal API is an insurmountable task. Referencing it any time you think you might need to is a best practice. Don't try to combat a series of programming tasks with brute force coding skillz. Instead, any time you feel that you're writing more functions than normal, stop and consult the core API docs for a potential way around your problem. If you are working with contrib modules, it might be helpful to browse the contrib module code.
Let's face it: you're smart, but the odds are awfully good that someone else has faced the problem you're facing and written a solution into an API. You might just need a single function, or you might need a series of functions, but using the API will help you accomplish what you need in a future-proof way.