26
7/23/2019 Life as a 100% remote engineer http://slidepdf.com/reader/full/life-as-a-100-remote-engineer 1/26 Life as a 100% Remote Engineer Malaysia Open Source Community Meetup - Q4 2015 Muhammad Najmi Ahmad Zabidi 26th Nov 2015

Life as a 100% remote engineer

Embed Size (px)

Citation preview

Page 1: Life as a 100% remote engineer

7/23/2019 Life as a 100% remote engineer

http://slidepdf.com/reader/full/life-as-a-100-remote-engineer 1/26

Life as a 100% Remote EngineerMalaysia Open Source Community Meetup - Q4 2015

Muhammad Najmi Ahmad Zabidi

26th Nov 2015

Page 2: Life as a 100% remote engineer

7/23/2019 Life as a 100% remote engineer

http://slidepdf.com/reader/full/life-as-a-100-remote-engineer 2/26

About

Work as a Linux System Admin at End Point Corporation, New York, USA

•  Work at home, remotely

•   Semi-exible

•   Working time should be synced as possible as I could with the EasternTime (NY time)

•   Previously worked a Linux system consultant for almost two years then10 years lecturing in the local public university

•   Still have many things to learn!

Page 3: Life as a 100% remote engineer

7/23/2019 Life as a 100% remote engineer

http://slidepdf.com/reader/full/life-as-a-100-remote-engineer 3/26

A bit about New York

New York is one of the states in USA (Named as New York State). New YorkCity (NYC) is one of the cities in the New York State. NYC consists of ve

boroughs:

•   Manhattan

•   Brooklyn

•   Queens

•   Bronx

•  Staten Island

Page 4: Life as a 100% remote engineer

7/23/2019 Life as a 100% remote engineer

http://slidepdf.com/reader/full/life-as-a-100-remote-engineer 4/26

End Point Corporation

•  Established in 1995

•   We just celebrated our 20th anniversary this year

•   The main HQ is in Manhattan, NYC and the other oce is in Tennessee

•   Has the mixture of on-site stas and remote stas (like me)

Page 5: Life as a 100% remote engineer

7/23/2019 Life as a 100% remote engineer

http://slidepdf.com/reader/full/life-as-a-100-remote-engineer 5/26

End Point's core business

•   E-commerce sites using Ruby, Perl, Python, PHP, Java and JavaScript

•   PostgreSQL database expertise

•   Liquid Galaxy - for more info feel free to visithttps://liquidgalaxy.endpoint.com/

Page 6: Life as a 100% remote engineer

7/23/2019 Life as a 100% remote engineer

http://slidepdf.com/reader/full/life-as-a-100-remote-engineer 6/26

Liquid Galaxy

•   Liquid Galaxy is a cluster of computers running Google Earth creatingan immersive experience.

•   Created in 2008 by Google employee Jason Holt, the Liquid Galaxystarted out as a panoramic multi-display Google Earth viewer, but hasevolved to become a general data visualization tool for operations,marketing, and research

•   The Liquid Galaxy gives the ability to y around Google Earth, viewpanoramic video and photos, develop interactive tours

Page 7: Life as a 100% remote engineer

7/23/2019 Life as a 100% remote engineer

http://slidepdf.com/reader/full/life-as-a-100-remote-engineer 7/26

Liquid Galaxy (ii)

Page 8: Life as a 100% remote engineer

7/23/2019 Life as a 100% remote engineer

http://slidepdf.com/reader/full/life-as-a-100-remote-engineer 8/26

Productivity tools that we are using

Tools Details

Trello Web based Kanban card for task assignments

Request Tracker(RT)

For task assignment ticketing and progress track-ing

Git For source code management (but not necessarilyprogramming codes)

GNU Screen andTmux

For work session continuity and team work

Skype, GoogleVoice and GoogleHangout

For meeting, personal call, getting call fromclient’s landline and mobile

Redmine web-based project management and issue track-ing tool

BigBlueButton Webinar/knowledge sharing purpose

d-note For exchanging encrypted text

imgbi For image sharing securely

MediaWiki For internal use, serving as point of reference forus to get the details of the clients’ infrastructure

Nagios For server’s resource monitoring

Page 9: Life as a 100% remote engineer

7/23/2019 Life as a 100% remote engineer

http://slidepdf.com/reader/full/life-as-a-100-remote-engineer 9/26

Tools Details

ZNC and IRC To maintain user connection and chat logging (In-

ternal IRC is the most important part for com-munication between the team, along with e-mailsand voice calls)

Inkscape + pdftk For document signing. Sometimes we need tosign certain documents for e.g clearance or con-tract signing

World Clocksbrowser plugin

For meeting/collaborative work planning for e.gserver migration/training

Currency Con-verter browserplugin

Foreign currency converter

WebRTC based

sites; Appear.in,Talky.io andGlideroom.com

For face-to-face conversation

Page 10: Life as a 100% remote engineer

7/23/2019 Life as a 100% remote engineer

http://slidepdf.com/reader/full/life-as-a-100-remote-engineer 10/26

Trello

Trello is a collaboration tool that organizes your projects into boards.

In one glance, Trello tells you what’s being worked on, who’s working 

on what, and where something is in a process 

Page 11: Life as a 100% remote engineer

7/23/2019 Life as a 100% remote engineer

http://slidepdf.com/reader/full/life-as-a-100-remote-engineer 11/26

Trello (ii)

•   We can use Trello to monitor who work on which task

•   We can also can assign and reassign task•  Have options for checklist

Page 12: Life as a 100% remote engineer

7/23/2019 Life as a 100% remote engineer

http://slidepdf.com/reader/full/life-as-a-100-remote-engineer 12/26

Git

•  We use git *a lot*

•   For my team (the hosting team), we use git for conguration lesversioning

•   For example for Nagios congurations, DNS changes

•   We use custom script so that the authorship could be preserved -”git-user” command

Page 13: Life as a 100% remote engineer

7/23/2019 Life as a 100% remote engineer

http://slidepdf.com/reader/full/life-as-a-100-remote-engineer 13/26

Git - "git-user" I

I strip a bit to ensure it t into the slides

# git-user

# by Jon Jensen <[email protected]># http://www.endpoint.com/

# Released to the public domain

usage() {

echo "Usage: git-user username command [args ...]" >&2

exit 1

}

if [ -z "$*" ]; then

usage

fi

user="$1"

shift

if [ -z "$*" ]; then

usage

Page 14: Life as a 100% remote engineer

7/23/2019 Life as a 100% remote engineer

http://slidepdf.com/reader/full/life-as-a-100-remote-engineer 14/26

Git - "git-user" II

fi

case "$user" in

najmi)

name='Najmi Zabidi'

email='[email protected]'

;;

esac

if [ -z "$name" -o -z "$email" ]; then

echo "Username $user not configured" >&2

exit 2

fi

GIT_AUTHOR_NAME="$name" \

GIT_AUTHOR_EMAIL="$email" \

GIT_COMMITTER_NAME="$name" \

GIT_COMMITTER_EMAIL="$email" \

git "$@"

Page 15: Life as a 100% remote engineer

7/23/2019 Life as a 100% remote engineer

http://slidepdf.com/reader/full/life-as-a-100-remote-engineer 15/26

git-user I

root@alhambra:# git diff najmi.tex

diff --git a/najmi.tex b/najmi.tex

index a332d21..34fd46a 100644--- a/najmi.tex

+++ b/najmi.tex

@@ -1,7 +1,6 @@

%% start of file `template.tex'.

%% Copyright 2006-2013 Xavier Danaux ([email protected]).

%

-%

% This work may be distributed and/or modified under the

% conditions of the LaTeX Project Public License version 1.3c,

% available at http://www.latex-project.org/lppl/.

root@alhambra:# git-user najmi commit -m "Added changes"

[master 6908cc8] Added changes

8 files changed, 2 insertions(+), 1029 deletions(-)

....

i

Page 16: Life as a 100% remote engineer

7/23/2019 Life as a 100% remote engineer

http://slidepdf.com/reader/full/life-as-a-100-remote-engineer 16/26

git-user II

root@alhambra:# git log

commit 6908cc89483da01fa67f9a1d576baea63be43a9a

Author: Najmi Zabidi <[email protected]>

Date: Thu Nov 26 09:48:56 2015 +0800

Added changes

Bi Bl B tt

Page 17: Life as a 100% remote engineer

7/23/2019 Life as a 100% remote engineer

http://slidepdf.com/reader/full/life-as-a-100-remote-engineer 17/26

Big Blue Button

•  Open source classroom tool

•   We can present DOC, PDF with audio/video capabilities

•   Tested with 20-30 people concurrent attendance per session

•   Relatively easy to set up for since the documentation is quite detail,though many steps need to be followed

R t T k (RT)

Page 18: Life as a 100% remote engineer

7/23/2019 Life as a 100% remote engineer

http://slidepdf.com/reader/full/life-as-a-100-remote-engineer 18/26

Request Tracker (RT)

•   Used by the client and for internal support response

•   Ticket will be closed on issue resolved

•   Supports picture attachment for ticket comment

W k t t d i

Page 19: Life as a 100% remote engineer

7/23/2019 Life as a 100% remote engineer

http://slidepdf.com/reader/full/life-as-a-100-remote-engineer 19/26

Work a remote system admin

•   Malaysia is 13 hours ahead of the Eastern Time (EST)•   Work generally must be overlapping with the EST time so that we could

arrange issue/assignment with the HQ

•   Server update/downtime could be done outside of the US time to avoiddisruption during peak hours

•   We communicate using IRC most of the time/Skype for call withclient/colleague for certain occasions

•   I registered my US number so that the clients could contact me fromtheir mobiles directly

•   For training session we use tmux/GNU screen

•   Weekly meeting to align task to be done in the week/solve any pendingissue while during the meeting

For the hosting team

Page 20: Life as a 100% remote engineer

7/23/2019 Life as a 100% remote engineer

http://slidepdf.com/reader/full/life-as-a-100-remote-engineer 20/26

For the hosting team

•   Proactively responding to the Nagios alert - notied by e-mail, IRCmessages

•   PagerDuty alert on call for important servers

Text Editor

Page 21: Life as a 100% remote engineer

7/23/2019 Life as a 100% remote engineer

http://slidepdf.com/reader/full/life-as-a-100-remote-engineer 21/26

Text Editor

•  We use vim a lot

•  vimdi for ”ps” ding after server reboot

•   di command vs vimdi for convenience

•  My preferred $HOME/.vimrc setup

:set nu:syntax on

or

:set nu ts=4 sw=4 shiftround ignorecase smartcase

set shiftwidth=4 " number of spaces to use for autoindenting

set shiftround " use multiple of shiftwidth when indenting with '<'and '>'

Interesting cases

Page 22: Life as a 100% remote engineer

7/23/2019 Life as a 100% remote engineer

http://slidepdf.com/reader/full/life-as-a-100-remote-engineer 22/26

Interesting cases

•   Sometimes we encountered issue which Nagios alerted

•   cronjob that did not started with @reboot (solved wit bash -l)

My approach for work

Page 23: Life as a 100% remote engineer

7/23/2019 Life as a 100% remote engineer

http://slidepdf.com/reader/full/life-as-a-100-remote-engineer 23/26

My approach for work

•   I work from home, sometimes from my hometown (using phonetethering)

•   I prefer mutt for mail reading. It supports new threading and reallyeasy to delete mails with just ”d” command (and purge upon exit)

•   For us in the hosting team we are required to have security precautionsteps, for example:

•  encrypted lesystem•   personal rewall - iptables/fail2ban•  screen locking enabled

Page 24: Life as a 100% remote engineer

7/23/2019 Life as a 100% remote engineer

http://slidepdf.com/reader/full/life-as-a-100-remote-engineer 24/26

-some demo on git and GNU screen-

Conclusion

Page 25: Life as a 100% remote engineer

7/23/2019 Life as a 100% remote engineer

http://slidepdf.com/reader/full/life-as-a-100-remote-engineer 25/26

Conclusion

•   Working remote is similar with going to the oce, we need to dedicatetime and stay focus on job to get it done

•   Internet connectivity must be stable and has a reasonable speed (Iwork on Uni 5Mbps and now on 10 Mbps)

•  Electricity must stable too (use UPS!)•   Use wired headset (wireless headset is not that stable, plus need to be

recharged)

•   Avoid using suspicious AP/internet connection

•   Family must understand/supportive, otherwise get a private oce

space to work

eof()

Page 26: Life as a 100% remote engineer

7/23/2019 Life as a 100% remote engineer

http://slidepdf.com/reader/full/life-as-a-100-remote-engineer 26/26

eof()

Thanks!

[email protected]

created with LATEX