At CapSci, we believe everyone has something they can offer to the collective knowledge pool. That’s why we not only welcome but encourage our employees at all levels to present on tech related topics to the whole company. As mentioned in our previous post about Agile Software Development we attempt to have Lunch and Learns monthly. Previous Lunch and Learn topics have covered a wide range of technologies and interests. Just some of the topics covered so far include: 3D-printing, Automation, Browser debugging tools, CSS, DO-278A, Docker, Requirements Development, Transformers (Machine Learning), and Visual Studio Code.
One of our most recent Lunch and Learn presentations was ‘A Kotlin Comparative with Java’. Understanding the benefits of a language or it’s similarities to other common languages helps inform future decisions on project language choice. For example, one of the benefits of Java is a that it supports cross platform deployment. The presentation covered a history of Kotlin and dived deeper with examples of how Kotlin frequently outperforms Java in terms of lines of code to accomplish the same outcome. It became clear that many of the discrepancies between the two languages seemed to be using concepts also frequently used in C#. An example of where Kotlin would be a great language choice is for those who traditionally work with C# but are in need of cross platform deployment. The presentation also covered Readability, Coroutines, and Kotlin Multiplatform.
To ensure that we are providing the right-sized solutions for our clients we are constantly evaluating tools, programming languages, and technologies. Just like normal language, programming language development does not stop. We as a company try to identify and use the programming language that best suits the problem at hand instead of trying to force a language onto a problem just because we are more familiar with it. This requires us to stay up to date and knowledgeable on a variety of choices but we feel it’s a good investment of our time.