Programing a atmega2560 directly

I have this PCB that have only the bare minimum for a atmega2560 chip, (A couple of LEDs, some capacitors for the power) and of course the pin holes for connections. This PCB will be used along side with custom made shields specific for some job (relay module, sensor array, breakout board, etc)

To program the atmega I want to use pogo pins in a connector like this to upload my code and this is giving me some problems.

Should I solder or mount the shields?
They are semi-permanent. Once assigned to a function the shield and the chip will always be used for that. Sometimes I will need to change the shield, which should be fine either way, other times I will need to update the code on the chip.

Is it safe to update the code with components connected?

Can or should I place a jumper to disconnect the components?

Is is a good idea to left "metal contacts" connected to the input pins only to upload code or is it best to connect directly the pins when needed?

Many questions with few facts to help understand the questions...

Should I solder or mount the shields?

Only you can answer that. We have no way to know the purpose and use.

Is it safe to update the code with components connected?

Yes, if you’re using a bootloader and serial upload. If you use ISP, you need to ensure that your components do not interfere with the RST, MOSI, MISO and SCK signals during programming.

Can or should I place a jumper to disconnect the components?

What components? Specifics required for a proper answer.

Is is a good idea to left "metal contacts" connected to the input pins only to upload code or is it best to connect directly the pins when needed?

Which pins? Again, this needs to be explained. If using pogo pins, you design pcb pads to accommodate the connections. Trying to connect directly to processor pins, especially smd devices, is difficult without expensive tooling. Pogo pins are usual solution for on-board programming.

avr_fred:
Many questions with few facts to help understand the questions...

Sorry, in my head it made sense, let me try to explain

avr_fred:
Should I solder or mount the shields?

Only you can answer that. We have no way to know the purpose and use.

Can or should I place a jumper to disconnect the components?

What components? Specifics required for a proper answer.

Because I will need to update the code in the atmega chip

In these questions I want to know, is it better to just mount the shield (with header pins) and later on remove the shield to update the micro controller? or is it better to solder the shield and when an update is needed just connect the pins needed and leave all components connected?

When I say components it varies a lot. Relays, LEDs, switches, sensors. In the design I'm thinking, each shield will have a different purpose

The components will almost never change but the code could be changed on a weekly basis, that's why I need to decide before designing if the micro controller PCB will have headers or not

avr_fred:
Is it safe to update the code with components connected?

Yes, if you’re using a bootloader and serial upload. If you use ISP, you need to ensure that your components do not interfere with the RST, MOSI, MISO and SCK signals during programming.

Here is the thing, I'm still at design phase, so I could use either way. Which way is better? (safer)

avr_fred:
Is is a good idea to left "metal contacts" connected to the input pins only to upload code or is it best to connect directly the pins when needed?

Which pins? Again, this needs to be explained. If using pogo pins, you design pcb pads to accommodate the connections. Trying to connect directly to processor pins, especially smd devices, is difficult without expensive tooling. Pogo pins are usual solution for on-board programming.

Please take a look at this video How to upload code to my OLEDiUNO PCB - YouTube There you can see the uploader working.

In this question I'm asking if it is safe to leave the pins for this connector on a "easy to reach" position or if it is better to connect the required pins when needed