I work in a web development agency and I get paid a salary per month. My timings are flexible, not the typical 9-5. As the pay is salary based, to a certain degree overtime is expected to get projects over the line. This can vary between paid and unpaid.
Our projects are usually priced based on the complexity of the site, which takes into account weeks/months. Our basic sites have a flat cost, which more often than not don't take as long as they are priced out to be. We do however have support packages and sub-contracted work that is billed per hour.
As for what type of developer I am then I'd definitely define myself as a late sprinter. I usually start a new project off quite well then as the initial enthusiasm simmers my work rate drops considerably. As milestone/internal review deadlines come closer my work rate will increase incredibly and I'll get through everything twice as fast. Makes me wonder what it'd be like if I worked at a consistent level 🤔.
As you can probably guess I'm in my procrastination phase 😅.
Typical projects are probably the best to be charged at a fixed price. You know how much time they take, and you can also invest in automating the process. The client gets the result fast, at a predictable price. Everyone is happy.
I generally don't have any deadlines, so there is a constant struggle with maintaining my productivity high. I set goals for myself and try to engage in deep work as much as I can. But then there is inevitable slow time and the guilt is often creeping in ("I am not working as fast as I could!").
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.