Kensho Technologies
Kensho Technologies Company Culture & Values
Kensho Technologies Employee Perspectives
If you were to describe Kensho Technologies’ culture in one word, what would it be, and why?
Growth. At Kensho, we have one day a month dedicated entirely to knowledge exploration. This means you get a chance to spend all day learning about whatever topic you would like as long as you think it will help you become better at your job. For me, as a frontend software engineer, that has meant creating to-do apps in all the popular and even not-so-popular frontend frameworks, learning about all kinds of paradigms for styling and a myriad of other topics in software development that aren’t necessarily limited to the web. Those chances have been hugely beneficial to me in many instances when something I learned about on those days ends up being the perfect tool to use for a new feature request or problem in my day-to-day application development.
At other companies, getting approval to spend time learning, especially when it isn’t relevant to the current deliverables, is often a hard sell. Either your idea gets tossed into the depths of the backlog never to see the light of day again or you have to carve out some of your own weekend time to do it. I’ve felt empowered to continuously learn about new and better technologies that have in turn made their way into our better software.
What's the coolest project you've worked on recently? How did it help you grow professionally at Kensho Technologies?
The coolest project I've worked on recently is an ongoing effort to add real-time collaborative editing support to our speech-to-text application, Scribe. Real-time collaborative editing, also called multiplayer editing, has become a standard feature of internet-based applications. This is the first time in my career I've tackled collaborative editing in an application. There are a few popular algorithms out there like operational transformation and conflict-free replicated data types. However, even after wrapping your head around those already complex concepts, fitting one of those algorithms into your own application and data types is still a challenging exercise.
Working on this problem with our team has been an extremely rewarding experience for me. Solving complex problems that we know will be hugely impactful to our users always provides a lot of motivation and satisfaction. I've grown a lot as a developer through learning and applying these and related concepts.
