Automatically change field when another field value is selected I have a content type called Jobs.

This include a field contact which is user reference.

I have another content type called Job application.

This includes a node reference based on Jobs and field contact which is user reference.

I want when a user selects a job in the node reference select list on the job application form to automatically change the contact field in that form which the value that exists in the contact field for the relevant job selected.

Example:
Job: Educator
contact: Michael

On Job application upon selected the job "educator" the user reference field should automatically take the value Michael.

Any ideas on how to solve this? Would Rules work and if so how? If through programming, is there a module that allows for injecting code for content types?

Preferably I am looking for a solution that does not involve programming.
This sounds like a bad case of data de-normalization. You shouldn't have a "Contact" field on your "Job application" content type if it's simply going to duplicate whatever is already in the "Job" content type.

If you're simply wanting to be able to see who the contact is for a given application, use the "Rendered entity" formatter for the job reference field on the application content type. (I'm assuming you're using the Entity Reference module?) In the formatter settings, choose a view mode that only displays the contents of the Contact field on the job node.

This way, if the contact ever changes for the job, it'll live-update across all job applications.