The moral of my sad, cautionary tale is to stop, breathe, and think before going gently into that dark night. Our frameworks are wonderful, powerful and flexible hammers, but not all problems are nails, and clients can often make requests of us that don’t make sense. They can ask for a new page when a button will do, and as the engineers, it’s our job to step out of our own heads and see the problem for what it is, and not what existing model it can not-so-conveniently fit into. I lost sight of that today, and it cost me hours of wasted time and wasted code, and my client was more pleased with the “no name brand” solution I came up with then I can even tell you.
What software engineers really are however are problem solvers. Every day we show up at our keyboards to bravely stare the unknown right in the face, and solve our client’s problems, even the ones that don’t exist quite yet, with creative and efficient solutions. I wish that “bravery” was a skill more people associated with the job.
That sort of true in some cases, but not for speech. Recognizing speech is a hard problem. You have to overcome almost limitless challenges: bad quality microphones, background noise, reverb and echo, accent variations, and on and on. All of these issues need to be present in your training data to make sure the neural network can deal with them.