How to perform multiple joins onto a table and then join resulting table onto multiple columns into another table
You have would have to join twice:
SELECT
  fam.family_id
 ,fam.parent_id_1
 ,parent1.address_id AS parent_1_address_id
 ,parent1.name AS parent_1_name
 ,parent1.job_id AS parent_1_job_id
 ,fam.parent_id_2
 ,parent2.address_id AS parent_2_address_id
 ,parent2.name AS parent_2_name
 ,parent2.job_id AS parent_2_job_id
FROM
  family fam
LEFT JOIN
  person parent1
    ON parent1.person_id = fam.parent_id_1
LEFT JOIN
  person parent2
    ON parent2.person_id = fam.parent_id_2
LEFT JOIN
  job job1
    ON parent1.job_id = job1.job_id
&lt;... over and over ... &gt;

You can use a common table expression to wrap some of the identical code together, but it's the same steps ultimately:
WITH person_detail AS
(
  SELECT
    person.person_id
   ,person.name
   ,&lt;job columns&gt;
   ,&lt;address columns&gt;
  FROM
    person person
  LEFT JOIN
    job job
      ON job.job_id = person.job_id
  LEFT JOIN
    address address
     ON address.address_id = person.address_id
)
SELECT
  fam.family_id
 ,fam.parent_id_1
 ,&lt;parent_1 columns&gt;
 ,fam.parent_id_2
 ,&lt;parent_2 columns&gt;
FROM
  family fam
LEFT JOIN
  person_detail parent1
    ON parent1.person_id = fam.parent_id_1
LEFT JOIN
  person_detail parent2
    ON parent2.person_id = fam.parent_id_2