These past two weeks, I spent a lot of time doing creative problem solving to get rid of empty tags in the ACA electronic submission file. Last year, I was able to submit my electronic file with a bunch of empty tags but this year, the government is not allowing the empty tags. So I had to bring up my creative side to solve the problem.
There are a lot of books out now on how to be creative. I am reading one now: Let Me Out by Peter Himmelman. I read another one late last year called Unthink by Erik Wahl. I have a third one called Art Thinking by Amy Whitaker that I plan to read next soon. Apparently it is the next big thing in the business world. It is tough because most of us are taught to listen in class and learn, and then regurgitate back what we have learned. There is generally very little education on searching for the ideas or solutions on our own (or in teams). Creativity and curiosity wasn't the goal. The goal was to regurgitate back the right answer. At least, that was the way education was back when I was in school. School may be changing now, although with all of the hand wringing going on, it sounds like school hasn't changed much in the area of how students are taught. The dress code may have gotten looser, civics or economic may not be taught much, and we may have some technology in the classrooms, but the methodology of teaching probably hasn't changed much. It probably is still the teacher teach and the students regurgitate back on tests. There may not be much exploration or collaborative teamwork going on. Although, I have to say, students probably have a whole lot more materials to learn since science has progressed much further and we now have technology to contend with. It is no longer just reading, writing and math. It is now reading, writing, math, and coding. And probably some other sociological skills too.
How did I go about solving the ACA problem? For me, it's about coming up with as many ideas as possible to solve the problem. Sometimes there is a germ of an idea that, while it itself doesn't work, it kicks off a whole army of ideas. Like a domino, one idea kicks off another idea that kicks off another set of ideas until I finally either solve the problem or I wind down the idea set. If I haven't solved the problem, then I have to search for another series of ideas.
What do I do when I'm searching for ideas?
I'll usually take a short break to get my mind out of a rut - clear out my brain. Then, because I am talking about Excel and macros, I'll start Googling some words to see if they bring up an interesting approach. I'll search around for a while and try a couple of solutions. If it is near the end of day, I'll often stop and let the drive home work on me. I often get a lot of ideas driving. Sometimes a possible approach will come in the shower. When a new idea comes to me, it usually kicks off a series of ideas to try and push.
Sometimes I will do research via books. Usually these books are more useful as a learning approach rather than an idea generator but every once in a while, there will be something in the book that will kick off an idea. From there, I might Google on that idea to see if it produces a hopeful approach.
In the design world, there are a lot a books on generating ideas and one of the techniques usually mentioned is looking at other people's work for ideas. Looking at other people's work on Instagram or Behance is kind of similar to Googling a question (I'm talking about Excel and macros).
Another thing the design world talks about is the concept of play and prototyping. If you can play with your software outside of work on something totally unrelated, the play may lead you to a solution. Every once in a great while, I may come up with an idea and I will play with it in Excel to see if it works or leads to something. Playing around is actually fun.
This week the answer finally came to me during the drive home. The solution is not optimal because the macro has the potential to run for over an hour but it will get the job done. I will continue to find a better solution but at least I have one. My strategy to get around the time constraint when I'm trying to test the macro is to use a much smaller data set. That way I can quickly generate multiple tests to fine-tune the code.
If I have time, tomorrow I will post the code.