Pre-pandemic, most software developers were office workers, with remote-only opportunities coming only from freelance gigs. But in 2020, things shifted. Companies understood the benefits of not having costs for renting an office, hiring people from remote locations, and rearranging their workflow to make things efficient even for a team in different time zones.
Many software developers prefer working from the comfort of their homes compared to spending hours commuting. How do their workdays differ from those who work on-site? What benefits can they enjoy with the given flexibility? And what challenges, if any, do they face?
Practicum spoke with a few software engineers that have been working remotely over the past years to answer these questions. Here’s what we’ve found out.
A day in the life of a software engineer
Often, working remotely means that you don’t have a fixed schedule, allowing you more flexibility in task planning.
When your employer is located in another time zone, your working day may start at some unconventional hours, but it may also bring new opportunities. “My typical day begins with tutoring Practicum students, having meetings, and answering a lot of questions,” says Julian Hernandez, a tutor at Practicum for the Software Engineering Bootcamp and a web developer at Meta Interactive. “I usually do that before getting down to my full-time job. I’m three hours behind my company so I only start at noon.” After finishing work, Julian usually heads to the gym.
For Dom Vidovic, a senior front-end engineer and blogger, things work differently. He gets all his fun in before sitting down to handle tasks. “I wake up in the morning, do some reading, meditate, and then work. During the day I usually go out, then come back and work again from 6 or 7-ish p.m till I go to sleep.” Dom also manages to squeeze in a workout, meals, and everything else he needs to do.
As a full-stack software engineer at Verkada, Zyad Elgohary’s schedule is a little less flexible, citing a couple of meetings to attend during the day.
“In the mornings, there’s usually some kind of meeting over Zoom,” Zyad says. “It could be like a 15-20 minute stand-up when everybody in the team talks about what they’ve been working on. After 3 p.m., there’s usually another meeting. Sometimes it’s a biweekly check-in meeting with a manager or a strategy meeting for the team. It depends on the day of the week.”
In between, Zyad does what he refers to as “actually working.” He dedicates at least three to four hours to coding and writing documentation. He also takes breaks to get food, work out, and socialize.
Benefits of remote work
Many software engineers launch their careers by doing internships and working from an office. But after a while, as Dom explains, it feels great to move to more comfortable and flexible environments and get the best of both worlds: a stable job and freedom.
“Working from home is way, way more comfortable because you don’t need to waste time commuting,” he says. “And you don’t have that feeling of coming home from work and being all worn out. Once you’re done, you want to get out of the house and hang out because you’re still full of energy.”
Now Dom enjoys the freedom of being a digital nomad and traveling around to work from various locations. Digital nomads are people who can earn money from anywhere in the world as long as there’s a broadband internet connection available. As a remote software engineer, you don’t have to be in the same state or country to be hired by most U.S.-based companies. Different time zones or foreign tax regulations might be challenging, but they can all be sorted out.
Julian admits that he has passed on some lucrative job offers in favor of a more flexible schedule that comes with remote work. “I value it so much,” he says. “And I accept the fact that I may have missed out on opportunities career-wise to have more time for my other life goals.”
Cons of remote work
“Obviously, working remotely comes with flexibility, the ability to travel and all that jazz, but working in person has lots of perks, too,” admits Zyad. “You learn loads by working closely with other people, which is so important. You also get to form great connections, and your productivity is better.”
Zyad also says that the office he used to work for felt like home. There were days when he didn’t want to go home, what with all the snacks, “collaborative” office space, and the chance to chat with your colleagues.
But here he is now, enjoying a three-monitor setup at his home office. So as a software developer, you can consider rotating between on-site and remote work to see what works best for you.
Work-life balance when working from home
Software engineers working from home insist that having a physical boundary between your work and life is good for you. “I dedicate a space at my home that I only work in, and I don’t work anywhere else,” Julian explains. “I limit this location to a working headspace, and keep my bedroom, living room, etc. for non-working mentalities.”
Zyad also believes that separating life and work helps him improve both. “I used to have my computer in my bedroom - it was terrible and I was very unproductive. So I ended up moving the whole thing to a different room. Now I wake up, wash my face and only after I’m done waking up do I go downstairs and start working.”
Programmers agree that their jobs give them much flexibility. But with great flexibility comes great responsibility — to find some kind of structure or system that will hold your working day together. And it shouldn’t be all work and no play for you either. Don’t forget to meet other people if that’s what you usually do.
Top three qualities you need when working as a remote SE
Working remotely requires developed soft skills, as they will help you cope with organizing and prioritizing things. Here are a few pointers on how to tackle your remote work environment with grace:
- Discipline. It is basically about saying “no” to distractions. You need to maintain motivation to work in a relaxed environment and stay attentive to your needs and energy level.
- Communication. You need to be attentive to your team’s aspirations. It is crucial when you don’t see each other often face-to-face. Being an attentive communicator and timely in notifying the team of any changes and circumstances you face will best help facilitate the workflow.
- Easy adjusting. Working in various time zones can be challenging and reduce effectiveness for colleagues who need to put their work on hold to wait for their peers to get back online. Sometimes you’ll need to wake up early or stay up late to connect with your team.
Think you’ve got what it takes? Check out Practicum’s Software Engineering Bootcamp! No previous tech experience is required. Learn the skills that will help you land that remote coding role today!