Shane Kim announces retirement from Microsoft