Imagine a sophisticated hierarchical data structure in JavaScript that models an organization's intricacies, encompassing details such as employee ID, name, position, department, and subordinates. Your task is to design a function, getEmployeesByPosition(organization, position)
( starting code is provided below ), which takes this organizational data structure as input along with a position ( e.g “Software Engineer” ) and efficiently produces an array containing information about all employees holding the given position within the organization. Your implementation should seamlessly navigate the complexity of the hierarchical data and deliver a clear and concise result. Either use JSPlayground as your environment or any online editor that you're comfortable with.
const organization = {
id: 1,
name: "Company",
type: "Organization",
employees: [