What is the difference between software engineering, programming, and coding?

There is no practical difference. Software engineering is a professional term describing strong proficiency in following a systematic process of understanding requirements, working effectively with stakeholders, and developing a solution that fulfils their needs.