What Building Customer-Facing Applications Taught Me Beyond Full-Stack Development