You have multiple softwares to write code and push code to your board. We recommend using either Arduino IDE or PlatformIO
# Download Arduino IDE
cd ~/Dowloads/
wget https://downloads.arduino.cc/arduino-1.8.16-linux64.tar.xz
# Extract the archive and add the binaries to /usr/local/bin/arduino
tar -xvf arduino-1.8.16-linux64.tar.xz && cd arduino-1.8.16/
sudo ./install.sh
You will need to add your user to a group in order to have the rights to communicate with the device (ESP32 or Arduino Uno). After adding yourself to the group, you need to reboot.
sudo usermod -aG dialout $(whoami)
sudo usermod -aG uucp $(whoami)