She whirled around with a big grin and said, “I’m so glad you are here. Let me show you something.”
Turns out Jenna had been writing test scripts with Scala to try out some theories she had about how to solve our needle in a haystack pattern detection problem. She walked me through something she called domain-specific language (DSL) and I was surprised at how similar it was to reading English. I thought even some of our business users could make sense of it.
She went on to explain how Scala can initially be written in Java style while still providing more benefits, including precise, cleaner code.
I said, “Alright Jenna, I’m intrigued. But you need to convince the team before I take this up a level for consideration.”
Her grin widened and she whirled back around to start typing furiously away.
Kevin came to see me as soon as he found out I had schedule a brown bag for Jenna’s presentation.
“She is being a snob! She should be focusing on learning how we do things here – not trying to impose her lofty ideas on us.”
“Kevin, she isn’t patronizing you or the team,” I responded. “She’s put a lot of thought into this and has some good points. Please give her a chance and come to the meeting tomorrow with an open mind.”
I could tell Kevin still wasn’t thrilled, but he eventually agreed to it.
At the brown bag meeting, I gave Jenna the floor and she walked the team through the logic of her test scripts.
The rest of the team looked intrigued but typically deferred to Kevin. And he was the first to chime in.
“Yeah, it’s simple to follow unit tests, but I did some research of my own and Scala code is actually more complex. Again, we don’t have the time to deal with this yet.”
With a nod, I encouraged Jenna to continue.
She said, “Kevin, I hear you loud and clear. But listen, it’s not a matter of complexity; it’s a matter of comprehension. We can start writing Scala with Java-like code, which all of us know, while still getting benefits of things like multi-threaded processing, immutability and improved memory usage.”
The initial heated back and forth simmered down to more intellectual curiosity as the team all asked good questions. When it was all said and done, Jenna had won them over – even Kevin.
But Bureaucracy Steps In
And after all that, however, Scala went absolutely nowhere, thanks to the company bureaucracy. Yet Jenna had gained my respect and, more important, the respect of the team.
To be clear, I am not trying to sell Scala with this story. I have never used Scala for any project.
What I’m trying to sell is the fact that some developers waste time waiting for their employer to train them on new technology or complaining they aren’t getting the training to stay current. While companies continue to cut training budgets, every developer should take the initiative to educate themselves, especially with so many free resources available on the web. When a developer takes risks like this, everyone on a team benefits.
If you hit the free eBooks and play around with new open source tools and languages on your own time, it will be your turn to be both smart and bold at the next design meeting.