Over the past three years I've built a handle full of themes. The last 12-14 months possibly has been the heaviest amount lifting in the world of Wordpress.
One thing that has saved me more time in developement, or anything I have ever done, is finding a mentor to bring me up to speed. Not having a mentor has also contributed to the considerable amount of time I've wasted. Teachers and mentor share their wisdom. Find some and work together.
All that to say, here I'm share my setup for when I work on Wordpress. I get jazzed about saving time and I wish I had found better ways to dev earlier in my career. Let's get to it.
Currently, this is what my toolbelt looks like for build and developing Wordpress themes.
I work on a Mid-2012 15 inch MacPro. Oldy but still customizable.
Sage theme boilerplate (gulp,sass)
The last two themes built, I've used Sage as a starting point. Since Gulp and SASS are already baked in, this helps get rolling much quicker.
As Roots recommends, if you are just starting with Wordpress development, you might not want to start with Sage.
For a local development environment, I use MAMP to have a local server to install Wordpress on. There is no need to push files up via FTP every time you want to see changes to your website.
Whether you are using Wordpress or not, always find a way to see your website locally. This will increase your developement speed exponentially.
WP Migrate DB Pro
Another time saver is WPMDBP (however it is best to abbreviate). With this tool you can copy the database to any location you want. Local, dev (testing server) or live, it doesn't matter.
WPMDBP will also copy uploads to any location you wish. Compared to FTPing down and up files manually, it's really a great experience! #mindBlown
Advanced Custom Fields or CMB2
When building a theme, customers want there to be editable sections, and not everything needs to go in the WYSIWYG.
ACF and CMB2 are great for building in custom fields, or meta boxes, for customer to be able to edit parts of the pages on their site.
This flexibility helps your customer have the power to edit all of the right things and none of the wrong things. Powerful indeed.
I use BitBucket to save my code using Git. Git makes it great for sharing, collaborating and keeping up with the history of your code.
If you're not familiar with Git, this can take some time to wrap your mind around.
All that to say
Find a setup that works for you. Try out tools that best fit your workflow and get to work.
Here are links for the above tools:
If you liked this setup or want to chat, get in touch with me.