Software devs can become very good at estimation if you practice it.
Where 2 hours really is 2 hours—and even a week really is a week.
I know this from experience but it’s pretty basic to see that it’s true. A senior engineer (5+ years, say) is rarely encountering fundamentally novel problems. Most everything we do we’ve done before in some form.
To get good at estimation simply track how long things take. Over (short) time you will see that work is very predicatable and you can be very precise with your estimates.
If you buy this claim that ‘engineering work takes as long as it takes’ of course you won’t take the effort to get good at estimation and of course your lack of the skill will seem to reinforce your belief.
Don’t do that. Estimation is a highly valuable and acquirable skill. Acquire it!