Microsoft senior software engineer jobs