It’s been a bit quiet here as I’ve spent the last few days banging my head against the table trying to grasp how I was going to replace part of the existing platform’s functionality. Today, in preparation for and during a meeting about another aspect of the production jobs running on this platform, it dawned on me that this piece was much more manageable than the one I was just working on.
By way of review, the application that I’m working on replacing has three main jobs that run:
- Classification of a single “lookup key” (label) to each client’s sku hierarchical classification.
- Population of key/value pairs indicating the standardized form of a finite set of “attributes” (e.g. “Style_type”: “short sleeve”, when the text provided contains “S/S”)
- Classification of a single “context” given a set of phrases provided from our dynamic content management tool.
Building out a POC for the first (and most utilized) job was surprisingly easy. The basis of which I’m using supervised machine learning, trained on the data we already have and building out an infrastructure for othe developers to maintain the classifiers over time. When I began to delve into the second job, I ran up against a number of issues.
- Exporting data from the application to retain the lexical “knowledge” we’ve put into the system
- Dealing with the fact that the data is exported in different formats
- One of the documents being XML and not really having the strongest grasp on what each of the XML tags represented
- Taking a minor detour into graph databases (Neo4j) to potentially mimic the same hierarchical matching that the application does
To my credit, I have a better grasp of the data I’ve pulled out of the source system. However, that still leaves me with the issue of re-structuring the data I’ve extracted and putting it back into a system I can use to implement the matching / standardization portion. At this point, I was getting a bit stressed out.
Only after the meeting this mornig, I was reminded that it’s good to step away from problems every now and then.
The meeting was actually pretty helpful and informative for me. Not that I had spent a lot of time thinking about the third job, I was kind of dreading diving into it – “Oh geez, if this last one was so complicated, what makes me think I’ll be able to figure out this one”. But you know what? It’s actually pretty straightforward. Though I don’t have a POC yet, I do have a very concrete idea in my head of how it can be implmented. And not only that, I feel more energized to go back to the second job and try and rethink how I’m approaching that problem, or break it up into smaller chunks for me to manage.
I think this acts as a reminder of how important self talk is. I can easily corner myself into thinking I can’t do something if I tell myself I can’t. That is not to say something won’t be hard or take a lot of time. But what walls am I putting up for myself that don’t need to be there? Maybe the solution requires gettting a lot of help from another coworker. Maybe the solution involves taking an online course to get acquainted with the subject matter. Either way, there is an infinite list of things that can potentially block me from accomplishing my goal – ain’t nobody got time for that – so, maybe I should be focusing on what CAN be done.