How do you trigger snippets and code completion?

What are the gurus’ best practices for using both snippets and code completion? As in – when I type a few letters and a bunch of snippets and completions both appear in the dropdown list, exactly what should the behavior of that list be?

Tab completion for first entry in the list? Tab completion for first snippet in the list (which may not be the first entry)? Navigate with <c-j>, <c-k>? Etc. etc.

There are various suggestions here, but I’m curious what the pros at Upcase have settled on.