Outreachy Week 1 – Week 3: Working Remotely is Hard

Working Remotely Is Hard

Time flies! I am already into the 3rd week of the internship, which is also a perfect time for a retrospective. This is an honest share to what working remotely has been like for me and also a report to record what I’ve been doing these three weeks.

Table of Contents

About Working Remotely

A walkthrough of my first few days

Woke up in the morning with a sense of guilt. It felt extremely weird not having to rush through the morning chores and get onto the train for work. At 10 I finally sat down on the couch in the living room, stared at the TV in front of me. Without much thought I turned it on and when it got turned off, it was already noon. “What the ****!”, my head was banging inside as more guilt poured into me.

“I really can’t go on like this”, my brain whispered to myself. Finally, I got up and cleaned out a room for “work”. Whenever I sit at this spot, it means I cannot do anything else but work.

Home used to be a place where only relaxation took place, it was super hard to concentrate on a task for more than one hour. I really had to physically clear out a space that’s exclusive for work and while at it I should do nothing else but work. Without a doubt it was guilt that pushed me forward during the first week.

11 hours of time difference

I have two mentors (terceiro and elbrus) and we live in three completely different time zones. The weekly sync meeting took place at 19:00 for me, which is 8:00 for terceiro and 13:00 for elbrus. Most of what I’m working on relates to terceiro, so that meant we have 11 hours of time difference.

To get through this, I made a decision to cut my time in half towards the end of week 2. I will work 6 hours in the day and 2 hours during midnight. This way, if I had to discuss or ask questions, I can have two chances each day. My mentors are also in full-time jobs, so I wouldn’t want to trouble them too much (but I still bump into issues every while and then).

Working out a system

I admit that I am not a person with good self control. In order to commit 40 hours to work each week, this is the current strategy I have started using at week 2.

  • Log what I did every day
  • Do not eat at “the working spot”
  • Make sure I have “off” hours

Log what I did every day

I tried to write a todo list every day, but that didn’t work out well for me. Sometimes I do get stuck on stuff, and that gives me a lot of pressure for not getting things “done”. At the end of the day, my morale got low and then the next day I started with no energy.

By logging what I did every day, especially the obstacles I bumped into and how it got solved kept me energetic, because I know I am learning something every day. When you didn’t do anything that day, meaning that the log is completely empty, guilt will build up and make sure you do something before the day ends.

Do not eat at “the working spot”

Not doing anything else at “the working spot” was actually quite easy except for eating. I thought I could get more done when I ate at my desk, but that was totally wrong. Before working remotely, taking a break after lunch was my habit. It’s not hard to imagine that after I finished lunch at “the working spot”, I started fumbling around and that put me into a late start for the afternoon.

Make sure I have “off” hours

This was the most difficult of all! “Decide for yourself when to work and when not to work”, this was probably a slogan to get people sold on working remotely. When there is no hard lines on getting to work and getting off work often becomes, working a bit the whole day. You feel like you are working or thinking about the project 24 hours, but it doesn’t seem like you have done much for a 24 hour workload.

Finally, after three weeks of adjustments, I think I can see the silver lining of how this is going to work. Hope all goes well until the end of the internship!

Week 1: Vagrant

During the application process, quite a few applicants were stuck at setting up the development environment for debci. I would like to improve the experience. At first, I used docker because I was more familiar with it. After finding an empty VagrantFile in the repository, I decided to try something new and went with vagrant. Learned some shell script and user permissions during the process and the biggest find was to use the debian/contrib-stretch64 box rather than debian/stretch64. The contrib version contains the guest addition stuff.

Week 2: Starting First Tasks

I worked on opening a self service section for users to requests tests themselves this week. Got stuck a little bit every step of the way, but not really stuck. Interesting finds that I would like to log.

  • For static file generation, create a symlink in public directory to the file to be generated in public/data/.html and add it to bin/debci-generate-html
  • Sinatra automatically loads layout.erb if it exists, and you can change set :views, <PATH> to change the default directory to store the erb files
  • In order to use Ruby to print to stdout when using foreman start you have to add $stdout.sync = true before the print runs
  • Use the general test API in order to fulfill all the user stories
  • Decide to use Ruby to generate dynamic HTML through erb templates, because it could be more customizable
  • Use Sinatra::ContentFor to seperate JavaScript files into the templates, and create dummy functions in lib/debci/html.rb for static file generation to work

Before the internship, I worked as a front end developer, which means JavaScript, JavaScript, and more JavaScript these days. Interesting when I found out that debci would also like the site to work perfectly without JavaScript functioning. This got me thinking about all those time we just neglected users who don’t enable JavaScript. I got curious and checked big sites like Facebook, Twitter, Gmail and found that you will get this big fat warning about turning off JavaScript. Although you get this big fat warning, they all left a “nonJS workable” version available, which is an interesting find.

Week 3: Searching, Pagination & UX

This week, besides the Self Service section, I also tried fixing the search package part of the index page. Currently it just takes what the user inputs and redirect them to the page which may or may not exist.

Things I did or should log down for this week:

We discussed and decided to work on non-JS versions of the Self Service Section. With JavaScript enabled, the UX will be more complicated which requires more time to generate the whole concept and I would like things to work first since it doesn’t exist yet.

That’s all for now, these weekly updates will start to come “weekly” after this post.

Share
  • Copied the URL !

Comments

List of comments (2)

  • The blogs are fun to read and insightful. Looking forward to read more.

    I am a GSoC student this year.

    • Hi!
      Thanks for the comment 🙂
      I couldn’t apply to GSoC since I’m not a student anymore, hope you’re learning lots also this summer!

Leave a Reply to Anand Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Table of Contents