Immutable employee class
Your Employee is frozen in time; they can never get any older!

Age should be calculated from date-of-birth and “today”, not stored in an immutable field. 



The getCompanies() method could be written simply as:

return new ArrayList&lt;&gt;(this.companies);


Or perhaps:

return Collections.unmodifiableList(this.companies);