If a staff member's joining date on their profile is incorrect, this will be due to the dates set on their contracts.
For example here, Sienna's joining date is April 2017. If you click into her contracts, you can see that her first start date was September 2015.
However, there was a gap in her employment dates between April 2016 and April 2017. This gap means that her joining date is taken as April 2017. The joining date is the earliest date of continual service, rather than the earliest date of employment.
To change the joining date, you'll need to change the contract dates so there is no gap. You can do this by clicking into the dates on each contract to amend them. You can see more details about editing contracts here.