Как научится давать сроки по проекту?
Прикидываешь.
И умножаешь на 2. Это и будет реальный срок.
О том, что разработчики занижают сроки работ - замечено еще лет 40 назадФ. Брукс. Мифический человеко-месяц
Я когда даю оценку на back, обычно понимаю по тз, сколько времени нужно что-бы сделать определенный пункт. Если есть сомнения, просто доплюсовываю несколько часов. 
+ после полной оценки еще могу докинуть несколько, что бы прям верочка)
А по ходу проекта, если ты сделаешь на несколько или прям на много часов быстрее, все будут только и рады. Будет жопа? Тогда ты славно себя обезопасил. Тут главное не боятся выставлять больше времени, так как впервую очередь это твои нервы и твое здоровье