/dev/null is a special device file which always returns.. nothing. Not even a newline. Void.
So.. you're piping nothing into that program. Feels a bit redundant but maybe there's a reason for it? I'd Just run the program without that bit.
The &>
redirects both stdout AND stderr to the destination, which is again /dev/null. People do this to mute output but including errors. To keep errors you can just use >
instead which only includes stdout by default, allowing errors to be seen.
Then, that & on the end as you've already established is used to instantly throw that job into the background and give you your prompt again.
These are all shell-specific functions involving your program
and special device /dev/null
.
Running man bash
reveals a lot of these inner-workings in it's documentation.