How to persevere
I was given a rather difficult problem at work that had been put off for years, because there was no easy answer and the affected population was only a handful of people each year. I started it last Thursday. Built my query, and the data coming back looked reasonable. I was pleased with the results, and started my unit tests. The second unit test failed. The person in question had the wrong end date. Back to the drawing board - the subquery in my join must have been wrong. Monday morning, I worked on getting this specific unit test to pass. Figured out that I needed to change how I had structured my subquery. Worked on that, and finally the unit test passed! I opened up the query to show all people affected, and looked at the results. Everything looked great!
Except for two people, who seem to have negative passage of time between the start and end of their schooling. Now I have another unit test that I need to pass. I spoke with the Software Development manager and he had a few ideas that I started to implement but Monday closed with no appreciable growth. I knew that there was something wrong with how I was using aggregate functions and figured I could start fresh on Tuesday.
Tuesday morning, I worked on how I'm filtering on school dates (as they are stamped per semester) and focused on figuring out how to get the correct set, displayed properly. I then used the excellent enhanced Rubber Duck Debugging method and explained my issue with another co-worker. While he couldn't help as much since he's on the operations side instead of the database development side, just the act of explaining the problem to him helped me see other options instead of staring at my screen and thinking about the issue. I noted the other options I'd not considered yet and let Tuesday close, but felt good about today.
This morning, I started working on the subquery, knowing that I could start from a clear head and with what I had learned already about this issue. And within an hour, I had it cracked! No one in the result set had negative passages of time, and I was able to filter for a certain criteria set to get the results I wanted! Success!
I can now create a report with that query and then send it off to the end user.
How to persevere? Just don't quit. Take breaks. Talk with others or inanimate objects. Learn more ways to figure out a solution.
How to fail? Quit. Tell the user it's just not possible when it's really only very difficult.
Except for two people, who seem to have negative passage of time between the start and end of their schooling. Now I have another unit test that I need to pass. I spoke with the Software Development manager and he had a few ideas that I started to implement but Monday closed with no appreciable growth. I knew that there was something wrong with how I was using aggregate functions and figured I could start fresh on Tuesday.
Tuesday morning, I worked on how I'm filtering on school dates (as they are stamped per semester) and focused on figuring out how to get the correct set, displayed properly. I then used the excellent enhanced Rubber Duck Debugging method and explained my issue with another co-worker. While he couldn't help as much since he's on the operations side instead of the database development side, just the act of explaining the problem to him helped me see other options instead of staring at my screen and thinking about the issue. I noted the other options I'd not considered yet and let Tuesday close, but felt good about today.
This morning, I started working on the subquery, knowing that I could start from a clear head and with what I had learned already about this issue. And within an hour, I had it cracked! No one in the result set had negative passages of time, and I was able to filter for a certain criteria set to get the results I wanted! Success!
I can now create a report with that query and then send it off to the end user.
How to persevere? Just don't quit. Take breaks. Talk with others or inanimate objects. Learn more ways to figure out a solution.
How to fail? Quit. Tell the user it's just not possible when it's really only very difficult.
Comments
Post a Comment