research software engineer interview