How to become an effective remote developer