It looks like your issue is the line
$this->db->where('id', $id);
You don't seem to be defining (or passing) $id in the edit_job in your model meaning it doesn't know what entry to update.
Give this a try
public function edit_job($obj)
{
//allows client to edit/update his job details
$id = $obj['id'];
$data = array
(
'title' => $obj['title'],
'description' => $obj['description'],
'start_date' => date("Y-m-d", strtotime($obj['start_date'])),
'category_id' => $obj['category_id']
);
$this->db->where('id', $id);
$this->db->update('job', $data);
}