Here is another solution... but it is using reduce.

employees
.filter(_.department == "IT")
.reduce((a, b) => if (a.age > b.age) a else b)
I suppose another option would be to apply the filter twice... once for the list of IT employees and the other to seed the foldLeft:

employees
.filter(_.department == "IT")
.foldLeft(employees.filter(_.department == "IT"smilie.head)((a, b) => if (a.age > b.age) a else b)

But these solutions are assuming there is at least one IT employee otherwise they will cause an exception.
Here is my solution:

employees
.filter(_.department == "IT")
.maxBy(_.age)

res0: Employee = Employee(Mary,32,IT)