I'd like an "F" in chat for my effort estimations. I'm not new to making effort estimations. I often make estimations at work when people ask "how long will it take to do A, B, and C?" Most, if not all bosses, would not be satisified with "eh... a little while". They need a timeframe. Something they can work with. Thus, over the years I've grown to understand myself as both a person and as a programmer. I know my skills and my limitations. If I'm aksed "How long will it take to do A, B, and C", I'm able to respond with "20 hours over two weeks" or something to that effect. That was not the case with front end development. Previously, I had little to no contact with front end development, so most of my estimations were based off of my experience with back end development, and boy did I underestimate how uncomfortable I was with the front end of things. I figured, "hey this wouldn't take too long. I have examples from previous exercises". Sure, I factored in distractions and break times, but I did not consider how exercises and examples differed from the real deal.
I had a realatively simple method of tracking my coding time and non-coding time. I follow a pretty set schedule. I start work around the same time everyday, and I tend to keep track of time as I work. Really, estimating my work hours was just a matter of simple math. Even when I'm not working (resting for example) I keep track of how long it has been since I last worked on an assignment or a project. This is mainly to help me manage my time, but alse to keep me on schedule as without one I will most certainly loose track of time and laze around all day. I also use these times as a sort of measure for rewarding myself. "Hey! That was 3 straight hours, time for a glass of mead!" Of course, if you are underage, you should not drink. Thankfully, I was born in the 90s.
In regards to future estimations, it would be wise to factor in the effort required to learn materail I am not familiar with. It's always important to be conciously aware of how much you don't know. In this case, I should have considered wrestling with React or Next.js. It takes a lot of time to figure things out, especially if you aren't sure whether or not you have found the correct solution. I definitely underestimated the time it would take to wrangle all the indivdual components into place, but once again, all of this comes with experienec. Hence the reason why I am grateful for the kerfuffles involved with this project. In the end, I learned a lot. And that's all that really matters.
</body>