I've been working at Compositional IT for a month and a half now. Before I started working here, my only experience with F# was through self-guided practice in preparation for my interview. In this blog post, I want to share some things that helped me to get ready to write F# in production.
Writing guides
One of the first tasks I picked up at Compositional IT was writing recipes for the SAFE template. Writing guides can be surprisingly helpful when beginning to work with a technology. Once you feel like you have a grasp of the thing you want to write about, you will really challenge your understanding of it by putting it in writing. When writing recipes you work through examples over and over again, so it becomes like a Kata. By the end of it you'll run through it in no time.
Another benefit of this approach is that even very early on you can produce something that is useful to others. If you are trying to get started working with an open source technology, see if you can contribute to their documentation as a way to familiarise yourself with it.
Pair programming
Pair programming is a great way to learn from senior software developers. A few weeks ago we had a hack day, a quarterly event where all developers work on a non-commercial project together. This created a great opportunity for me to pair up with another developer. Because I was in front of the keyboard following instructions from other developers for most of the day, I was way more involved than I would have been "seeing the masters at work", or trying to work hindered by beginner mistakes that a more experienced developer would point out right away. It also creates a super short feedback loop that enabled me to try out things and immediately see how a more experienced developer felt about it.
Blogs
F# has a great user base with a lot of people sharing their knowledge online. F# for Fun and Profit is Scott Walschin's personal blog and has posts ranging from elementary topics like choosing between collection functions to an exhaustive explanation of generic data types in F#. The last post on the blog is from 2021, but the content is still very valuable! Once you are comfortable with the basics of F#, Sergey Tihon's blog is a great way of staying up to date with the latest information on F#.
Starting to work with a new tech stack might seem daunting but it really does not need to be. Get your feet wet by writing some recipes, read some blogs, and take every chance you have to collaborate with others!