• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
Remote Java Dev

Remote Java Dev

Remote Java Dev

  • Blog
  • Archive
  • About
  • Contact

Remote

Going Remote Again

March 1, 2020 by RJD

Going Remote Again

I’m happy to report I will be going remote again in a few months time. As previously discussed here, I’ve been back in-office for the past several months at a new client. 

This time going remote is different though. Different because my family and I will be moving from St. Paul, MN to the Kingdom of Tonga. Tonga is my wife’s home country and the place where I served as Peace Corps Volunteer over a decade ago.

Remote from Tonga in 2011 & 2015

Going remote again has become much easier than it was before. Back in 2011, I had my first experience working remotely from Tonga for an American company. Amazingly, even then it was doable, though a bit more challenging than today.

This experience was covered in greater detail in my post, Working Remotely from the South Pacific. The biggest improvement has been Tonga’s connecting to the Southern Cross fiber optic cable network a few years ago. This superseded the geostationary satellite internet connectivity that was previously relied upon.

In 2011 and again in 2015, I worked remotely from Tonga for months at a time. These coincided with working vacations back to the Islands to visit my wife’s family. When you travel 7,000 miles from St. Paul, MN to Tonga, you want to stay awhile and we’ve been fortunate enough to do that multiple times.

Remote from the St. Paul Area

I’ve also worked remotely from my current home here in St. Paul for a client in the Twin Cities area. This is becoming far more common, especially given how distributed most companies are these days. 

We had team members on this project working remotely from the Twin Cities, greater Minnesota, Maine, Texas, California, India, and the Philippines. This is becoming the norm. 

If you’re not working in a startup, you’re almost certainly working with a distributed team. And distributed is just a code word for remote. So it really doesn’t matter much anymore if your team member is in India, England, or in a neighboring suburb. 

While scheduling meetings can be harder these days when dealing with multiple time zones, this is often a net gain. It’s a benefit because most enterprises have too many fruitless meetings. So creating a little more friction to discourage this behavior is a good thing.

Anecdotally, I can say the highest performing team I’ve ever been a part of was a remote team. This team made substantial use of Asynchronous Communication. I’m a firm believer that having to write down our thoughts improves the quality of our communication.

Remote from Tonga in 2020

The plan is to move to Tonga in June of this year or in about 3 months time as of this writing. This could certainly change slightly due to selling our home or other move complications. It turns out moving across the planet long-term can be a bit complicated, who knew!

Fortunately enough, my current client is happy to keep me on after I relocate. Even the idea of working from the South Pacific was not a significant issue. Which makes sense, as our team is already spread out over the US, Europe, and India right now.

After the initial headaches of getting set up in a new location are done, I’m extremely happy about going remote again. And this time for the long term. I must admit, once you get a good taste of working remotely, it’s very hard to go back to the in-office madness.

The Benefits of Remote

Chief among the benefits of remote work I’m looking forward to are higher productivity and better quality of life. While there are many more, these alone are good enough reasons for anybody to travel down this path. Note especially that these benefits ultimately mean we deliver more value to an employer or client.

This is something that I feel often gets lost in the remote work discussion. Or at least it’s not emphasized to the degree that it should be. That is, remote work often benefits the company even more than the remote worker.

Fundamentally, remote work aligns incentives. It aligns the incentives of the worker more closely with that of the employer. Particularly during this moment in time where remote work is not yet the dominant paradigm. 

Remote workers are far more likely to outperform their in-office peers. You’d be hard-pressed to find a remote worker who doesn’t highly value the flexibility she enjoys. Add this to the productivity gains to be realized from controlling her own work environment. 

These both combine to make remote workers much more likely to provide extra value to their employers for no additional financial compensation. It sure sounds like a win-win situation to me. Companies receive more value for their money and workers enjoy better quality of life.

Filed Under: Remote

Documentation Rot

February 16, 2020 by RJD

Documentation Rot

Enterprise development teams have a bad case of documentation rot. Maybe not all, but the places I’ve worked that had a strong in-office culture sure did. In contrast, working remotely organically yields better documentation practices in my experience.

It makes perfect sense when you think about it. Remote workers are generally better at asynchronous communication. They also know the value of good documentation as they can’t just yell over a cube wall to get answers. This alone has tremendous value in terms of productivity.

In-Office Documentation

I’m pretty sure everyone has had this experience. You start at a new client or employer and need to set up your dev environment. So you ask the nearest Dev about documentation to accomplish this and get that familiar apologetic look. She says to check the team Wiki and let her know WHEN you hit a roadblock.

The Wiki was last updated by “Deleted” in 2013. They also no longer use Apache Ant, Ivy, or Lucene. At least it correctly tells you to download a JDK, though not Java 6 anymore, thankfully.

And so you begin the painful first week in-office by stumbling through an obstacle course. The best of us will update the team Wiki with the latest information so the next poor soul doesn’t suffer the same fate.

However, in-office environments are not conducive to this. As most problem solving is done verbally in person, which makes it far more difficult to capture for posterity.

This of course is just to get your dev environment up and running. You’ll have to repeat this process in order to perform any number of useful tasks. That is, finding sparse to no documentation available and leaning on in-person collaboration to learn and accomplish the tasks. 

Therein lies the biggest problem with in-office dev team cultures. Too much tribal knowledge lives in the heads of the development team and not enough lives on a durable medium in the form of accurate documentation.

In-office work encourages this manner of work, especially in these days of Agile, which I’d contend is suboptimal in many instances. In person, synchronous communication certainly has its time and place, but it is far over-utilized due mostly to inertia.

Good Documentation is a Company Asset

Any good company has a collection of processes to deliver a valuable outcome to its customers. These processes are a valuable asset. Imagine if every time you went to your favorite Italian restaurant and the chef decided to make your lasagna with a completely new recipe. You’d be annoyed because it would taste differently every time.

Good documentation yields a predictable and repeatable result. This allows us to iteratively improve upon the process. Others can perform the process themselves and perhaps find improvements that we might have missed.

In the development world, good documentation means greater self-sufficiency. We work with a lot of incredibly smart people in this industry. And documenting well allows us a much greater ability to evaluate the efficacy of any given process.

This documentation then becomes a valuable company asset. It becomes easier to onboard new developers.

New developers become productive far more quickly when team practices are well codified. And perhaps most importantly, processes can be improved upon far more easily when they are clearly written.

Remote Developers Do It Better

I’ve found documentation rot is much easier to avoid when working in a remote team. We simply must document well given the context in which we work. 

I believe our reliance on good asynchronous communication practices tends to yield superior results. It’s imperative that we’re more thoughtful and deliberate in how we communicate in a remote environment. 

Therefore the quality of our communications tends to be higher and also gives us a huge head start when creating good documentation. Often it’s simply a matter of taking things we’ve already written in chat or an email and editing them to put on a team Wiki. 

Contrast this with an in-office environment where you’ll often create documentation from scratch as the process you’re covering has only been relayed to you verbally. This is added friction that often means developers just throw up their hands and leave things undocumented. The tribal knowledge remains tribal and the landmines remain for the next unlucky developer who joins the team.

Summary

Documentation rot is a scourge upon development teams. Especially within the in-office culture which is far too conducive to unhygienic documentation practices.

The in-office work environment tends to rely far too heavily on synchronous, in-person communication. As a result, too much tribal knowledge ends up in the heads of the development team and is rarely codified and well maintained in a Wiki.

Good documentation is a valuable company asset. It allows processes to be continually reviewed and improved upon. Developers can be far more self-sufficient and ultimately more productive when they maintain and have access to quality documentation.

Experienced remote developers are skilled in asynchronous communication. The remote context prioritizes aptitude in this area and gives us a leg up on our in-office counterparts. Thoughtful asynchronous communications tend to easily translate to durable documentation on a dev team Wiki.

Filed Under: Communication, Remote

Work Remotely to Stay Healthy

February 9, 2020 by RJD

Work Remotely to Stay Healthy

Tell me it hasn’t crossed your mind once or twice that you’d rather work remotely to stay healthy. Especially when half the office is hacking and coughing and you’re practically bathing in hand sanitizer. All the while knowing that no matter how careful you are, there’s no way you can avoid the surplus of germs floating around the office.

It’s a stressful situation. And it’s one that is guaranteed to repeat itself multiple times throughout the year. As if you didn’t have enough to worry about with wrangling code and balancing a host of other responsibilities while working in the Enterprise.

The Coronavirus

The recent outbreak of the novel coronavirus is extremely alarming. Hundreds of millions of people in China have been essentially quarantined and countless airlines are cancelling flights to the country. In short, this is serious business.

The reality of our increasingly connected world is there are weaker boundaries than there used to be. A pestilence such as the coronavirus can travel to all corners of the globe before we even realize there’s a problem.

Joseph Norman, Yaneer Bar-Yam, and Nassim Nicholas Taleb wrote a highly insightful paper entitled Systemic Risk of Pandemic via Novel Pathogens – Coronavirus: A Note. I highly recommend reading it, it’s brief. It highlights our increasing vulnerability to pandemics and suggests we strengthen our ability to decouple at the community level as one example in order to mitigate risk.

The Office Crud

A much more common plight is the office crud. It may be less terrifying than the coronavirus, but you deal with this one every year while working in-office. Working in-office is already inferior in many respects. And when you add in the health implications, it’s a wonder it’s still the norm.

It’s almost like clockwork when Fall rolls around. The office crud starts rearing its ugly head and before you know it, half your coworkers are filling the office with viruses and bacteria. There’s no way to protect yourself when you are forced to cohabit the same working space.

There is a solution, though. And it’s already common practice even within in-office work cultures. You just work from home when the crud catches up to you! Of course usually by then it’s too late and then the crud has already spread to you and many others in the office.

If only there were a better way to avoid the crud in the first place…

Work From Home

We should just work from home, of course! Maybe then we wouldn’t catch the crud in the first place. We’re always going to pick up some nasty bugs here and there, but we don’t need to put ourselves in an in-office petri dish to make things worse.

This is yet another great reason to work remotely on top of the many already covered here in this blog. If I had to sum up in a few words why I’m such a strong advocate for remote work it would be health and productivity. This includes both mental and physical health.

It’s not surprising that one of the responses to the coronavirus outbreak is the following, Coronavirus Forces World’s Largest Work-From-Home Experiment. Imagine if the coronavirus was rampant in your community, assuming it isn’t already. Would you dare go into an office with 100 or 1000 other people? No way!

If there is any silver lining to this horrible pandemic it may be that it will help us avoid such a widespread outbreak in the future. We are more connected now than ever before so it is vital that we also consider our increased risks as a result of this. 

Working remotely is one way we can effectively decouple. We can and should be fully involved within the communities in which we live, but there is no longer any good reason for us to commute long distances for our work. 

As Java Developers and Consultants, we can do our work better from a location of our choosing. One where we can work remotely to stay healthy and be more productive too.

Summary

We are more susceptible to illness when working in-office. There are the regular, annual illnesses that make the rounds and then there are black swan illnesses. Coronavirus is just such a black swan event.

Our world is more connected now than ever before. Therefore it is important for us to be mindful of the added risks that accompany this new reality.

Decreasing our exposure surface area by working remotely is protectant. While it’s not complete protection, it does allow us to mitigate risks to our health.

Filed Under: Remote

The Hybrid Meeting

December 15, 2019 by RJD

The Hybrid Meeting

It seems to be the norm these days. The hybrid meeting where some people are in an office and some are remote. In fact, over the last decade of working in the Enterprise, it’s hard to recall any regular meetings where all participants were in the same physical location.

The technologies that enable the hybrid meeting have improved dramatically in recent years. Yet I’ve noticed a rather curious irony in how these meetings generally play out. One that flies in the face of what has been “conventional wisdom” when it comes to employee engagement.

Meeting Technologies

If you’ve been in the Enterprise world for any length of time you’ve no doubt used a wide array of meeting tech. Starting with the plain old phone-based conference call and extending to modern video conferencing software.

Over the years I’ve had the pleasure and displeasure of using Cisco Webex, GoToMeeting, Skype, Skype for Business, Microsoft Teams, Lifesize, Slack, and Zoom. I’ve probably forgotten several others too. In general they seem to be improving over time.

Not surprisingly, the most reliable is still the plain old audio-only conference call. Of course there are a lot fewer bits to move around when it comes to audio than video. Video conferencing is always vulnerable to one bad network connection spoiling the experience.

Maybe in the future we’ll have VR headsets with which to conduct our meetings. Then we can all pretend we’re sitting around a table on top of Mt. Everest while discussing the latest TPS Reports. 

The Irony

I’ve noticed a curious trend over the past several years when it comes to hybrid meetings. That is, the in-office network connection is often the worst of the lot. In other words, meeting participants may be connecting from all over the globe, yet the in-office internet connection is the choppiest.

We’ve reached a point where our home internet connections are often much faster than at the office. I know this has been true for me personally at every place I’ve worked for at least the past decade. 

At one client we routinely have people connecting to the meeting from the UK, India, North Carolina, and remotely in the MSP area as well as the company’s corporate office near St. Paul, MN. When I work remotely, I can see and hear everyone around the world perfectly…except those at the corporate office where team members gather in a conference room around a laptop. 

Tell me again why it makes any sense to compel people to trudge into a specific location where the equipment and environment will be worse than you have at home.

Body Language Tells All

Compare the body language of in-office meeting participants to those working remotely and the difference is dramatic. One group is generally engaged and attentive. The other can’t wait to bolt for the door.

The in-office folks of course are the ones who can’t wait for the thing to be over. Their body language screams “get me out of here!” Arms crossed, feet pointing towards the door, pulling out their cell phones every minute to sneak in a quick 15 second scroll escape. 

Then there are the remote participants. These are the ones who are actively engaged in the conversation and generally trying to make the meeting a productive endeavor. 

This makes sense. Remote workers are conscious of being thought of as “out of sight out of mind.” And so when the opportunity comes via meetings to be seen and heard, remote workers naturally want to make the most of the opportunity.

Whereas in-office workers, developers in particular, tend to view meetings more as intrusions. At least the type of meeting common in the corporate IT world, and I can hardly blame them having attended a fair number of them over the years.

Summary

The hybrid meeting, where some participants are in-office and some are remote, is prevalent in today’s corporate world. In all likelihood it is the most common type of meeting.

Meeting technology has advanced over the years. Though the biggest improvement to the experience has mostly come from better internet speed and reliability.

This advancement has led to many people having better internet connections at home than they do at their company’s office. As home internet connections have improved faster than their corporate counterparts. 

Ironically this has led to remote workers having a much better meeting experience than participants who are in-office.

Body language often reflects this reality. In-office meeting participants seemingly can’t wait for the meeting to end, while remote workers tend to be more engaged.

Filed Under: Remote

The In-Office Developer’s Biggest Curse

December 8, 2019 by RJD

The In-Office Developer's Biggest Curse

“Hey Peter…what’s happening?”

The in-office developer’s biggest curse is what’s happening. The thing torpedoes developer productivity. The thing that causes missed deadlines.

I call it the “drop-in.” The act of someone stopping by your in-office desk, uninvited, while you are working. Immortalized in the film, Office Space, the drop-in has been the bane of the in-office developer’s existence for far too long.

Endemic to In-Office Life

The drop-in is endemic to in-office life. For many years, in-office work has been the default so some of its lesser “features” have just been accepted. The rise of remote work is changing this.

Now we have a legitimate alternative to in-office work and its many drawbacks. Software development just happens to be an occupation where remote work not only makes sense, but I’d contend is usually more optimal than being in-office. 

Ours is knowledge work and as such we need to think deeply on a regular basis. Constructing mental models and reasoning about the complex systems we deal with requires extreme levels of concentration. 

We can do this far better when we’re in control of our working environment. And we’re far more in control of our work environment when we work remotely. 

Working in-office inevitably subjects us to more distractions, drop-ins being chief among them. While it’s nice to see and chat with our coworkers, ultimately our work can usually be done more effectively remotely.

Concentration Killer

If you agree with last week’s post about the detriments of task switching this will come as no surprise. Any time someone drops by your desk with a request, it’s going to break your concentration. Along with causing your mind to switch focus from the task at hand to whatever the requester wants to talk about.

Flow state is hard enough to achieve. Trying to do so with a parade of people stopping by to chat can make it downright impossible. 

Noise-cancelling headphones can block out some of the environmental din. However, they are no match for a drop-in towards whom you are obligated to divert your attention. The inevitable loss in concentration leads to a decline in productivity.

Productivity Decline

Tasks that should take 2 hours start to take 4 or more with the constant interruptions. Sprints deliver fewer features and bug fixes. The knock-on effects of this kind of environment permeate the entire development team’s productivity.

A team where drop-ins are the norm can also be incredibly demotivating. We developers tend to hate inefficiencies. And while we may genuinely like and respect our coworkers, it’s hard to avoid frustration. Especially when we’re trying to solve a difficult problem and get interrupted 5 different times in the span of an hour.

It often feels like we’re trying to do our jobs well and being actively prevented from doing so. You can’t prioritize your time when anyone can stop by and derail you onto some other task. 

While you could always tell them “no, I’m busy” that’s fraught with its own perils. You risk becoming a pariah and creating a toxic relationship with coworkers. Few would consider this a better approach.

Ultimately, you’re kind of stuck. You either indulge the in-office developer’s biggest curse, the drop-ins, and watch your productivity tank. Or you tell the drop-ins to bugger off and get your work done, but end up being the office jerk. In short, you have two ways to lose and no way to win.

Summary

The in-office developer’s biggest curse is the drop-in. At least it is for any developer who wants to get her work done effectively and efficiently.

It’s inevitable you will experience drop-ins while working in-office. They are endemic to the nature of in-office work. 

Our work requires us to concentrate deeply. The breaks in concentration caused by persistent interruptions, i.e. drop-ins, cause inevitable declines in productivity. 

No good developer enjoys being actively prevented from being productive. Yet this happens routinely to in-office developers and it’s just accepted because it’s been the default. Thankfully, we now have a better option in remote work to solve some of these long standing problems.

Filed Under: Remote

SpaceX Starlink is Full Speed Ahead

November 17, 2019 by RJD

SpaceX Starlink is Full Speed Ahead

SpaceX Starlink is charging full speed ahead in the race to offer high speed internet from above. While the number of Low Earth Orbit(LEO) Satellite Internet contenders has grown over recent times, SpaceX looks well positioned to win the race to viability.

SpaceX’s Primary Advantage

SpaceX has a huge advantage with its satellite deployment capabilities. No other LEO Sat contender currently has the ability to launch their payloads on their own rockets. And for this reason it was always going to be extremely difficult to beat Elon Musk’s team to the first viable deployment. 

Simply put, SpaceX can iterate much more quickly than the competition. The only major obstacles in their way are funding and regulatory approvals. Neither of which have significantly hindered them to this point. 

The other contenders also have these obstacles to overcome, of course. But they do not have the in-house satellite delivery systems at their disposal.

30,000 More Satellites

SpaceX has filed paperwork to add 30,000 more satellites to its LEO Starlink constellation. This is in addition to the 12,000 already approved by the Federal Communications Commission(FCC).

It remains to be seen if SpaceX will be granted approval for the full 30,000. It is however encouraging that SpaceX Starlink is bolting full speed ahead.  It’s likely there will be regulatory challenges given the scale SpaceX is targeting.

It’s going to be very interesting how the FCC and the International Telecommunication Union(ITU) resolve the competition for spectrum and satellite approvals in the coming years. Especially with other contenders such as OneWeb, TeleSat, Facebook’s Athena, and Amazon’s Project Kuiper all jockeying for space in this arena.

60 More Starlink Satellites Deployed

Roughly one week ago, November 11th, SpaceX successfully launched 60 more satellites. This is the second deployment and was launched aboard a Falcon 9 rocket.

If all goes according to plan, we should see launches occurring with increasing frequency in the coming months. SpaceX Starlink is targeting an initial constellation of 400 to offer minor broadband coverage and 800 for more moderate coverage.

Some 12,000 to 40,000 satellites are in the long range plans. This presumably would be a full deployment and offer the ability to cover the globe with broadband connectivity.

Service Starting in 2020?

SpaceX Starlink is full speed ahead on offering broadband service in mid-2020 according to company President and COO, Gwynne Shotwell. This will require 6 to 8 launches of operational satellites, of the type just launched one week ago(Nov. 11). 

There are significant challenges to meet this target however. The user terminals have yet to be fully baked and could certainly introduce delays in the ambitious mid-2020 time frame.

On a positive note though, the user terminals do not have to be launched into orbit. So it should certainly make for quicker iterations towards a robust design that works well.

It would be remarkable if SpaceX can offer broadband service to the general public, even if small in scale, in 2020. Though I would be surprised if we see this by the mid-2020 target timeframe.

But then again it’s hard to bet against Elon Musk and company given all they’ve accomplished.

Filed Under: Remote

  • Page 1
  • Page 2
  • Page 3
  • Go to Next Page »

Primary Sidebar

Welcome! I'm Dan and this site focuses primarily on Remote Work, Java Development, and Consulting.

  • Blog
  • Archive
  • About
  • Contact
Menu
  • Blog
  • Archive
  • About
  • Contact

@RemoteJavaDev on Twitter

My Tweets

Copyright © 2025 · Genesis Sample on Genesis Framework · WordPress · Log in