You can hire contractor to modernize you kitchen or paint wall.. you need some understanding of exactly what is scope of work, what is $ cost, what is the quality, and any other constraint.
the contractor cannot just say i have no idea how long it will take. there has to be some start and end date.
why some programmer think they do not have to provide any estimate at all is perplexing. is your paycheck an infinite money stream? does your employer not have commitment to deliver something by specific date? or do you want someone else to go create estimate of how long YOU need to complete some work?
this is why tools like scrum come in. estimates not a perfect science..so break down scope of work into small and small chunks until we can say “ok…this piece take 3 days”.