That should work. You can also take the “first” matching page to avoid looping.
{{ range $authorName := .Param "authors" }}
{{ $authorPage := index (where site.RegularPages "Params.name" $authorName) 0 }}
{{ $authorPage.Param "job_title" }}
{{ end }}
As an alternative, you could also try defining a taxonomy for authors and defining parameters for each one within the taxonomies page (or data file). That way you also generate a taxonomy listing page for all authors (ordered by number of articles for example), and taxonomy term page for each author (showing all articles). See here and here.
Just treat authors like tags basically, but define a page for each author in content/authors/author-name/_index.md with front-matter and optional content.