My team of 5 is trying to develop an efficient WordPress

My team of 5 is trying to develop an efficient WordPress workflow to save more time and also avoid catastrophic issues we've been experiencing. Up until now, everything has been done Cowboy Coding style ... everything is live and over SFTP.

That's all changing as of now.

We use WP Engine for our host currently (not that that's not changeable). Ideally, I want each dev to be able to work on a site locally and push their changes up to the staging environment on WP Engine. The problem is, you guessed it, the database. I know this has been an issue since the beginning of WordPress — Dev A & Dev B both have local dev sites. Dev A creates Custom Post Type A & Dev B creates Custom Post Type B. Both Devs create a couple of posts on their local machines, which actually take the same post IDs in wp_posts. When they push, the last Dev to push overwrites the other's changes.

But I assumed since you guys have been working with WP for so long, and since you presumably have a very large team, that maybe you've found good ways around this? I'm willing to spend money to get this workflow setup and efficient.

Here's some tools we either have or have looked at:

-MAMP
-DesktopServer
-Git
-WP Engine
-Vagrant
-VVV
-DB Migrate Pro
-Beanstalk
-GitHub