I'm with Greg.
The best way to learn estimating is by first learning to track the accurate job costs.
Do motion studies to learn how to figure production. Remember when you are studying the production that your job will not run at 100% efficiency. You can get a maximum production for the given task, and then there are delays such as slow start up in the morning, restroom breaks, slow start after lunch, stopping to discuss "the plan", and any number of other reasons that work stops or even slows. Added over the course of a day, it may be nearly an hour lost.
As Greg says, everyone's cost is different, and I add everyone's production is different. You must learn to estimate what you and your crew can do with what you have for equipment. It does no good to figure out how to do it faster with bigger or newer equipment if that is not what you will be using. One problem I had was estimating the entire job based on my production. That worked fine on small jobs where I was the only one doing the work, but when you grow and add hired help to the crew, none of them work as diligently as you will, and the production shows that. You need to learn what your crew can do, and bid that way.
Learning to track work produced daily and daily cost is the best way to learn to estimate. All the fancy software in the world will not help if you do not get the two basics of cost and production figured out. It takes some extra effort to measure up what was completed daily, and then figure the cost to go with that production, but you are operating blind if you do not do it.
You could be going broke on a job, and not find out until you run out of money to complete the work. It is too late to change it by then. If you track things daily, you can see that you are falling behind in time to take steps to correct the problem before the problem sinks you.
Good luck.