The symbol of your adruino has no footpritn assigned. See error message of the “update pcb from schematic” dialog.
You state you are a software designer. Well then abstraction should be a concept that you should know quite well.
The schematic should be an abstract view of the function of your system. Which means a switch gets an abstract symbol not one that looks like the physical part. Similarly the use of labels can massively improve readability.
You might want to read Tutorial: Introduction to PCB design with KiCad version 5.1 (Getting Started) and possibly also Hierarchical or flat schematic design, what is best for me? (How to deal with multi page schematics?) (I suspect you as a software engineer will like the hierarchical design principle as it is very similar to object-oriented design)