Optimising Language Models for Downstream Tasks: A Post-Training Perspective