It depends.
Например, работая в офисе можно общаться с другими программистами, обсуждать какие-то мелочи и перенимать опыт. С удаленной работой это делать сложнее, вам скорее всего будут давать более изолированные от других программистов участки работ.
С другой стороны, офисный работник может просиживать по часу-двум каждый день в дороге на работу, домой возвращаться уставшим и сил делать пет-проект и что-то читать уже нет никаких.
А удаленщик может быстро сделать свои рабочие дела и заняться самообразованием.
Во фрилансе же каждое новое задание особенное. Ты каждый раз делаешь что-то новое. А офисный программист может годами сидеть на одном проекте и никуда не иметь возможности сдвинуться.