How is your remote work system? Anything specific to Elixir I should be aware of?

Hello, elixir developers. I think lots of companies have already installed system of remote work. Developers are especially good at it, so I’m interested in how you work from home.

I’m not sure the ways except for using Git. I’d like to hear what tools you use, what you do, and how is your whole day of remote work☺️

Thank you😃

In general I like working remote, while I hate working from home, s please do not use both terms as if they were the same.

Currently my only options are WFH, or from the office. I prefer the office.

Though if I were working remotely, I go through a VPN and then connect via RDP to my workstation and work in that RDP session.

That is our current ad-hoc solution, while another team is experimenting with self hosted Che for each project to avoid that someone downloads corporate data on their personal system.

2 Likes

That’s true. I keep it in my mind.
Thank you!

Yea I feel this way as well. I like working “off-site” and I do like working at home, but not all of the time. I’ve begun to not like working at home after doing it for so long. I think I’d enjoy it more if I had more space where I could fully separate an office from my life…but that’s not an option.

Honestly, nothing has really changed too much about my workflow while WFH vs office. One of my philosophies is that I should be just as efficient remote (historically meant coffee-shop) as the office, so I don’t use any peripherals like monitors, keyboards, mice, etc. Just the laptop.

I make use of Mac workspaces to have a very efficient flow that I feel has never been hindered by my use of a single screen. I would be much less efficient without workspaces. My rule is there should be a single program full-screen, and things like slack and my sourcetree app live on a desktop at smaller sizes (usually 1/4 screen).

We use a lot of Zoom meetings now (way more than before). I don’t really like it as I think that having written artifacts is superior to zoom calls—you can reference the artifact in the future and also check your knowledge against it. So I try to encourage people to write things down when possible, especially if complex.

2 Likes

Oh, I forgot about that part…

Indeed when we are in a out-of-office streak, as last spring, we do a weekly video conference, but it is not meant to discuss ore even decide work related stuff, it is to keep beeing social, drinking some cola or a beer together.

Besides of that we meet each other in a team speak server for short term discussions, helping each other out or teaming up.

1 Like

We have been working remotely in our company for more than 4 years.

We work in asynchronous mode, that means that everyone works whenever they want, we do not do daily stand-ups, we do not use Slack, and we rarely communicate through video conference.

Due to the current pandemic, people have been forced to work remotely in a synchronous mode. That means having a permanent video conference and permanent chat witch in my opinion is a torture.

Our tools are:
Basecamp as the main communication hub.
Screen for pair programming
Whereby for video conferencing

6 Likes

That’s so fascinating!! I’d like to work whenever I want if possible.
How do you share your codes with mates? Git?

Cool. I’d like to work like that as well.

Except for the zoom calls, do you basically work whenever you want?

We share our code in Gitlab.

1 Like

I work 9-5 mainly because it aligns with my colleagues and I work on a side project in the evenings.

3 Likes

I am still working from the office mostly. Even though I could work from home completely, I don’t like working from home. It also takes me just 15 minutes to get to the office from home.

In general the company is well equipped for remote work. We have GitHub, Slack, Google Hangouts. Remote meetings are working well and most people like working from home. At least they say the do :smiley:

1 Like

I see.
Why do you like from the office?

It just works for me. No distractions, change of setting, different food for lunch. Also I like to see people in person.

1 Like

This is a really good listen and goes into asynchronous mode detail https://www.se-radio.net/2020/08/episode-423-ryan-singer-on-remote-work/

1 Like

That’s the ideal option and I always insist on async work on all my interviews. I am after all paid to deliver code and business value. In 19 years of career I can’t remember more than 10 company meetings that legitimately helped me in my work.

That’s an oddly general question but IMO nothing much changes compared to what you’d use on a company machine. Here’s what I do:

  • I use my personal machines for work. That’s what I bought them for: to have excellent equipment at home. I almost don’t game nowadays so if I don’t code, I almost wouldn’t need computers anyway.
  • I backup my work code repositories (and DB dumps if any) aggressively – several times per hour – on a local self-hosted ZFS NAS server. I also put encrypted copies on a cheap VPS.
  • I use asdf to manage different versions of software – not only Erlang and Elixir but also PHP, Python, Ruby, even databases like PostgreSQL and MySQL and many others. Then I put a .tool-versions file in each project’s directory so the languages and DBs are automatically switched to the proper version when I cd into the directory. I found that setup to be extremely valuable because it gives you a a local environment that’s adequately close to the real production environment. (Of course that approach is technically inferior to using Docker or NixOS for complete isolation but I found that with enough diligence I can skip those otherwise excellent tools for a leaner setup that works fine 99% of the time.)
  • I use fzf and skim combined with ripgrep and ripgrep-all for extremely fast lookups of code snippets inside files, or to look for a particular file.

TL;DR: invest in per-project environment isolation. Backup often. Learn your tools intimately. Such knowledge will pay you off many times over.

4 Likes