I can't quite tell if you're asking me, or asking whether I'd be able to answer what's changed, but I'll answer your last point.
In the first position, I was pretty fresh with version control and SPA frameworks. I've learned to not be overly optimistic in the sense that I think I can work through recurring glaring problems in code that have no obvious source and no obvious solution. I was hired on a tight deadline project, using EmberJS and Git for the first time. This is when Ember was pretty new and with bad docs. I was coming from an Angular background which also had bad docs and a high learning curve. I'd regularly run into problems that weren't visible to me, undocumented, etc.. I also didn't know how to approach these problems from a human perspective. As in, how and who do I ask for advice? This slowed development a lot. I also learned later that the framework was designed with convention over configuration in mind, but those conventions weren't clear. With Git I messed up in a lot of ways while learning to use it on a team.
The last position has mostly been a learning experience about recognizing burnout early, when there are systemic problems within a company, how to pick golden handcuffs, the importance of culture fit, and the importance of using the best tools for the job. Personally, I was perhaps overly optimistic about my personal ability to finish code on time given the environment. Otherwise, I was working in an environment that in some ways I'd compare to water torture. I've learned to recognize earlier when I won't be able to succeed long term in a place, whether it's me or the place.