From Words to Code: Harnessing Data for Program Synthesis from Natural Language