Cycle 4, stage 2, day 3:
I am having a hard time qualifying the day today...
A lot has been done but at the same time, things did not move as fast as I would want them to move.
My day started with a bug introduced by a refactoring made in the context of my exchange porting effort. This simple refactoring has been a very generous source of problems. I thought that I was finally done with it but the experienced glitch this morning did show that I was not over fixing what I broke with this small refactoring.
Fixing it has been very satisfying and I feel that now, I am done fixing bug due to this refactoring.... hopefully....
Beside that, I did a lot of analysis and design work only to put in place a feature that is only a prerequisite feature for an improvement idea for my latest trading strategy....
Despite the adaptative feedback loop that I have added to it yesterday, its performance has been very disappointing. It is not impossible that a small minor 'improvement" to it did in fact make its performance worse instead making it better. I have a detail in mind that I need to revisit...
That being said, the design session has been very productive. The plan to implement the new stuff has changed a bit... A better approach has emerged in my mind. I did write it down while it was fresh to not forget about it. The analysis to create the design did make me revisit code that was not so much documented to a point where I had no idea what these functions that I wrote myself are doing. This little review has been refreshing and has maybe helped me to find a small glitch...
I have a folder where I keep all my design notes and I have by far much less notes than actual code but I have a good amount of notes where I document what I do... This is very satisfying to have a question pop up in my mind about why a certain things is done the way it is and retrieve the whole rationale from my notes!
So at the end of the day, I have a very well thought design and a clear road map on how to implement stuff...
but in an ideal work, I would still have time to actually write the code.
Unfortunately, evening work is not very productive anymore... I am aging.... My best productive period has now become the morning...
but I might try to make an extra effort... I like to improve the system a bit and deploy it right away to test the enhancement during the following night...
Update:
I spoke too fast... I caught another issue related to the refactoring... Maybe it was not caused by the refactoring... It is just that my latest strategy is generating a constant stream of order creation and this is exposing bugs when the connection is lost in the middle of creating an order. Prior to this new strategy, order creation was so much a very ponctual event that the odds of happening exactly when the connection is dropped was highly improbable... This is a problem very fun to discover and fix...
I am having a hard time qualifying the day today...
A lot has been done but at the same time, things did not move as fast as I would want them to move.
My day started with a bug introduced by a refactoring made in the context of my exchange porting effort. This simple refactoring has been a very generous source of problems. I thought that I was finally done with it but the experienced glitch this morning did show that I was not over fixing what I broke with this small refactoring.
Fixing it has been very satisfying and I feel that now, I am done fixing bug due to this refactoring.... hopefully....
Beside that, I did a lot of analysis and design work only to put in place a feature that is only a prerequisite feature for an improvement idea for my latest trading strategy....
Despite the adaptative feedback loop that I have added to it yesterday, its performance has been very disappointing. It is not impossible that a small minor 'improvement" to it did in fact make its performance worse instead making it better. I have a detail in mind that I need to revisit...
That being said, the design session has been very productive. The plan to implement the new stuff has changed a bit... A better approach has emerged in my mind. I did write it down while it was fresh to not forget about it. The analysis to create the design did make me revisit code that was not so much documented to a point where I had no idea what these functions that I wrote myself are doing. This little review has been refreshing and has maybe helped me to find a small glitch...
I have a folder where I keep all my design notes and I have by far much less notes than actual code but I have a good amount of notes where I document what I do... This is very satisfying to have a question pop up in my mind about why a certain things is done the way it is and retrieve the whole rationale from my notes!
So at the end of the day, I have a very well thought design and a clear road map on how to implement stuff...
but in an ideal work, I would still have time to actually write the code.
Unfortunately, evening work is not very productive anymore... I am aging.... My best productive period has now become the morning...
but I might try to make an extra effort... I like to improve the system a bit and deploy it right away to test the enhancement during the following night...
Update:
I spoke too fast... I caught another issue related to the refactoring... Maybe it was not caused by the refactoring... It is just that my latest strategy is generating a constant stream of order creation and this is exposing bugs when the connection is lost in the middle of creating an order. Prior to this new strategy, order creation was so much a very ponctual event that the odds of happening exactly when the connection is dropped was highly improbable... This is a problem very fun to discover and fix...