I am amazed by current state of development outsourcing and every day you can learn what are the new possibilities and requirements from outside world. But recently there is a trend that you not only outsource development services or some processing but also you let or even expect outsourced company to be thinking for you. I didn’t realized that before but I often tend to trust my accountant software and not checking and trusting them is just the convenience. What if your customers want you to know better? What if you have to know and they don’t want to? Who has to be the domain specialist?
We are living in times when software developer is not only a professional in his own field but also has to be omniscient and like Renaissance man you have to know about everything. Your client will and may be not able to provide domain data and you have to tell them what they need and how they need to work. You have to be the master of every field. My coworkers often make jokes that I am doing everything from development through changing locks, playing instruments and making music and doing building maintenance to feeding cows but I like to think that you have to have elementary knowledge in every field.
- Look at what you do everyday. What are your hidden specializations?
- Learn new things by trying thinking outside the box.