I just started working as an application developer on the product development team a few months ago. As a new associate, my team feels that I should learn the product first prior to starting code. Here are a few reasons why I believe this is an effective approach:
You can effectively communicate with your teams.
Depending on the language, development concepts are similar in any place you work. You get the opportunity to learn a new language and a new framework as it is released but very few developers are able to effectively communicate what they are working on or learning simply because they fail to understand the product.
You can effectively develop the product when you understand it.
When developers successfully understand the product, they not only are able to better communicate with their teams, but they can work on improving the product by automating the process. As technology advances, companies are starting to learn the importance of automating parts of their process and improving the legacy code. This is a time-consuming process, however, if you learn the product first, you are able to add value quicker in the long run through strategic communication and code.
You have a better understanding of your industry.
There has always been and will be a competing product in the market. If you take time to learn the product as a developer you will have a better understanding of competing products and how they add value to the customers your products serve.
Most importantly, you understand if this is the work that drives you to come back to work everyday.
If you don't feel passionate about your product, your role isn't going to help you much in developing passion long-term. Understanding the purpose of your product and how it helps customers every single day will lay out the vision for #whyyourworkmatters.