Node MCU uploading programs via Wifi

I would like to ask if it is possible to upload Arduino code onto Node MCU ESP8266 using wireless connection. If it is, could someone explain how it works and what do we need to make it work. Thanks in advance.