Despite being a Web developer for a few years, there are always features, like front-end animations (think those cool looking ones from codepen), and back-end scalability, and fail safe capabilities that I don't have the confidence of tackling. Especially when it's something I haven't done before. Giving a timeline for that is next to impossible other than making a good guess. How do you guys deal with this?
I really like Dave's response below, but I would add that in an indirect way, you should get very good and estimating your own time to learn.
By that, I mean if you are going to have to learn a new technology to complete a project (and you know this from the start) add in the time it will take you to learn that technology in your final estimation.
Gergely Polonkai
You have to believe in things that are not true. How else would they become?
I agree with Dave, with some extensions.
When I have to estimate on something I never did before, I do a bit of research. Even if I’m sitting face-to-face with the client, I ask for some time to look around the Interwebz.
If I can’t find anything similar, I will give a really long timeframe (and probably a huge load of money). If the client asks “Why?”, I break down the problem to small tasks, so they can understand my reasoning better.
However, if I add “because no-one did this before me ever”, the client usually says “we should do it immediately”.