Q. What are the differences between a job role and an access level?
A. When setting up a project and building a project team, you first put together a list of jobs or positions that the team members are supposed to do or have. Accordingly, you create a list of job roles that correspond to the job list in Birdview in the Job Roles screen.
A job role (or simply role) consists of a few attributes, such as skills, default billing hourly rate and Internal hourly rate. When you consider a person for a job role, you naturally try to match the person's professional background and current skills with those of the role.
The very name "job role" suggests that a job role is assigned to a project member when it is assigned.
Now let's turn to access levels. An access level is a set, or more exactly 4 sub-sets (except for Administrator, who has three), of permissions at different levels: system, project and portfolio. System permissions control how you communicate with the system, project ones — with projects of which you are a member or not a member, and portfolio ones — with portfolios you are a member of.
Treat access levels as what the power that gives job roles what they can and cannot do, as they, when they are created, are only a name, a list of skills and a default hourly rate. However, when a job role is assigned to a project member an access level is assigned to it automatically, and you, granted you have enough permissions, can change or edit as you see fit.
Further reading: Access levels and job roles overviews.