I'm working on a PCB in which size is of great importance. I haven't found a good solution for getting rid of the programming headers yet for my mcu and Bluetooth module. They take a fairly large amount of room on the PCB and I already have the smallest ones available. When looking at commercial PCB's from e.g. printers or any other hardware devices, I always notice the absence of these headers. How do they solve it? What are my options for getting rid of these headers? I've looked at production programmers such as equinox ispnano but apart from costing quite a bit, this doesn't seem to solve my problem as headers are still needed. I also thought about soldering my chips onto a pcb for programming, and then take them off again and place them on the final pcb but this is pretty labor intensive. So basically I'm looking for a cheap way to eliminate the need for headers used for programming (or strongly reduce their size). Also, how is this different from how it is normally done in production? Thanks!