8 Tips to Become an Effective Remote Developer
In this age of connectivity, working remotely has become the dream of many. Being able to work with the world’s top companies regardless of your location is a benefit a lot of developers find more suitable for their lifestyle. Going remote also lets you gain back control of your time by eliminating the daily commute and even establishing a schedule that works to your preferences.
As a remote developer, it’s not unusual for employers to expect little to no hand-holding in getting things done. And, sure, you feel comfortable with your skill-set; but due to the lack of physical interaction with other members of your team, it could become hard for you to get the support a traditional team structure naturally gets. Being around other developers is one way of of learning new things, but how do you continue to improve when you’re not physically surrounded by a team you can easily bounce ideas off?
For you to evolve as a developer, you need to be a self-starter and make it a point to keep yourself active and in constant state of learning. Here are some ways you can do it.
Take your job seriously
Working remotely does not mean you’ve “made it”. It also doesn’t mean that just because you don’t have someone supervising your every move, you are free to slack off as you wish. Even though you work by yourself, you should strive to be the best developer you can be. A hard-working attitude will make your remote employer see that you have the skills and mindset to do the job. Thus, they will be more confident to invest in you.
Mind the details of your work even when there’s no one closely breathing behind your neck. When you have to fix a bug; don’t just solve the immediate issue. Instead, take a step back first, then look into the bug’s origins: What caused it? How long has the bug been there? How much does it affect the project? Having an analytical approach will help you gain priceless insights into a project’s foundations even out of the more seemingly innocuous bugs.
Champion a feedback-friendly environment
Receiving helpful information about your performance is key in your improvement as a professional. It will help you improve your programming skills as well as the way you communicate issues with others. And when you open yourself to the team’s criticism of your work, you’ll gain a clear insight into the things you do that other developers might find uncertain.
Encourage a friendly environment where constructive criticism is welcomed. Be proactive in receiving and giving feedback. And when you are providing feedback, always remember: the goal is to challenge your peers to be better at their jobs, and not to deliberately offend them.
Hold video conferences prepared
Teams should hold periodic sessions where each person shares their opinions, learnings, problems, and important findings about the project. The idea is for everyone be aware of all of the points that will be discussed during the feedback sessions a few days in advance, so that their opinion can be as real and productive as possible. Then, on the established date, find a spot where you will be visibly seen and clearly heard during the video conference (which means a stable internet connection, too). Aside from verbally saying your message, communication is also about body language, so making sure that the team can appreciate each other’s tone and body language while holding the feedback session will help establish better understanding.
Encourage code reviews
When you are working on a code base shared across other developers, it’s important to establish guidelines which dictate the project’s structure. And by establishing formal code reviews, the team ensures everyone maintains top-notch code quality while being mindful of the established guidelines. Opening yourself to your peers’ criticism can be considered an integral part of learning the intricacies of programming.
When reviewing code:
- Understand what problem the code trying to solve.
- Ensure that the code provides a valid solution to the problem.
- Validate the team’s established guidelines. There are countless ways of solving a problem, and any solution is valid as long as it respects the project’s guidelines.
- Analyze if the code is easy to collaborate with. A block of code that is easy to read is better than a single line of technically confusing code.
- If you think there is a more favourable solution, provide proof on why your solution is optimal. Then have the team determine if your proposal should be used. A proof can be a clear explanation, an article, a blog post from an authority, a section in the technical documentation, a unit test, or even a benchmark test between solutions.
- Leave out any ideas you have that do not relate to the original problem. Code reviews are not the place to share improvements on things that are not related to the problem at hand. Start another email thread or do it on a different task.
When your code is being reviewed:
- Be prepared to demonstrate why your solution is optimal.
- Take into consideration everyone’s opinion and reply to every comment.
- If a different solution is presented to you, be open to suggestions but always keep in mind what the original problem is.
- If there’s a difference between you and a reviewer, ask for the opinion of other unbiased developers.
- “See what you’re doing wrong, laugh at it, change and do better.” — Spencer Johnson.
The only tool you need is to have a solid version control system that provides an easy to use interface. GitHub is the most popular code hosting site online and it also makes coding reviews more conversational.
Ask an expert to guide you
A lot of developers will tell you that the best way to learn programming is through pair programming and mentorship. Which makes sense because having some form of established partnership that can guide you throughout the development process is better than having no one to rely on. Especially if it’s an expert guiding you. And we know that in programming, many problems have already been solved by more experienced programmers and they have the right insights to solve these problems. Find a mentor you trust, whether on your own personal network or through platforms like Codementor, where you can have an expert look at your code or help you get unstuck if you face difficult challenges. These experts can help you maximize your knowledge by teaching you the solution to problems they may already have encountered in the past. Of course, it’s always good to do research on your own, but once you’ve done your part, seek validation to your conclusions by asking an expert for help.
Learn from industry leaders
When a software application is made, there are many decisions taken when picking the development stack that’s right for the job. Over time, new tools come out that are, perhaps, better than the ones already implemented. Every company wants to be efficient but it isn’t very practical for most companies, especially small businesses, to chase after every new trend that comes out. Despite being tied to a given technology, that doesn’t mean you can’t learn new languages and tools on your own.
Social media and online communities are great ways to follow industry leaders and keep track of your industry’s most important trends. These community-vetted leaders take the guesswork out of figuring out what you should pay attention to next within your area of expertise. Here are some industry leaders that I personally follow, and learn a lot of new information from.
Connect with programmers in a community
When you join a programming community, you are filling the void of not having nearby peers from which you can casually learn new things by mere proximity. You could also learn about new things which you wouldn’t normally get into by yourself. But more importantly, you have the opportunity to make a name for yourself by sharing what you’re already good at, which other people could also be interested in.
If you’re unsure where to find nearby communities, Meetup.com is a great service specifically geared at managing “meetups”.
To become a better software developer you need to constantly challenge yourself. The key to working remotely is for you to be desirable enough for companies to hire despite the distance or time difference. Stay on top of your technical skills and establish an efficient work discipline; that’s how you’ll become an effective remote developer.
“To improve is to change; to be perfect is to change often.” -Winston Churchill.
Originally published at www.codementor.io.