tag: 개발 잡동사니

첫 원격근무를 해보고 느낀 점

2014년 12월 21일

얼마 전 처음으로 원격근무를 경험했다. 우리 회사는 상당히 유연한 근무 환경을 제공하고 있어서 꼭 참여해야 하는 미팅이 있는 경우가 아니고서는 원격근무가 가능하다. 지금까지 신청하지 않았던 이유는 근무 환경이 달라지는 것, 내가 집에서 쓸 수 있는 개발 환경이 회사에서보다 제한적이었던 상황이었기 때문에 한번도 이런 형태로 일을 해보지 않았었다. 이번엔 특이하게도 택배를 본인이 수령해야 하는(?) 부득이한 상황이라서 재택근무를 하기로 마음 먹었고 처음으로 집에서 일을 해보게 되었다.

“집에서 일을 한다”는 생각보다 달랐다

원격근무는 집에서 일을 하는 것이라고 막연하게 알고 있었지만 내 방 책상에 앉아서 컨퍼런스 콜을 하고 코드를 작성하고 이메일을 작성하고보니 “집에서 일을 한다”라는 문장이 이전과는 조금 다르게 느껴졌다. 그 전까지는 출퇴근을 하면서 조금이나마 전환 시간이 있어서 그랬는지 일과 내 삶이 명확하게 분리되었던 반면에 재택근무는 일상에 업무를 끌어다 놓는 과정으로 느껴졌다.

업무와 삶이 뒤범벅 되는 일은 재택근무를 하게 될 때 경계해야 하는 부분 중 하나라고는 하지만 가장 이상적으로 일을 할 수 있는 환경을 만드는 일과 같다고 느껴졌다. 일과 일상에서 컨텍스트 스위칭이 빈번하게 일어날 수 있는 환경이라 그 둘이 명확히 분리해야 한다고 생각하는 사람에게는 분명 좋은 환경은 아닐 것이다. 반면 내 일에 더 몰입하고 싶다면 이보다 더 좋을 수가 없다. 아침부터 막히는 출근길, 환승 시간표, 주의력을 분산하게 만드는 수많은 인터렉션들(내 경우엔 SNS)을 마주할 수 밖에 없는데 그 복잡한 과정을 거치지 않고 책상에 앉기만 하면 일을 시작할 수 있어서 좋았다.

공간 용도 변화

이제는 당연한 말이지만 인터넷만 연결되어 있으면 어디서든 일을 할 수 있다. 예전에 비해 쉽게 사용할 수 있는 수많은 협업 도구들과 분산 버전관리 도구 덕분에 적은 리소스로도 충분히 업무가 가능해졌다. 우리 회사도 대부분의 코드를 gitlab에서 관리하고 있고 구글앱스와 trello를 활용해 협업하고 있고 컨퍼런스 콜은 skype를 사용하고 있어서 큰 문제 없이 업무를 볼 수 있었다. 이제는 정말 어디서든 인터넷만 가능하면 업무 처리를 할 수 있다. 이런 기술의 발전들이 전통적인 공간 개념을 허물고 있고 원격근무의 문제점도 같이 해결하고 있다.

멜번은 임대 비용이 비싸서 여러 회사가 큰 오피스를 빌려 같이 공간을 공유해서 쓰는 경우가 꽤 많은 편이다. 우리 회사도 다른 두 회사와 함께 사무실을 공유해서 쓰고 있는데, 하나는 에너지 회사, 다른 하나는 금융 IT 회사다. 전자는 MS의 클라우드 서비스를 기반으로 모든 자료를 공유하고 있어서 잦은 출장에도 업무의 연속성을 유지하고 있고 후자는 VPN을 통해 업무 환경이 구성되어 있어 회사 직원들이 일주일에도 수 차례 시드니와 멜번을 오가며 일을 한다. 시간이 갈수록 더욱 쉽고 저렴하게 구축이 가능해진 업무 환경으로 사무실의 역할이 점점 무형적으로 변하고 있다는 점을 체감한다.

새롭고 사소한 허들들

사실 사소한 차이고 아직 경험이 많지 않기 때문에 마주하게 된 일들이지만 출퇴근 할 때 딱히 고민해보지 않았던 새롭고 작은 부분들을 볼 수 있었다.

살고 있는 곳이 주택가라서 커피를 사 마실 수 있는 곳이 없었다. 처음이라 잔뜩 긴장해서 커피 없이도 하루종일 업무를 할 수 있었지만 반복되다보면 또 커피가 필요한 날이 올 것 같다. 회사 근처에 맛있는 카페에 길들여져 내 커피가 맛없다는 사실을 입이 기억하고 있어서 직접 커피를 내려 마시면 되는 일이지만 그건 또 맛이 없어서(정말 없다) 그렇게 좋은 해결책은 아니다. 겨우 하루 경험이라 은행에 다녀올 일이 없어서 그나마 다행이었지 내 주거래 은행은 커먼웰스인데 집 근처에 커먼웰스도 없다. 회사가 있는 곳들은 항상 집적되어 있기 때문에 식당, 은행 같은 편의 시설도 많이, 가까이 있기 마련이다. 한국처럼 인구밀도가 높아서 어디에서든 상가, 은행을 찾을 수 있는 상황이 아니라면 불편한 경우도 충분히 있음직 하다.

5시 반에 퇴근을 하고나서 뭘 해야할지 막막했다. 평소에는 교통 상황에 따라 퇴근이 1시간에서 1시간 반 가량 걸리는데 이 시간이 갑자기 생겨나니 어색해서 어쩔 줄 몰라하다가 동네 산책을 하고 왔다. 생각해보면 아침에 일을 시작할 때에도 은근슬쩍 침대에서 뒹굴다가 컴퓨터를 열고 업무를 시작했었다. 아침, 저녁에도 더 효율적으로 시간을 관리한다면 평소에 퇴근하고 저녁 먹고 씻고나면 잘 시간이 되서 아무 것도 할 수 없던 상황보다 훨씬 유익하게 시간을 쓸 수 있으리라 생각된다. 내게도 부양하는 가정이 있다면 아이들과 더 시간을 보내준다거나 할 수 있지 않을까. 일과 일상의 전환에 소비되는 시간을 가용적인 영역 안으로 들어오게 되면 그만큼 쓸 수 있는 시간은 늘어나는데 이번 경험에서처럼 준비되지 않으면 결국엔 출퇴근 하면서 쓰는 그런 시간들처럼 쉽게 지나가버리는데 좀 더 체계적인 계획이 필요한 것 같다.

그래서 원격근무

겨우 하루의 경험으로도 이렇게 많은 차이를 느낄 수 있었는데 원격근무를 전사적으로 적용하고 있는 회사들은 어떻게 운영되고 소통하는지 궁금해졌다. 이미 실제로 많은 회사에서 원격으로 일하고 있고 그 과정을 공유하고 있다.

  • 워드프레스 개발사인 오토매틱도 몇 상주 인원 외에는 세계 곳곳에서 퍼져 각각의 공간에서 일을 하고 있다. b2라는 오픈소스 블로그가 더이상 개발되지 않자 이를 대체할 블로그를 오픈소스로 공동작업 한 것이 워드프레스의 시작이다. 모두가 원격으로 업무를 할 수 있는 이유가 아마 이런 배경이 있어서 그런게 아닐까 싶다.

  • Basecamp를 개발한 37Signals1의 원격근무 이야기는 Remote라는 책으로 출판되었다.(최근 위키북스에서 역서를 냈다.) 이 책에서는 원격에서 근무하는 것 자체가 의미를 가지는 것이 아니라 최고의 생산성을 가질 수 있는 장소를 제공하는 것에 의미가 있다고 이야기한다.

원격근무가 양날의 검이란 것도 맞는 말이지만 인류사에서 따져볼 때 출퇴근하게 된 기간도 얼마 되지 않으니 출퇴근의 장단점을 더 생각해봐야 하지 않을까 싶기도 하다. 그리고 원격근무를 하는가 안하는가의 문제라기보다는 재택근무를 해도 문제가 없는 업무 환경과 여건을 만들 수 있는가가 더 중요한 부분인 것 같다.

더 읽을 거리

  • 37Signals는 2014년 2월에 사명을 Basecamp로 변경했다. 
  • 맥에서 PDF 폰트 알아내기, 이미지 추출하기

    2014년 11월 17일

    요즘은 이와 관련된 웹서비스가 많이 있어서 별도로 프로그램을 설치할 필요 없이 쉽게 이용 가능하다. 다만 업로드할 수 있는 용량에 제한이 있는 경우가 많아서 로컬에서 사용할 수 있는 방법을 찾아봤다.

    PDF 파일의 정보를 확인하거나 추출하기 위해서 pdffonts를 사용할 수 있는데 과거엔 xpdf 라이브러리에 포함되어 있다가 현재에는 poppler 라이브러리를 설치해 사용할 수 있다. 이 라이브러리는 homebrew를 통해 쉽게 설치할 수 있다.

    brew install poppler

    폰트 정보를 알아내기 위해서는 다음과 같이 사용할 수 있다.

    pdffonts <파일명>

    이미지를 추출할 때는 다음과 같이 쓸 수 있다.

    pdfimages <파일명> <추출 경로>

    추출된 이미지가 ppm인 경우는 일반적으로 사용 가능한 포맷인 jpg로 변경해 사용 가능하다. 이 경우엔 imagemagick 라이브러리에 포함되어 있는 convert를 사용할 수 있다.

    해당 라이브러리가 설치되어 있지 않다면 역시 brew를 통해 설치할 수 있다.

    brew install imagemagick

    설치가 완료되었으면 다음과 같은 명령어로 일괄 변환할 수 있다.

    convert *.ppm image%d.jpg

    여기서 사용된 라이브러리들은 리눅스 패키지 매니저에서도 설치 가능하다.

    WordPress에서 Links 사용하기

    2014년 10월 14일

    WordPress에는 기본적으로 Links라는 포스트 타입이 존재했었는데 WordPress 3.5 에서 제외되었다고 한다. 대부분의 사용자가 거의 이용하지 않는 기능이 되다보니 이런 결정을 내리지 않았나 싶다.

    그 이전 버전 사용자는 업그레이드 하더라도 해당 기능이 계속 유지되지만 신규로 설치한 경우는 다음과 같은 Links 항목을 관리자 화면에서 찾을 수 없다. 이 Links 항목을 보여주는 Link Widget(Blogroll) 또한 존재하지 않는다.

    links

    3.5 이후 버전을 설치한 경우에는 Links가 존재하지 않는다.

    티켓 #21307에서 논의된 결과로 Link Manager 플러그인으로 분리되었고 3.5 이후 버전에서는 해당 플러그인을 설치해 사용할 수 있다.

    워드프레스 북마클릿 Press This 활용하기

    2014년 10월 7일

    Press This는 워드프레스 2.6에서 Press It를 대체하기 위해 나온 기능 중 하나로 워드프레스에 내용을 공유할 수 있도록 돕는 북마클릿 기능이다. 이 북마클릿을 이용하면 어느 웹페이지도 간편하게 스크랩해 자료를 모으거나 해당 컨텐츠를 인용해 포스팅하는데 활용할 수 있다. 그 외에도 언제든 작성할 내용이 생각나거든 북마클릿만 눌러 간편하게 메모할 수 있는 편리한 기능 중 하나다.

    설치하기

    관리자 메뉴 중 Tools > Available Tools에서 Press This 섹션을 찾을 수 있다. 설명대로 Press This 버튼을 bookmark bar에 끌어다 놓으면 설치가 끝난다. (drag and drop)

    (Scrapbook 플러그인을 설치하면 똑같은 페이지에 Scrap This 버튼이 생겨난다. 이 버튼으로 북마클릿을 만들면 Post가 아닌 Scrap으로 수집할 수 있다.)

    press-this

    활용 방법

    저장하려고 하는 페이지에서 북마크바에 끌어다 놓았던 북마클릿을 실행하면 작은 에디터 창이 나타난다. 바로 포스트 하거나 카테고리, 태그 등을 이용해 분류할 수도 있다. 인용하고 싶은 구절이 있다면 해당 영역을 드래그 한 후 북마클릿을 누르면 아래와 같이 간편하게 인용할 수 있다.

    press-this-window

    쉬운 언어로 개발을 깊게 배우기는 쉽지 않다

    2014년 4월 25일

    트위터를 통해 읽게 된 Javascript, the New PHP 라는 아티클은 JavaScript가 PHP를 그대로 답습하고 있음을 몇 사례를 들어 담담하게 이야기한다. 쉽게 개발할 수 있다는 장점과 단점으로 만들어진 PHP 생태계와 마찬가지로 JavaScript도 비슷한 수순을 밟고 있어 안타깝다는 이야기가 전체적인 흐름이다. 특히나 나도 비슷한 기술 스택을 가지고 있어 공감하는 부분이 많았다.

    • 쉽고 간단한 코드가 깊은 레벨로의 학습보다 복사-붙여넣기로 지금 당장 동작하는 코드를 선호하게 한다.
    • 이런 문제를 야기하는 개발자들 스스로가 공부하는 것을 귀찮아 하거나 필요하다는걸 깨닫지 못하고 있다.
    • 결과적으로, 이미 다 알고 있다고 생각하고 스스로를 전문가로 생각한다.

    위 아티클에서 인용된 Stackoverflow의 안좋은 답변에서는 초심자를 위해 어떻게 질문에 접근해야 하는가에 대해 이야기하지만 그보다 더 눈 여겨 보게 된 부분은 합당한 답변보다 단순히 기술적으로 옳은 답변(지금 당장에 동작하는 코드)를 선택함으로 잘못된 코드가 계속 생명력을 갖게 된다는 점이다. 결국 낮은 수준의 개발자들이 낮은 수준의 개발자를 끊임 없이 양산한다. 커뮤니티는 보수적으로 변하고 새로운 기술에 기민하게 대응하지 못하게 된다.

    깊이있게 알지 못하는 개발자를 정죄하자는 이야기는 아니다. 다만 내 스스로 쉬운 언어 속의 옅은 개발자로 삶을 살고 있는건 아닌지 경계해봐야 한다.


    VMFusion에서 Windows 8.1 업데이트 이후 공유 폴더 문제 해결 방법

    2014년 4월 15일

    tl;dr

    VMWare Tools를 다시 설치하면 된다.

    VMWare Tools 재설치하기

    문제

    맥에서 VMFusion를 사용해 Windows 개발 환경을 쓰고 있었는데 8.1로 업데이트 한 이후 공유 폴더 드라이브에 연결하지 못하는 문제가 나타났다.

    VMFusion에서는 맥과 윈도우 환경을 가상 드라이브를 통해 연결하는데 이 설정에서 윈도우 기본 폴더들을 맥 환경의 디렉토리로 연결해둘 수 있다. Desktop도 그런 방식으로 공유되어 있는 상태였는데 읽을 수는 있으나 저장이 안되는 이상한 상황이라 이것 저것 둘러보다가 가상 드라이브가 없어진 상태라는 것을 알게 되었다. Sharing에 문제가 있다고 로그아웃 하라는 얘기는 계속 나오지만 로그아웃 해도 해결되지 않았다.

    VMWare Tools를 재설치하니 정상적으로 드라이브를 인식해 다시 사용할 수 있었다.

    해결 과정

    1. 일단 VM을 종료한다.
    2. 메뉴에서 Virtual Machine > Sharing > Sharing Settings...에 들어가 공유를 끈다.
    3. VM을 실행하고 로그인해서 바탕화면까지 진입한다.
    4. 메뉴에서 Virtual Machine > Update VMWare Tools 또는 Virtual Machine > Reinstall VMWare Tools을 선택한다. VMWare Tools를 내려받는 과정 후 가상 이미지가 자동으로 추가되어 설치가 진행된다. 자동으로 진행되지 않으면 내 컴퓨터 > D: 에 있는 설치 프로그램을 실행해준다.
    5. 설치가 완료되면 재시동 하라고 하는데 재시동 한다.
    6. 다시 메뉴에서 Virtual Machine > Sharing > Sharing Settings...에 들어가 공유를 켠다.
    7. 재시동 된 VM에서 로그인한다. VM Sharing 설정이 변경되어 다시 로그인하라는 메시지가 뜨면 다시 로그인한다.