There are many solutions to this problem. The 2 easier ones that come to mind...
Have a 3rd copy of everything on your Mac. More backups never hurt. Run an rsync operation via script whenever plugging in to either environment. This may require the purchase of an additional drive.
Find a backup solution that suits your needs. It will ideally be able to perform full backups and differentials. You will first need to ensure both drives are identical, the easiest way is to bring your home hard drive into work one day and get them both in sync. Once they are in sync, make a full backup with your software of either one of the drives. You can then perform differentials to get the delta changes since the last full backup, and restore in the other location. Once done working in the other location, perform another differential backup comparing to your last full backup.
The caveat with #2 is that it can get complicated remembering where the last backups were done, and the size of the differentials will always be getting bigger. Once in a while you could perform another full backup to decrease the differential size, but this type of system can get very complicated. You may want to consider making a small folder of "active" work, as I doubt you need the full 2TB or so of data every day, and sync this to your laptop.
Other solutions include synchronization with online file storage services, but this may not be realistic if you have a small bandwidth cap. I'm not aware of any specific software solution that is tailored to your situation, however ifferential backup systems take care of this with ease.