Hesitant to embrace a new stack
I am an extremely open and adaptable person and I am willing to give anything a try at least once. I was hesitant to join a .Net shop. Or even a statically compiled language shop. I toyed with some of the systems and I was very comfortable using imperative programming and objects when I needed them. In general I struggled to understand why I needed to really use an object in my language. However, to move my career on I was willing to learn whatever I needed to be successful in my next position. When I joined the Veterans United Home Loans software development team the culture of the company helped me to adapt to the shift in tech stack. After some time working in this stack I grew to learn most of the problems, challenges, and strengths of the platform were not much different than in the onprem linux or cloud based linux environment that I was accustomed to.
A New Language
F# is amazing for a pragmatist. Types are inferred! I always struggled to understand, why do I need to be so explicit about the types of everything? Isn't this just so much to type all the time? It's just baked in. F# is multi paradigm, if you need objects bam you have them, functional sure, imperative why not? While I do not have any F# in production yet I am very happy with where F# is going and where it fits in the overall ecosystem. MS is going full steam opensource and crossplatform. The FSharp Foundation is an excellent warm and welcoming community.
What excites me most about sharing F# is that the barrier to entry for a full on functional programming language is very low. Looking at software from a lens of quality we can learn a lot from functional programming in how our applications are architected to avoid errors related to state.
I will be presenting an F# Demo to my group of Software Developers at Veterans United Home Loans.
If you're interested in Veterans United Home Loans check us out here