OS?
Provide enough power (undervoltage causes instability).
Connect HDMI - if applicable (no cable present at boot will by default disable video output).
Connect peripheals?
edit/create in /boot
Example:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=CZ
network={
    ssid="YOURSSID"
    psk="YOURPASSWORD"
    scan_ssid=1
}
User: pi Password: raspberry
Python recomended, any language should be feasible though. Many libraries available (as usual with python https://xkcd.com/353/)
example of /etc/network/interfaces
auto wlan0
iface wlan0 inet static
    address {{ wlan_ip }}
    netmask 255.255.255.0
    wireless-channel 48
    wireless-essid crocs-raspi-net
    wireless-txpower 1
    wireless-mode ad-hoc