Thank you for taking the time to answer my question. I was wondering if there would be any problems booting the program if the power goes out while updating the ESP8266 firmware?
Generally you set up different partitions to store the OTA. Generally it's not possible to write to the running application as you update it.
If the flash fails, it does not affect the existing application. You can just reboot and try again.
Keeping in mind, a lot of this depends on how much flash you have.
https://github.com/espressif/ESP8266_RTOS_SDK/tree/master/examples/system/ota/simple_ota_exampleAlso, the OTA updater is not part of the boot system. It needs the tcp ip stack that is way way later. To implement OTA you generally set it up and organise a permanent thread to listen for the OTA or you can poll the OTA socket if you you are using a toy stack over the top of the RTOS, like the Arduino wrapper.
There are several Arduino wrappers for OTA systems for the 8266. They mostly work OK. For example the OTA for the Tasmota project is very reliable and uses multiple partitions with fall back so if it fails it's no big deal to just try again, not having to resort to connecting the USB up and flashing it via serial.
May I suggest, you also look at the esp32, for which there is much better support now and it's about the same price. I think the C3 is now 10c cheaper than than the 8266 in volume.