<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><atom:link href="https://iamsang.com" rel="self" type="application/rss+xml"/><title>이상현 IN 유럽</title><link>https://iamsang.com</link><description>유럽 사는 소프트웨어 엔지니어 이야기</description><generator>clj-rss</generator><image><url>https://iamsang.com/logo.png</url><title>이상현 IN 유럽</title><link>https://iamsang.com</link></image><item><title>2023 지난 3년 회고 – 두 번의 이직 한 번의 정리해고</title><link>https://iamsang.com/blog/2023/12/31/2023-retro</link><pubDate>Sun, 31 Dec 2023 20:52:00 +0100</pubDate><description>&lt;p&gt;2020년에 &lt;a href='https://iamsang.com/blog/2021/01/04/2020-retro/'&gt;11년간의 회고&lt;/a&gt;를 쓴 뒤 3년 만에 회고를 다시 한번 써보기로 하였다. 3년을 돌아보니 준비하던 것들이 한 단계 끝나고 한 번 사이클이 돌아간 것 같은 느낌이다.&lt;/p&gt;&lt;p&gt;그간 두 번의 이직을 하였고 한번의 정리해고와 이사가 있었다. 잡스가 애플에서 해고된 것이 최고의 행운이었다는 말을 한 적이 있는데, 그 정도는 아니지만 나의 정리해고도 꽤 행운이었다.&lt;/p&gt;&lt;p&gt;이번에도 쓰다보니 글이 길어졌는데 회고를 쓰며 돌아보니 결국 내 삶이 어떤 방식으로 진행되는지 결정하는 것은 내 주변 사람과 나에게 일어나는 일을 대하는 태도라는 것을 느꼈다.&lt;/p&gt;&lt;h3 id="2021-"&gt;2021 이직준비&lt;/h3&gt;&lt;h4 id=""&gt;블로깅&lt;/h4&gt;&lt;p&gt;2021년은 2020년에 이어 팬데믹의 해로 여전히 재택근무를 하고 있었다. 휴가를 못가니 일 년에 주어진 30일의 휴가를 대부분 평소 하고 싶었던 공부를 하거나 글을 쓰는데 사용하였다. 블로그를 시작한 이래 가장 많은 포스팅을 한 해였다.&lt;/p&gt;&lt;p&gt;와콤 테블릿을 사서 오랫동안 생각만 해오던 웹툰을 그려보기도 하였다. &lt;a href='https://iamsang.com/blog/2021/10/27/tcp-udp'&gt;TCP형 인간 UDP형 인간&lt;/a&gt; 같은 경우 꽤 인기가 있어서 트위터 상단에 꽂아놓기도 하였다.&lt;/p&gt;&lt;p&gt;&lt;img src="https://iamsang.com/img/tcp-udp.png" alt="(웹툰) TCP형 인간 UDP형 인간" /&gt;&lt;/p&gt;&lt;p&gt;데이터 사이언티스트들과 일하며 &lt;a href='https://iamsang.com/blog/2021/02/07/techneedle-google-paper-ai-and-data/'&gt;AI 업계의 데이터 작업 문제에 관련한 구글 논문&lt;/a&gt;과 &lt;a href='https://iamsang.com/blog/2021/02/13/techneedle-google-paper-youtube-algorithm/'&gt;유튜브 추천 알고리즘에 관한 논문&lt;/a&gt;를 읽고 리뷰를 써서 공유하기도 하였다.&lt;/p&gt;&lt;h4 id="-"&gt;이직 준비&lt;/h4&gt;&lt;p&gt;목표는 원격으로 일할 수 있는 곳에 취직하여 스페인으로 이사가는 것이었다. 베를린 생활도 나쁘진 않았지만 이미 5년 이상 지내면서 충분히 경험하기도 했고 날씨와 음식에 지쳐있는 부분도 있었다. 일년에 반정도는 흐리거나 비가 오며, 평균적인 외식 음식의 질이 낮은 편이다. 신선한 해산물을 구하는 것이 어려운 것도 문제였다.&lt;/p&gt;&lt;p&gt;자기 전 약간의 불면증으로 침대에 누워 한두 시간 정도 책을 보던 때가 있었는데 &lt;a href='https://careerly.co.kr/comments/61979?utm_campaign=self-share'&gt;O'Reilly&lt;/a&gt; 덕분에 다양한 기술서적을 보며 소양을 쌓고 이직 준비를 할 수 있었다. 분산시스템, 마이크로서비스, 도메인 주도 디자인, 쿠버네티스, 네트워크 등과 관련한 책들을 주로 보았는데 당시 회사에서 마이크로서비스를 이용한 분산시스템를 다루고 있던 때라 실제적인 경험과 접목시켜 학습할 수 있었다.&lt;/p&gt;&lt;p&gt;Scala를 업무에서 사용하기 시작하면서 Functional Programming in Scala를 동료들과 함께 학습하며 함수형 프로그래밍에 발을 담궈보기도 하였다. Scala는 한번쯤 배워볼만한 흥미로운 언어였고 함수형 프로그래밍 개념은 앞으로 개발자 인생에 계속해서 도움이 될 것 같다.&lt;/p&gt;&lt;h4 id="vim"&gt;vim&lt;/h4&gt;&lt;p&gt;vim을 오랫동안 사용해 왔지만 주로 자바 개발을 해왔던 터라 개발용으로는 쓰지 않고 있었는데 Scala를 시작으로 처음으로 개발에 쓰기 위해 vimscript를 배우고 다양한 셋업을 시작하였다.&lt;/p&gt;&lt;p&gt;vim에 한번 빠져들기 시작하니 제대로 셋업을 해봐야겠다는 생각이 들어 몇 달 간 개인시간을 모두 vim 셋업에 투자하였다. 투자시간에 대비해 얻는 것이 적을 것이라 생각해 미뤄온 일이었다. 세달 정도만에 &lt;a href='https://github.com/Sangdol/vimrc'&gt;vimrc 깃헙 저장소&lt;/a&gt;에 500 커밋을 찍었고 배운점을 정리해 &lt;a href='https://iamsang.com/en/2022/04/13/vimrc/'&gt;영어블로그 글&lt;/a&gt;을 하나 쓰기도 하였다. 그 이후로도 계속해서 vimrc를 개선해서 지금은 1000 커밋을 초과하였다.&lt;/p&gt;&lt;p&gt;덕분에 지금은 개발 생산성이 크게 향상되었고 구직에도 도움이 되었지만 투자시간이 어마어마하기 때문에 개인적으로 큰 흥미를 가지고 있지 않다면 추천하지는 않는다.&lt;/p&gt;&lt;h4 id="-"&gt;영어 블로그&lt;/h4&gt;&lt;p&gt;이력서를 준비하다보니 딱히 내세울만한 것이 많지 않다는 생각이 들어 영어 블로그를 써봐야겠다는 생각을 하였다. 현재 블로그는 &lt;a href='https://iamsang.com/blog/2020/10/10/custom-static-site-generator/'&gt;커스텀 정적사이트 생성기&lt;/a&gt;를 이용해 만들어져 있는데 영어블로그를 추가하기 위해 사이트 생성기를 수정하고 웹툰 몇 개와 vimrc 관련 글을 작성하였다.&lt;/p&gt;&lt;p&gt;처음 블로그를 쓰기 시작한 것도 한국에서 이직을 준비하며 무언가 더 보여줄만한게 없을까 고민하면서였다. 이직은 여러모로 자극과 배움의 기회가 된다.&lt;/p&gt;&lt;h3 id="2022&amp;mdash;&amp;mdash;"&gt;2022 두 번의 이직과 한 번의 정리해고&lt;/h3&gt;&lt;p&gt;이직을 고려 중이던 상황에서 메타 리쿠르터로부터 재택근무가 가능한 포지션이 있다는 연락을 받았다. 메타에 있는 전 동료에게 오랜만에 연락을 하였더니 "추천을 해줄테니 절대 리쿠르터를 통해 지원하지 말라"는 이야기를 들었다. 레퍼럴 보너스의 힘은 강력하다.&lt;/p&gt;&lt;p&gt;메타는 꼭 가고싶은 기업은 아니었지만 갈 수 있다면 한번쯤 일해볼만한 훌륭한 기업임에는 분명했다. 하지만 인터뷰 프로세스가 어려운 것으로 유명하니 최소 몇달은 준비를 해야할 것으로 예상했다.&lt;/p&gt;&lt;p&gt;지난 6년간 구직자의 입장에서 인터뷰를 본적이 없으니 목인터뷰를 통해 연습하고 라이브코딩도 준비해야할 것으로 생각했다.&lt;/p&gt;&lt;h4 id="wayflyer-"&gt;Wayflyer 지원&lt;/h4&gt;&lt;p&gt;이직을 준비하던 중 스타트업 리쿠르터에게 매력적인 조건으로 연락이 왔다. 인터뷰 연습이라 생각하고 지원해봐야겠다는 생각에 리쿠르터와 연락을 하기 시작하였는데 그 회사가 아일랜드 핀테크 스타트업 Wayflyer였다. 최근 많은 투자를 받아 유니콘이 되었고 앞으로도 높은 성장가능성이 있으며 스톡옵션을 준다는 이야기를 들었다. 마지막으로 기대 연봉에 대해 묻길래 대략적인 정보를 이야기한 후 혹시 스페인에 가게 되면 연봉이 바뀌는지를 물어보았는데 그렇지 않다는 답을 들었다.&lt;/p&gt;&lt;p&gt;한국에서는 서울로 모두가 몰리듯이 유럽에서는 경제상황이 좋은 런던, 파리, 뮌헨, 암스테르담, 베를린 등으로 개발자들이 몰리는데 그 외 스페인, 이탈리아, 포르투갈과 같은 곳은 급여가 형편없이 낮은 편이다. 물론 집값이나 생활물가가 상대적으로 낮긴 하지만 그런 것들을 고려하더라도 낮아서 음식도 맛있고 날씨도 좋은 곳에 살던 사람들이 굳이 흐리고 먹을게 없는 도시들로 몰리는 것이다. 이와 같은 상황에서 연봉의 변화없이 더 살기좋고 물가가 저렴한 곳으로 옮길 수 있는 것은 큰 장점이었다.&lt;/p&gt;&lt;p&gt;기술적으로는 Python을 사용하는데 꼭 Python 경력이 많지 않아도 된다는 이야기를 하였다. 그 동안 백엔드 개발은 주로 자바나 스칼라와 같은 JVM 언어를 사용해왔지만 좀 더 가벼운 Python 같은 언어로 넘어가고 싶었던 나에게는 큰 장점이었다. Python을 사용해보긴 했지만 장고나 플라스크 같은 백엔드 프레임워크 경험은 없었고 간단한 통계나 데이터 사이언스 혹은 스크립팅 용도로만 사용해본 상태였다.&lt;/p&gt;&lt;p&gt;설명을 다 듣고 나니 사실 내가 가고 싶은 곳은 이런 스타트업이었구나라는 생각이 들었다.&lt;/p&gt;&lt;h4 id="synthesia-"&gt;Synthesia 지원&lt;/h4&gt;&lt;p&gt;비슷한 시기에 비슷한 근무환경과 조건을 제시한 다른 기업에서 연락이 왔는데 &lt;a href='https://www.synthesia.io/'&gt;AI 스타트업 Synthesia&lt;/a&gt;였다. Python 백엔드이지만 Python 경력이 그렇게 중요하진 않고 재택근무이며 나라를 옮기는 것이 연봉과 관계가 없다는 이야기를 하였다. 최소 Wayflyer를 위한 인터뷰 연습이라도 되겠다는 생각에 채용 과정을 진행하게 되었다.&lt;/p&gt;&lt;p&gt;두 군데 모두 대기업과는 다르게 라이브 코딩 대신 과제를 내주었고 과제를 중심으로 기술 인터뷰가 진행되었다. 보통 과제를 내어줄 때 과제 소개에 몇 시간 정도면 구현가능하다고 되어 있지만 나는 과제 결과가 채용의 성패와 연봉에 크게 영향을 미치게될 것이 분명하다는 생각에 평일 저녁과 주말을 모두 할애해서 구현, 테스트, 문서, 다이어그램까지 충실히 만들어 제출하였다. 둘 다 Python을 이용해 과제를 풀었는데 흥미로운 프로젝트로 새로운 기술을 배워볼 수 있는 즐거운 경험이었다.&lt;/p&gt;&lt;p&gt;스타트업이다보니 채용과정도 빠르게 진행되었는데 나는 최대한 내 페이스에 맞게 두 회사의 과제 시간과 두 회사의 결과 나오는 타이밍을 조절해가며 진행하였다. &lt;/p&gt;&lt;p&gt;지원자 입장에서 회사에 잘 보이기 위해 회사에서 제촉하면 빠르게 해주는 것이 나을 것으로 생각할 수 있지만 회사입장에서는 얼마나 빠르게 답을 주느냐 보다는 얼마나 매력적인 지원자인가가 중요하기 때문에 조바심 내지 않고 상황을 잘 설명하며 진행하였다. 양쪽 회사에 두 군데에 진행 중이라는 사실을 투명하게 공유하였다.&lt;/p&gt;&lt;h4 id="-"&gt;탈락 소식&lt;/h4&gt;&lt;p&gt;시작은 Wayflyer부터 했지만 Synthesia가 더 빠르게 움직였고 과제도 먼저 제출하였다. 얼마 후 답장을 받았는데 아쉽게도 떨어졌다는 내용이었고 무엇이 긍정적이었고 무엇이 결정적인 문제였는지를 투명하게 공유하는 메일이었다.&lt;/p&gt;&lt;p&gt;결과를 받고 나니 순간적으로 불쾌했다. 일주일 간 열심히 과제를 해서 냈는데 거절의 이유가 납득되지 않았기 때문이다. &lt;/p&gt;&lt;p&gt;문제가 되었던 부분은 과제 설명이 충분히 명료하지않아 오해할만한 부분이었다. 어짜피 Wayflyer에 더 마음이 가던차라 그냥 접을까 고민했지만 마음을 잡고 왜 오해를 하였는지에 대해 설명하고 문제가 되는 부분을 수정할 용의가 있다고 이야기한 뒤, 그래도 여전히 거절이라면 흥미로운 과제 감사하다는 답을 보내었다.&lt;/p&gt;&lt;p&gt;채용과정 중 결과가 뒤집히는 일은 드물기 때문에 큰 기대없이 보낸 메일이었는데, 얼마 후 다음 인터뷰 날짜와 함께 답변이 왔다.&lt;/p&gt;&lt;h4 id=""&gt;합격&lt;/h4&gt;&lt;p&gt;결국 Synthesia에서 먼저 오퍼가 왔고 얼마 지나지 않아 Wayflyer에서도 오퍼를 받았다. 둘 다 매력적인 회사라 많은 고민을 하였지만 결국 Wayflyer를 선택하였는데 이유는 다음과 같다.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;영어실력을 좀 더 향상시키기 위해 더 원어민들이 많은 환경에서 일하고 싶었는데 아일랜드 스타트업인 Wayflyer에서 더 원어민들과 소통할 기회가 많을 것으로 예상하였다.&lt;/li&gt;&lt;li&gt;Wayflyer는 이미 스페인에 법인이 있는 상황이었기 때문에 스페인으로의 이주가 더 쉬울 것으로 예상하였다.&lt;/li&gt;&lt;li&gt;Wayflyer에서 좀 더 경험있는 개발자들과 일할 수 있을 것으로 예상하였다.&lt;/li&gt;&lt;li&gt;Wayflyer가 더 짧은 시간에 급속도로 성장한 기업이라 앞으로도 더 빠른 성장이 기대되었다.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;예전에 누군가 실리콘벨리에서 여러군데 합격 후 서로 경쟁을 시키며 연봉을 상당히 올렸다는 이야기를 들은 적이 있다. 이미 마음이 정해진 상태에서 그렇게 하는 것이 내키지 않기도 하였고 미국과는 달리 유럽에서는 개인간의 연봉차이가 그렇게까지 크지 않기 때문이 큰 의미가 없을 수 있다고 생각하였다. 다만 Wayflyer측에 더 선호하는 기업이지만 고민이 되는 상황이니 조금 더 좋은 조건을 주면 고민하지 않고 바로 수락하겠다느 이야기를 하였고 그렇게 결정이 마무리 되었다.&lt;/p&gt;&lt;p&gt;한 가지 깨달은 점은 협상 시에 애매한 태도를 취하면서 회사 측에서 알아서 더 좋은 조건을 제시해주기를 바라는 것은 좋은 전략이 아니라는 것이다. 회사 입장에서는 좋은 인력을 데려오는 것도 중요하지만 단순히 보상만 보고 선택하는 지원자를 원하지 않기 때문에 지원자 입장에서 고민하는 이유와 원하는 것을 정확하게 제시해 주는 것이 상호가 원하는 결과를 얻기위한 더 좋은 방법이다.&lt;/p&gt;&lt;h4 id=""&gt;정리해고&lt;/h4&gt;&lt;p&gt;입사한지 두 달 반쯤 지난 휴가를 다녀온 다음 날이었다. 아침 일찍부터 노트북을 켰는데 갑작스러운 전사회의가 잡혀있었다. 내용에는 "모두가 참석할 것. 모두 재택근무할 것."이라는 불길하고 짧은 메시지만 있었다.&lt;/p&gt;&lt;p&gt;이전에 다녔던 잘란도에서도 다른 부서에서 몇 차례 구조조정이 있었지만 항상 개발자들은 해고 대신 다른 팀으로 이동되었었다. 그 당시 상황상 구조조정을 예상하긴 했지만 여기도 비슷하지 않을까라는 생각을 하며 회의에 참석하였다.&lt;/p&gt;&lt;p&gt;발표는 충격적이었다. 회사 인원의 40% 가량을 모두 내보내는 것이었다. 약 2~3년 사이에 급속도로 성장하며 일년 남짓한 사이에 거의 열배가량으로 직원이 늘었는데 갑작스러운 세계경제 악화가 금리를 높이면서 핀테크 회사에 직격탄이 된 것이다. 약 한 시간 가량 진행되는 회의 중에 Synthesia에 여전히 채용이 열려있는지를 확인하였다. 다행이 열려있었고 급하게 "혹시 나 이전에 받은 오퍼 지금 받아도 되니?"를 묻는 이메일을 작성하였다. 모든 것이 대략 정리 된 후 오후 4시쯤 이메일을 보냈는데 5시 전에 환영한다는 답을 받았다. 한창 스트레스 받고 긴장되어 있었던 상황인데 빠르게 답을 준 Gregor에게 여전히 감사하게 생각하고 있다.&lt;/p&gt;&lt;p&gt;프로덕트 &amp; 엔지니어링 VP인 Gregor는 내가 Wayflyer를 선택하였다고 했을 때 마지막까지 개인적인 경험까지 공유하며 Synthesia로 오라고 붙잡아주었는데 그것을 거절하는 것은 꽤 괴로운 일이었다. 언젠가 같이 일할 수 있게 되기를 바란다는 답장을 하였지만 그 날이 이렇게 빠르게 오게 될줄은 예상하지 않았다.&lt;/p&gt;&lt;p&gt;Gregor는 처음 실제로 만나 저녁을 먹으러 가는 길에서 올 해 가장 잘 뽑은 직원 중 하나인 것 같다는 말을 해주었다. &lt;a href='https://careerly.co.kr/comments/62316?utm_campaign=self-share'&gt;리더의 말 한 마디&lt;/a&gt;가 참 중요하구나라는 생각을 할 때가 종종 있는데, 그 말을 들을 후로는 그것에 부합하는 성과를 내기위해 더 열심히 일하게 되었던 것 같다. &lt;/p&gt;&lt;p&gt;그렇게 11월에 Wayflyer에서 정리해고된 후 12월에 Synthesia에 입사하였다.&lt;/p&gt;&lt;h4 id="synthesia-"&gt;Synthesia 입사&lt;/h4&gt;&lt;p&gt;Synthesia에 입사 후 몇 가지를 깨달았는데,&lt;/p&gt;&lt;ol&gt;&lt;li&gt;막상 Wayflyer에서 들어간 팀에서는 영어 원어민 팀원이 그렇게 많지 않았다. 한 가지 간과한 것이 회사의 채용 인원을 늘리면서 당연하게도 유럽 전체에서 사람들을 뽑은 것이다. 재미있는 것은 Synthesia에서 들어간 팀에 미국, 영국 등에서 온 팀원들이 있어 오히려 원어민이 더 많았다. 원어민과 더 소통하며 일하는 것은 실제로 영어학습에 도움이 된다.&lt;/li&gt;&lt;li&gt;팀에서 경험한 개발자들의 실력도 Synthesia에서의 경험이 더 나았다. 마찬가지로 Wayflyer는 단기간에 많은 채용을 하며 채용기준을 Synthesia보다 높게 잡지 못했던 것 같다.&lt;/li&gt;&lt;li&gt;2022년 말 ChatGPT가 출시되면서 생성형 AI에 대한 사람들의 관심이 폭발하였고 그와 함께 Synthesia도 급속성장을 하였다. 그에 힘입어 2023년 대규모 투자유치를 통해 유니콘 기업이 되어 의도치 않게 독일, 아일랜드, 영국 유니콘 회사를 차례대로 경험하게 되었다.&lt;/li&gt;&lt;/ol&gt;&lt;h4 id="-"&gt;면접 팁&lt;/h4&gt;&lt;p&gt;두 곳에서 오퍼를 받은 것을 보고 혹시 대단한 실력자인가 생각한다면 오해이다. 동시에 여러 곳에서 오퍼를 받은 것은 처음이고 이전에는 항상 이직 때 마다 일 이년 간 여러 곳에서 거절을 당해왔었다. 독일로 오기까지 약 스무 군데 넘는 곳에서 거절을 당했고 대학 졸업 후 첫 입사 시에도 운 좋게 합격한 한 곳 덕분에 사회생활을 시작할 수 있었다.&lt;/p&gt;&lt;p&gt;이직 과정에서 여러가지가 운이 좋았는데 면접과정에서 가장 도움이 된 것 중 하나는 잘란도에서 쌓은 면접관 경험이었다. 면접관으로 활동하며 면접에 대해 경험을 쌓고 다른 지원자 합격결정 여부를 위한 최종결정 시에 다른 면접관들과 토론하며 회사가 원하는 것이 무엇인지에 대해 잘 알게 되었다.&lt;/p&gt;&lt;p&gt;면접관으로 활동하는 것은 에너지와 시간이 많이 드는 일이다. 면접관 활동이 진행하는 프로젝트에는 도움이 되지 않기 때문에 회사에서 좋은 평가를 받는데 걸림돌이 되기도 한다. 하지만 어떤 회사나 좋은 사람을 뽑는 것은 가장 중요한 부분 중 하나이고 그것에 성실히 임한 것이 나에게도 좋은 결과로 돌아온 것은 예상 이상의 성과였다.&lt;/p&gt;&lt;h4 id=""&gt;메타&lt;/h4&gt;&lt;p&gt;메타는 내가 원한다고 쉽게 갈 수 있는 기업도 아니고 결국 지원하지도 않았지만 혹시 지원을 했다가 합격을 하였어도 채용 취소가 되었을 수 있는 타이밍이었다. 2022년말 메타는 채용을 중단하고 제공되었던 오퍼까지 취소하여 전 직장 동료 중에는 오퍼를 받고 베를린에서 런던까지 이사갔다가 다시 돌아온 경우도 있었다.&lt;/p&gt;&lt;p&gt;앞으로의 목표가 계속 좋은 기업에 다니며 경력을 쌓아가는 것이라면 메타는 좋은 선택이겠지만 나의 목표와는 맞지 않는 기업이다. 오히려 급여도 복지도 좋은 기업에 들어가 도저히 다른 선택을 하며 빠져나올 수 없는 상황이 되는 것이 두렵기도 하였다.&lt;/p&gt;&lt;h4 id=""&gt;소회&lt;/h4&gt;&lt;p&gt;Synthesia 입사 시 이전에 함께 일했던 동료 레퍼럴을 요구하는 부분이 있었다. 한 곳에서 6년을 일하던 때라 같이 일하던 동료들이 여전히 같은 팀에서 일하고 있었다면 추천받는 것이 어려웠을텐데 마침 몇 달 전 메니저와 친하게 지내던 동료 두 명이 팀을 떠난 상태라 어렵지 않게 부탁할 수 있었다.&lt;/p&gt;&lt;p&gt;Gregor가 나에게 호감을 보여준 이유 중에 하나가 동료들의 고마운 레퍼럴 덕분이라고 생각한다. 온라인 시스템을 통해 바로 전달되어서 나는 볼 수 없었지만 Gregor의 반응을 보았을 때 공들여 좋은 레퍼럴을 넣어준 것이 아닌가 생각한다. &lt;/p&gt;&lt;p&gt;만약 첫 번째 거절메일에 대한 답변을 성의없이 하고 무시했다면 기회는 사라졌을 것이고 정리해고 후 곤란해졌을 것이다.&lt;/p&gt;&lt;p&gt;Synthesia에 입사할 생각없이 단순히 연봉을 올리기 위한 도구로 이용하고 결국 다른 회사로 가버렸더라도 다시 연락해 뒤늦게 입사하는 것이 어려웠을지도 모른다.&lt;/p&gt;&lt;p&gt;동료들과의 관계에서 혹은 내가 처한 상황에서 눈 앞의 이익이나 순간적이 감정에 좌우된 결정을 내리지 않은 것이 좋은 결과로 돌아온 것으로 생각한다.&lt;/p&gt;&lt;h3 id="2023-synthesia-"&gt;2023 Synthesia, 이사&lt;/h3&gt;&lt;h4 id="chatgpt"&gt;ChatGPT&lt;/h4&gt;&lt;p&gt;2022년 말 ChatGPT의 등장 이후 ChatGPT를 vim에 연동해서 쓰기 시작하였다. vim 개발이 가능해지면 개발환경을 개발할 수 있게된다. 이미 만들어진 플러그인이 몇 개 있었지만 내 입맛에 맞는건 없었다. vim 스크립트와 Lua 스크립트를 이용해 GPT3.5 API를 호출하는 방식으로 개발하였는데 생각없이 마음껏 써도 한달에 50 센트 정도의 비용이 나왔었다.&lt;/p&gt;&lt;p&gt;GPT4가 나온 이후에도 유료 구독을 하지 않고 계속 내가 만든 스크립트를 이용하였는데 이번에는 비용이 만만치 않았다. GPT4 API의 비용은 GPT3.5에 비해 대략 20배 정도 비싼 가격이었다. 결국 구독을 시작하였는데 그 이후 웹검색, DALL·E 3, 이미지 인식 등 다양한 기능이 추가되어 만족하며 사용하고 있다.&lt;/p&gt;&lt;p&gt;주로 개발과 영어 학습에 도움을 받고 있는데 최근에는 독일어 공부를 다시 시작하며 독일어 학습에도 큰 도움을 받고 있다.&lt;/p&gt;&lt;h4 id="synthesia"&gt;Synthesia&lt;/h4&gt;&lt;p&gt;Synthesia에서 근무는 만족스러웠다. 지금은 어느 개발회사를 가든 대체로 비슷한 업무 방식을 가지고 있는데, 팀이나 회사마다 조금씩 변형은 있지만 보통 2주 스프린트, 플래닝미팅, 일일 스탠드업, 데모, 회고미팅 등을 주기적으로 하는 것이 일반적이다. &lt;/p&gt;&lt;p&gt;Synthesia에서는 불필요한 미팅을 극단적으로 줄이고 필요한 업데이트는 주로 글이나 문서로 대신한다. 그래서 미팅이 있는 날보다 없는 날이 더 많아 업무에 집중할 수 있는데, 방해받지 않고 긴 시간 집중할 수 있는 것이 생산성 향상에 도움이 된다.&lt;/p&gt;&lt;p&gt;미팅 없이 집에서 일하니 업무시간도 유연하게 활용가능하다. 예를 들어 아침에 일찍 깬 날은 집중력이 좋은 아침에 일을 하고 나른한 오후에는 잠깐 낮잠을 자고 일어나 다시 집중력을 가지고 일을 하는 식이다. &lt;/p&gt;&lt;p&gt;많은 직원들이 유럽 각국에 떨어져 일하다보니 분기에 한번쯤 모여 회의도 하고 파티를 하기도 하는데 회사 덕분에 하게되는 여행도 꽤 즐거운 부분이다. 일년에 한번은 전사 직원이 모이는데 작년 모임은 바르셀로나였다. 그 외 코펜하겐, 암스테르담을 다녀왔고 내년에는 프랑크프루트와 그리스 여행이 예정되어 있다.&lt;/p&gt;&lt;p&gt;아직 개발자 수가 많진 않지만 회사에 들어온 후 지난 일 년간 다른 곳으로 이직하는 개발자를 아직 보지 못했다.&lt;/p&gt;&lt;h4 id=""&gt;이사&lt;/h4&gt;&lt;p&gt;재택근무를 할 수 있는 회사로 이직을 하였으니 올해의 목표는 스페인으로 이사였다. 어느 도시가 좋을지 선정하기 위해 발렌시아, 말라가, 바르셀로나, 알리칸테를 다녀왔고 결과는 적당히 물가와 도시발전의 균형이 잡힌 말라가로 하였다.&lt;/p&gt;&lt;p&gt;비자와 관련하여 회사와 대화를 시작하였는데, 예상보다 비자 받을 수 있는 방법을 찾는 것이 쉽지 않았다. 스페인에서 블루카드를 받으려면 스페인 회사에 다녀야하는데 우리 회사는 아직 스페인에 법인이 없으니 불가능했다. 스페인에서는 디지털 노마드 비자를 제공하는데 노마드 비자를 받기 위해서는 다른 나라에 고용되어 있어야하고, 독일에서 블루카드로 계속 고용되어 있기 위해서는 독일에 거주하고 있어야한다. 결국 회사에서 스페인 법인이 생기거나 내가 EU 시민이 되지 않고서는 비자를 받을 수 있는 쉬운 방법이 없었다.&lt;/p&gt;&lt;p&gt;스페인으로의 이사는 장기적으로 다시 고민해봐야겠다고 생각하던 차에 집 주인으로부터 연락이 왔다. 집주인은 재택으로 IT 쪽에 일하며 이탈리아에 살고 있었는데 작년부터 몰아친 IT 정리해고 열풍에 피해를 입고 구직을 하던 중이었다. 이탈리아에서는 도저히 좋은 연봉을 주는 일을 찾을 수 없어 독일로 들어와야하게 되어 집을 비워주어야한다는 연락이었다. 나의 정리해고는 쉽게 넘겼지만 집주인의 정리해고 여파는 강력했다.&lt;/p&gt;&lt;p&gt;우리는 급하게 다시 이사를 고민하기 시작했다. 베를린에서 처음 자리 잡았던 7년 전에 비해 렌트비가 거의 배로 오른 상태였다. 독일에서는 세입자 보호법이 강하기 때문에 세입자가 살고 있는 중에는 렌트비를 많이 올릴 수 없어 우리는 오래된 렌트비를 즐기고 있던 중이었다. 만약 지금 베를린에서 이사를 한다면 거의 두배의 렌트비를 내거나 훨씬 조건이 좋지 않은 집으로 들어가야하는 상황이었다.&lt;/p&gt;&lt;p&gt;스페인에 못가게 되었을 때 대안으로 생각하던 켈(Kehl)이라는 독일 남부의 소도시가 있었다. 여전히 독일이라 날씨가 좋진 않지만 프랑스의 중소도시 스트라스부르와 붙어있어 프랑스 마켓에서 해산물이나 베이커리 등 질 높은 식료품을 구할 수 있는 곳으로 소문을 들어 알고 있었다. 베를린에서는 700km쯤 떨어진 곳으로 기차로 두번 갈아타고 8시간쯤 걸려 가야하는 곳이다. 부산에서 북한 끝까지 가는 것보다 더 먼 거리이다.&lt;/p&gt;&lt;p&gt;급하게 2박 3일로 켈에 방문해 켈과 스트라스부르를 둘러보고 몇 집을 보았는데 운 좋게 바로 마음에 드는 집을 찾아 계약을 하고 이사를 하게 되었다. 이사는 짐을 싣는데 하루, 이동에 하루, 짐을 내리는데 하루, 총 3일이 걸렸다.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt; 원격근무로 일할 수 있는 회사의 성공 사례를 보는 것은 반가운 일이다. 원격으로 일할 수 있다는 건 원하는 곳에서 살 수 있다는 뜻이다. 굳이 물가가 비싸고 복잡한 도시에서 살 필요가 없다. 원한다면 카페에서 일을 할 수 있고 휴가지에도 일하는 것이 가능하다. 출퇴근에 시간을 낭비할 필요도 없다. &lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;2018년에 테크니들에 &lt;a href='https://techneedle.com/archives/36570'&gt;전원 원격근무로 한해 117억원 수익 올린 ‘깃랩 GitLab’&lt;/a&gt;이라는 글을 통해 공유한 내용이다.&lt;/p&gt;&lt;p&gt;지금은 라인강 너머로 프랑스가 보이는 조용한 마을에서 일하며 지내고 있다.&lt;/p&gt;&lt;p&gt;&lt;img src="https://iamsang.com/img/kehl-sunset.jpeg" alt="Kehl sunset" /&gt;&lt;/p&gt;</description></item><item><title>(웹툰) 사무실 복귀</title><link>https://iamsang.com/blog/2022/08/07/return-to-office</link><pubDate>Sun, 07 Aug 2022 21:47:00 +0200</pubDate><description>&lt;p&gt;&lt;img src="https://iamsang.com/img/return-to-office.png" alt="사무실 복귀 웹툰" /&gt;&lt;/p&gt;&lt;p&gt;다음 달부터 재택근무 하는 회사로 이직하게 되었다.&lt;/p&gt;</description></item><item><title>커리어리</title><link>https://iamsang.com/blog/2022/07/20/careerly</link><pubDate>Wed, 20 Jul 2022 23:02:42 +0200</pubDate><description>&lt;p&gt;2022년 올 해 초 &lt;a href='https://careerly.co.kr/'&gt;커리어리&lt;/a&gt;라는 직장인 커뮤니티 플랫폼으로부터 큐레이터 활동을 제안하는 메일을 받았다. 일반적인 템플릿에 담긴 이메일이 아니라 나의 글과 만화를 재미있게 보았다는 개인적인 내용이 담긴 이메일이었다 (그 이후 몇 차례 다른 곳에서 다른 종류의 제안 메일을 받았지만 개인적인 내용이 들어간 메일은 없었다.)&lt;/p&gt;&lt;p&gt;내용은 감사했지만 주기적으로 글을 쓰는 것이 부담스러워 거절 메일을 드렸는데 콘텐츠가 좋아서 연락드렸다며 가능할 때 언제라도 연락달라는 답을 받고는 마음을 돌리고 시작해보기로 하였다.&lt;/p&gt;&lt;p&gt;글 쓰는 습관을 가지는 것이 목표였는데 블로그에 글을 쓰는 것은 왜인지 부담이었다. 트위터를 이용해 글을 좀 더 써보려했지만 짦은 글로 나눌 수 있는 이야기는 제한적이었다.&lt;/p&gt;&lt;p&gt;커리어리는 커리어라는 주제가 정해져 있고 글의 길이에 대한 제약 없이 인터페이스가 단순하니 공유하는 것이 쉬웠다.&lt;/p&gt;&lt;p&gt;해외 쪽을 살펴보면 통찰력있거나 유용한 정보를 공유하는 트위터 계정이 많은 반면 국내에는 왜인지 재미없는 유머, 편향된 정치 이야기, 관심없는 일기가 주류라 좀 더 밀도있는 정보원을 찾고 싶었는데 커리어리가 그 일을 해주고 있다.&lt;/p&gt;&lt;p&gt;최근 글을 쓸 때 커리어리와 블로그 중 어디에 공유해야하는가에 대한 고민을 하였다. 결론은 텍스트만으로 표현할 수 있는 길지 않은 글은 커리어리에 적는다였다. 코드, 이미지, 하이퍼링크가 필요한 글이 아니라면 커리어리를 통해 쉽게 더 많은 사람과 이야기를 나눌 수 있다.&lt;/p&gt;&lt;p&gt;나의 글은 &lt;a href='https://careerly.co.kr/profiles/414463'&gt;나의 프로필 페이지&lt;/a&gt;에서 볼 수 있다.&lt;/p&gt;</description></item><item><title>(책 추천) 벌거벗은 통계학</title><link>https://iamsang.com/blog/2022/03/13/naked-statistics</link><pubDate>Sun, 13 Mar 2022 22:13:42 +0100</pubDate><description>&lt;p&gt;&lt;img src="https://iamsang.com/img/naked-statistics.jpeg" alt="벌거벗은 통계학 책 표지" /&gt;&lt;/p&gt;&lt;p&gt;커리어와 관련하여 21세기 가장 섹시한 문장은 아마도 &lt;a href='https://hbr.org/2012/10/data-scientist-the-sexiest-job-of-the-21st-century'&gt;"데이터 사이언티스트는 21세기 가장 섹시한 직업"&lt;/a&gt;이라는 말일 것이다.&lt;/p&gt;&lt;p&gt;한 문장이 한 사람의 커리어를 결정할 수도 있다는 생각이 들정도로 강력한 문장이며 나도 한 때 데이터 사이언티스트로의 전향을 목표로 한적이 있다. 실제 수학과 소프트웨어 엔지니어링이 결합된 매력적인 분야였다 (지금은 다시 소프트웨어 엔지니어로 남겠다는 결정을 하였고 그 이유는 다른 글에서 적어보도록 하겠다.)&lt;/p&gt;&lt;p&gt;학문적으로 깊게 들어가지 않더라도 알기 전과 후 세상이 다르게 보이는 분야들이 있다. 글자을 읽을 수 있거나 산수를 할줄 아는 사람은 그렇지 않은 사람과 다른 세상을 산다. 진회론, 심리학이 그랬고 통계학도 그러했다.&lt;/p&gt;&lt;p&gt;데이터 사이언스를 위해 통계를 학습해야했다. 데이터 사이언스 쪽 일을 하지 않는 지금은 통계학을 실용적으로 쓸 일이 거의 없지만 세상을 이해하는 도구를 하나 더 얻은 느낌이다. 예를 들어 논문들이 어떤식으로 평가되고 결정되는지를 이해하게 되는데 왜 연구결과에 따르면 술을 마시거나 소고기를 먹으면 암에 걸릴 확률이 높아지기도 낮아지기도 하는지가 이해된다.&lt;/p&gt;&lt;p&gt;지금도 그런지 모르겠지만 통계는 수능에 한 문제가 나오거나 나오지 않기도 하기 때문에 수학에 자신이 없다면 포기하라가 정설이었다. 통계는 다른 비중있게 배우는 분야들 못지 않게 중요한데 더 중요도를 높여야하지 않는가라는 주장도 있다 (&lt;a href='https://www.youtube.com/watch?v=BhMKmovNjvc'&gt;TED 영상&lt;/a&gt;). 미적분은 움직임과 무한을 이해하는데 도움을 주고 AI를 포함한 여러 분야에서 필수적이지만 대부분의 사람이 세상을 살아가는데에는 통계가 더욱 유용하다. 물론 그것을 비중있게 다루는 것과 사람들이 얼마나 실용적으로 사용할 수 있냐는 다른 문제일 것이다.&lt;/p&gt;&lt;p&gt;(나를 포함한) 얼마나 많은 사람들이 다음과 같은 말을 하거나 들으며 결론을 내리는지를 생각해보자.&lt;/p&gt;&lt;p&gt;"우리 할아버지는 흡연하며 건강하게 장수 하시더라."&lt;br&gt; "유명인이 담배도 안 피우고 폐암에 걸렸는데 알고보니 냉수마찰을 즐겼다고 한다."&lt;br&gt; "우리 형도 그렇고 첫째인 너도 그런걸 보니 첫째들의 특성인가보다."&lt;br&gt;&lt;/p&gt;&lt;p&gt;노벨 경제학상을 수상한 데니얼 카너먼의 책 "생각에 관한 생각"에는 사람은 어려서부터 문법을 모르고도 문법을 익힐 수 있는 직관적인 문법가이지만 통계학자조차도 직관적인 통계학자가 아니라고 한다. 하지만 통계학에 대한 지식은 편향과 미신을 경계하는데 도움을 준다.&lt;/p&gt;&lt;p&gt;벌거벗은 통계학은 기본적인 통계학을 다양한 연구 결과와 함께 소개한 책이다. 그 중에는 "암컷에게 거절당한 초파리는 술로 슬픔을 달랜다"와 같은 흥미로운 연구도 있다.&lt;/p&gt;&lt;p&gt;또 다른 흥미로운 연구는 “하버드가 당신의 인생을 바꾸는가”이다. 치열한 입시경쟁을 보면 한국에서는 많은 사람들이 명문대가 인생을 바꿀 것이라고 생각하고 있는듯 하다.&lt;/p&gt;&lt;p&gt;연구는 여러 학교에 지원해 하버드에 간 학생과 갈 수 있었지만 가지 않았던 학생들을 대상으로 하였고 그들이 사회로 나온 후 수익이 얼마나 차이가 나느냐로 수행되었다. 하버드에 갈 수 있었지만 가지 않았던 사람들은 특별한 사람들이었을 수 있고 수익으로 그 사람의 인생을 판단할 수는 없다. 하지만 수익은 연구를 위한 좋은 지표가 될 수 있다.&lt;/p&gt;&lt;p&gt;결과는 차이가 나지 않는다였고 예외적으로 저소득층 가족의 구성원이었던 학생은 더 입학하기 어려운 학교에 갔을 때 수익이 높았다고 한다.&lt;/p&gt;&lt;p&gt;기도는 기도를 받는 대상에게 실제적인 영향을 미칠까. 책에는 약 30억원의 자금을 들여 1,800명의 환자를 대상으로 수행한 기도에 관한 연구도 소개한다. 그 외에도 책에서 다룬 다양한 흥미로운 연구가 있지만 결과는 스포하지 않고 남겨두도록 하겠다.&lt;/p&gt;&lt;p&gt;노트: 책의 원제는 Naked Statistics이며 킨들을 통해 보았기 때문에 번역서의 질이 어떤진 보지 못했지만 국내 도서 웹사이트에서 긍정적인 리뷰를 받은 것을 보아 좋을 것으로 생각된다.&lt;/p&gt;</description></item><item><title>(웹툰) 메르켈</title><link>https://iamsang.com/blog/2021/12/02/merkel</link><pubDate>Thu, 02 Dec 2021 19:40:00 +0100</pubDate><description>&lt;p&gt;&lt;img src="https://iamsang.com/img/merkel.png" alt="(웹툰) 메르켈" /&gt;&lt;/p&gt;&lt;p&gt;독일 선거 치른지가 꽤 되었는데 아직 총리 자리에 있는 메르켈을 보고 얼마 전에 그려보았는데 2021년 12월 2일 오늘이 퇴임식이다.&lt;/p&gt;&lt;p&gt;오랜기간 수고 많으셨습니다.&lt;/p&gt;&lt;h3 id=""&gt;스크립트&lt;/h3&gt;&lt;p&gt;메르켈: 지난 16년간 일해왔던 이곳도 다음 주면 떠나는구나.&lt;/p&gt;&lt;p&gt;보좌관: 네? 아직...&lt;/p&gt;&lt;p&gt;보좌관: 퀸디궁 안 넣으셔서 최소 3개월은 더 하셔야...&lt;/p&gt;&lt;p&gt;메르켈: ...&lt;/p&gt;&lt;p&gt;독일에서 계약종료를 위해서는 퀸디궁이라고 불리는 3개월 전 통보가 기본이다.&lt;/p&gt;</description></item><item><title>(웹툰) 개발자의 시간</title><link>https://iamsang.com/blog/2021/11/21/developer-time</link><pubDate>Sun, 21 Nov 2021 20:13:00 +0100</pubDate><description>&lt;p&gt;&lt;img src="https://iamsang.com/img/developer-time.png" alt="(웹툰) 개발자의 시간" /&gt;&lt;/p&gt;&lt;h3 id=""&gt;스크립트&lt;/h3&gt;&lt;p&gt;A: 새 기능 오늘 출시 하나요?&lt;/p&gt;&lt;p&gt;B: 네, 개발쪽에 약간 문제가 생겨서&lt;/p&gt;&lt;p&gt;B: 2시간 정도만 기다려 달라고 하시더라고요&lt;/p&gt;&lt;p&gt;A: 2시간…&lt;/p&gt;&lt;p&gt;A: 그거 오늘 안돼요.&lt;/p&gt;</description></item><item><title>(웹툰) 실용 이진검색</title><link>https://iamsang.com/blog/2021/11/14/binary-search-in-practice</link><pubDate>Sun, 14 Nov 2021 20:20:00 +0100</pubDate><description>&lt;p&gt;&lt;img src="https://iamsang.com/img/binary-search-in-practice.png" alt="(웹툰) 실용 이진검색" /&gt;&lt;/p&gt;&lt;h3 id=""&gt;스크립트&lt;/h3&gt;&lt;p&gt;git merge 하니 레이아웃이 깨졌네.&lt;/p&gt;&lt;p&gt;4000줄...&lt;/p&gt;&lt;p&gt;2000...&lt;/p&gt;&lt;p&gt;1000... 500... 250... 120... 찾았다.&lt;/p&gt;&lt;p&gt;단서가 없어 풀텍스트 검색을 해야할 때는 이진검색을 하면 빠르게 찾을 수 있다.&lt;/p&gt;</description></item><item><title>(웹툰) 시니어 개발자와 XY Problem</title><link>https://iamsang.com/blog/2021/11/05/xy-problem</link><pubDate>Fri, 05 Nov 2021 22:23:00 +0100</pubDate><description>&lt;p&gt;&lt;img src="https://iamsang.com/img/xy-problem.png" alt="(웹툰) 시니어 개발자와 XY Problem" /&gt;&lt;/p&gt;&lt;h3 id=""&gt;스크립트&lt;/h3&gt;&lt;p&gt;"git을 이용해 브랜치 하나를 여러개로 쪼개려면 어떻게 해야 하나요?"라고 주니어 개발자가 물어볼 때는 &lt;/p&gt;&lt;p&gt;"git checkout"으로 뒤로 돌아간 다음 다른 브랜치를 만들고 다시..."라고 대답하는 대신에&lt;/p&gt;&lt;p&gt;"해결하고 싶은 문제가 뭔가요?"라고 물어보면&lt;/p&gt;&lt;p&gt;"지금 이 브랜치에서 특정 커밋들만 가져오고 싶어요." 해결하고 싶은 문제가 무엇인지 들을 수 있고&lt;/p&gt;&lt;p&gt;"그럴 땐 브랜치를 쪼개는 대신 체리픽을 통해 여러 커밋을 한번에 가져올 수 있어요." 더 좋은 답변을 줄 수 있다.&lt;/p&gt;&lt;p&gt;"그런 방법이 있었군요. 감사합니다."&lt;/p&gt;&lt;p&gt;실제 문제의 답에 대해 묻는 대신 시도하고 있는 방법에 대한 해결책을 물어봐서 상황이 복잡해지는 문제를 XY Problem이라고 한다.&lt;/p&gt;</description></item><item><title>(웹툰) 감자역설</title><link>https://iamsang.com/blog/2021/10/31/potato-paradox</link><pubDate>Sun, 31 Oct 2021 21:09:00 +0100</pubDate><description>&lt;p&gt;&lt;img src="https://iamsang.com/img/potato-paradox.png" alt="(웹툰) 감자역설" /&gt;&lt;/p&gt;&lt;h3 id=""&gt;스크립트&lt;/h3&gt;&lt;p&gt;수분 99%인 100g 감자의 수분이 줄어 98%가 되었다면 감자는 몇 그램이 되었을까?&lt;/p&gt;&lt;p&gt;정답은 99g정도... 라고 했다면 오답.&lt;/p&gt;&lt;p&gt;수분 99g + 1g에서 수분 49g + 1g으로 바뀐 것으로&lt;/p&gt;&lt;p&gt;정답은 50g이며 이것을 potato paradox 혹은 감자역설이라고 한다.&lt;/p&gt;&lt;p&gt;실제 감자의 수분은 79% 정도로 99%가 수분인 감자는 맛이 없을 것으로 예상되며 79%까지 계속 말리면 감자는 4.77 그램 정도가 남게 된다.&lt;/p&gt;</description></item><item><title>(웹툰) TCP형 인간 UDP형 인간</title><link>https://iamsang.com/blog/2021/10/27/tcp-udp</link><pubDate>Wed, 27 Oct 2021 20:35:00 +0200</pubDate><description>&lt;p&gt;&lt;img src="https://iamsang.com/img/tcp-udp.png" alt="(웹툰) TCP형 인간 UDP형 인간" /&gt;&lt;/p&gt;&lt;h3 id=""&gt;스크립트&lt;/h3&gt;&lt;p&gt;TCP형&lt;/p&gt;&lt;p&gt;A: 안녕하세요, 좋은 날씨입니다. 잘 지내셨나요? (09:23)&lt;br&gt; B: 안녕하세요, 저는 잘 지내고 있습니다. 잘 지내셨죠? (10:42)&lt;br&gt; A: 네, 저도 잘 지내고 있습니다. (11:30)&lt;br&gt; A: 저기 새 API 개발 진행 상황이 어떻게 되나요? (11:32)&lt;br&gt;&lt;/p&gt;&lt;p&gt;UDP형&lt;/p&gt;&lt;p&gt;A: 어떻게 되죠 (09:23)&lt;br&gt; A: 진행상황이?&lt;br&gt; A: 안ㄴ녕하세요? (09:24)&lt;br&gt; B: 안녕하세요, 어떤 진행상황 말씀이죠? (10:42)&lt;br&gt; A: 그 새 api rㅐ발 (10:42)&lt;br&gt; A: 관련해서요&lt;/p&gt;</description></item><item><title>(웹툰) Redis 캐시</title><link>https://iamsang.com/blog/2021/10/24/redis-cache</link><pubDate>Sun, 24 Oct 2021 20:15:00 +0200</pubDate><description>&lt;p&gt;&lt;img src="https://iamsang.com/img/redis-cache.png" alt="(웹툰) 레디스 캐시" /&gt;&lt;/p&gt;&lt;h3 id=""&gt;스크립트&lt;/h3&gt;&lt;p&gt;Redis는 뛰어난 성능과 쉬운 사용법으로 가장 사랑받는 key-value 저장소로 캐시 저장소로 주로 사용된다.&lt;/p&gt;&lt;p&gt;Redis가 빠른 이유는 in-memory 데이터 저장소를 통해 데이터를 제공하기 때문이며 스택오버플로의 Redis는 하루 37.5억 쿼리를 처리하며 단 1%의 CPU만을 이용한다.&lt;/p&gt;&lt;p&gt;"각 서버의 메모리에 데이터를 캐시해 놓으면 더 빠른데 왜 Redis를 쓰나요?"&lt;/p&gt;&lt;p&gt;Good point.&lt;/p&gt;&lt;p&gt;대략 서버 재시작 시 어떻게 캐시를 로드할지, 각 서버 캐시의 데이터 불일치를 어떻게 해결할지, 캐시 사이즈가 커지면 어떻게 감당할지 정도 문제만 해결한다면 괜찮은 생각이지.&lt;/p&gt;</description></item><item><title>(웹툰) 영어 스탠드업</title><link>https://iamsang.com/blog/2021/09/06/standup</link><pubDate>Mon, 06 Sep 2021 21:51:00 +0200</pubDate><description>&lt;p&gt;&lt;img src="https://iamsang.com/img/standup.png" alt="영어 스탠드업 웹툰" /&gt;&lt;/p&gt;&lt;p&gt;이전 글 &lt;a href='https://iamsang.com/blog/2020/12/20/difficult-english/'&gt;해외취업과 영어의 어려움&lt;/a&gt;에서 이야기하였던 에피소드이다. 스탠드업에서 할 이야기를 미리 영어로 준비하지 않아도 되기까지 꽤 오랜시간이 걸렸었다.&lt;/p&gt;</description></item><item><title>(웹툰) git blame</title><link>https://iamsang.com/blog/2021/09/02/git-blame</link><pubDate>Thu, 02 Sep 2021 22:23:00 +0200</pubDate><description>&lt;p&gt;&lt;img src="https://iamsang.com/img/git-blame.png" alt="git blame 웹툰" /&gt;&lt;/p&gt;&lt;p&gt;마린블루스가 주류이던 때부터 웹툰을 그려보고 싶다는 생각은 했지만 누가 비웃진 않을까라는 생각에 시도해본적은 없었다. 항상 "언젠가는 한번 해봐야지"라는 생각이었는데 얼마 전 &lt;a href='https://www.youtube.com/watch?v=H4LG2so-Kkw'&gt;에밀리아 클라크가 지미 팔콘 토크쇼&lt;/a&gt;에 나와 한 말을 듣고는 그냥 한번 그려보았다.&lt;/p&gt;&lt;p&gt;지미는 에밀리아가 쓴 글이 만화로 나온 것에 대해 질문하며 혹시 그것이 영화나 티비쇼로 제작될 수도 있냐는 질문을 하였다. 그에 에밀리아는 이렇게 대답하였다.&lt;/p&gt;&lt;p&gt;"그것은 내가 만화를 시작한 이유가 아니에요. 나는 약간 정신이 나갔기 때문에 만화를 만든거에요. (I made a comic 'cause I'm crazy and so I did that.)"&lt;/p&gt;</description></item><item><title>유럽 코로나 확진자 수 프로젝트 개발/실패기</title><link>https://iamsang.com/blog/2021/08/25/corona-project</link><pubDate>Wed, 25 Aug 2021 22:20:00 +0200</pubDate><description>&lt;p&gt;작년 7월 유럽의 COVID-19 상황을 모바일 폰에서 한눈에 보고 싶어 &lt;a href='https://europecorona.com/'&gt;Europe COVID-19 Cases&lt;/a&gt; 사이트를 출시하였다.&lt;/p&gt;&lt;p&gt;"이런 사이트가 있으면 좋겠다. 나에게 필요하다면 다른 사람에게도 필요하지 않을까"라는 생각에 만들게 되었다. 지금도 개인적으로는 잘 사용하고 있지만 현재 사이트 방문자는 하루 5명 이내이다.&lt;/p&gt;&lt;p&gt;Europe COVID-19 Cases 사이트를 개발하며 데이터는 어디서 받을 수 있었는지 홍보는 어떻게 하였는지,  왜 실패인지, 어떤 것을 배울 수 있었는지에 대해 공유해보려고 한다.&lt;/p&gt;&lt;p&gt;&lt;img src="https://iamsang.com/img/corona-project-stat.png" alt="유럽 코로나 확진자 수 프로젝트 방문자 수" /&gt;&lt;/p&gt;&lt;p&gt;개발을 위해 사용한 기술과 플랫폼은 다음과 같다.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Python (Jupyter, Pandas): 데이터 분석&lt;/li&gt;&lt;li&gt;Clojure: 데이터 처리, 사이트 생성&lt;/li&gt;&lt;li&gt;&lt;a href='http://tabulator.info/'&gt;Tabulator&lt;/a&gt;: 테이블 UI&lt;/li&gt;&lt;li&gt;&lt;a href='https://www.netlify.com/'&gt;Netlify&lt;/a&gt;: 정적 사이트 호스팅&lt;/li&gt;&lt;li&gt;&lt;a href='https://www.namesilo.com/'&gt;NameSilo&lt;/a&gt;: 도메인 호스팅&lt;/li&gt;&lt;li&gt;라즈베리 파이: 크론잡 통해 정적 서버 생성 및 배포&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;서버 유지비용은 도메인 비용인 약 연 $9 정도이다. 닷컴 도메인이 아니었다면 $2~3 정도의 싼 도메인도 가능했는데 혹시 많은 사람들이 방문하는데 도움이 되지 않을까라는 헛된 꿈을 꾸고 닷컴 도메인을 구매하였다. 한달에 500원정도 더 내는 건 감당할만하다고 생각하였다.&lt;/p&gt;&lt;p&gt;프로젝트를 시작하며 데이터를 찾는데 많은 시간이 걸렸다. 공개된 API들이 있었지만 안정적으로 운용되는 곳은 없었다. &lt;a href='https://github.com/CSSEGISandData/COVID-19'&gt;존스 홉킨스 대학에서 제공하는 데이터&lt;/a&gt;도 있었지만 상업적으로는 사용할 수 없다는 조건이 있었다. 프로젝트를 상업화할 가능성은 낮다고 생각했지만 처음부터 그 가능성을 없애고 싶진 않았다. 이후 &lt;a href='https://ourworldindata.org/'&gt;Our World in Data&lt;/a&gt;라는 서비스를 찾을 수 있었다. 출처 표기만 있으면 데이터를 원하는 용도로 사용할 수 있었다. (알고보니 해당 서비스는 해커뉴스를 만든 폴그레이엄이 운영하는 투자기업 Y Combinator의 지원을 받는 스타트업이었다. 코로나와 관련된 데이터 뿐 아니라 건강, 인구, 식품 등 다양한 분야에 대한 데이터를 제공한다.)&lt;/p&gt;&lt;p&gt;&lt;img src="https://iamsang.com/img/corona-project-architecture.png" alt="유럽 코로나 확진자 수 프로젝트 아키텍처" /&gt;&lt;/p&gt;&lt;p&gt;개발 후 홍보를 위해 처음 이용한 웹사이트는 &lt;a href='https://www.indiehackers.com/'&gt;인디해커&lt;/a&gt;였다. 인디해커는 수익성이 될만한 사이드 프로젝트를 개발하는 사람들이 모인 커뮤니티이다. 한 개발자가 시작한 사이트인데 이후 Stripe에 인수되었다. 서로에 대해 지지적인 회원들로 이루어져 있는 것으로 알려져있다.&lt;/p&gt;&lt;p&gt;기본적인 기능으로 출시 한 뒤 반응을 보고 싶었기 때문에 인디해커에 글을 올렸을 때는 지금보다 적은 기능을 가지고 있었다. 한 사람이 정성스러운 피드백을 남겨주었고 덕분에 사이트를 개선할 수 있었지만 별다른 호응은 없었다.&lt;/p&gt;&lt;p&gt;다음으로 홍보를 시도한 곳은 레딧이었다. &lt;a href='https://reddit.com/r/germany'&gt;Germany 서브레딧&lt;/a&gt;에 올린 글은 자동으로 삭제되었다. 몇몇 곳은 Karma의 부족으로 글 자체를 올릴 수가 없었다. &lt;a href='https://reddit.com/r/europe'&gt;Europe 서브레딧&lt;/a&gt;과 &lt;a href='https://www.reddit.com/r/webdev'&gt;Webdev 서브레딧&lt;/a&gt;에 올렸을 때는 몇몇 친절한 사람들이 지지적인 댓글을 달아주었다. 하지만 큰 호응은 없었다.&lt;/p&gt;&lt;p&gt;&lt;a href='https://news.ycombinator.com/'&gt;해커뉴스&lt;/a&gt;의 Show HN 코너에도 올려보았다. 별 것 아니지만 꽤 긴장되는 경험이었다. 글은 결국 한 명의 추천을 받았다. 혹시 타이밍이 안 좋았던게 아닐까 하고 얼마 후 글 제목을 조금 바꾸어 다시 올려보았다. 해커뉴스에 글을 쓸 때 타이밍과 제목에 따라 같은 링크라도 추천 수가 크게 차이가 난다는 경험적인 글들이 있으며 &lt;a href='https://www.hacker-ai.com/'&gt;머신러닝을 이용해 제목을 A/B 테스트 해주는 사이트&lt;/a&gt;도 있다. 제목을 더 짧게하여 다른 시간대에 다시 한번 올려보았을 때는 추천율이 100% 올라 두 명의 추천을 받을 수 있었다.&lt;/p&gt;&lt;p&gt;MVP (Minimum Viable Product)를 만든 후 반응이 좋으면 기능을 늘려나가고 사용자가 많아지면 수익화도 가능하지 않을까라는 생각이었는데 이쯤되니 그냥 좋은 추억으로 남겨야겠다는 생각이 들었다. 덕분에 Clojure를 실용적으로 사용해 볼 수 있었고 그 경험을 통해 &lt;a href='https://iamsang.com/blog/2020/10/10/custom-static-site-generator/'&gt;커스텀 정적사이트를 개발하여 블로그를 개편&lt;/a&gt;할 수 있었다. 사용자를 확보할 수 있는 제품을 개발하는 것이 얼마나 어려운 것인지도 느꼈다.&lt;/p&gt;&lt;p&gt;Clojure를 이용해 만든 첫 프로젝트라 코드는 엉망이지만 &lt;a href='https://github.com/Sangdol/corona-project'&gt;깃헙&lt;/a&gt;에 올려놓았다.&lt;/p&gt;</description></item><item><title>트위터 활동 두 달 간의 기록 그리고 배운 점</title><link>https://iamsang.com/blog/2021/03/28/using-twitter</link><pubDate>Sun, 28 Mar 2021 22:40:23 +0200</pubDate><description>&lt;p&gt;블로그를 글을 공유하는 용도로 사용해오던 트위터를 지난 12월부터 작은 글이나 정보를 나누는 목적으로 사용하기 시작하였다. 약 두 달 간 190명대의 팔로워에서 250명대가 되었으니 굉장하진 않지만 나로썬 꽤 괜찮은 결과였다.&lt;/p&gt;&lt;p&gt;처음 글을 쓰기 시작했을 때는 "내가 이런 사람을 내가 언제 팔로우 하고 있었지?"라는 생각을 했는지 팔로워 수가 오히려 줄기 시작했다. 팔로워 수가 많아진다고 내가 대단해지는 것은 아니지만 내가 애써서 쓴 글을 더 많은 사람에게 전달할 수 있다는 면에서 의미가 있다고 생각한다.&lt;/p&gt;&lt;p&gt;이번 트위터 활동 시작은 The Zen of Python에 대해 알게 된 사실을 공유하면서였다.&lt;/p&gt;&lt;p&gt;&lt;blockquote class="twitter-tweet"&gt;&lt;p lang="ko" dir="ltr"&gt;Python에서 import this를 치면 나오는 The Zen of Python의 저자가 Python과 Java의 기본 정렬 알고리즘인 Timsort를 만든 Tim Peters였다. &lt;a href="https://t.co/E4pKJXJYTa"&gt;pic.twitter.com/E4pKJXJYTa&lt;/a&gt;&lt;/p&gt;&amp;mdash; 이상현 (@sangdolha) &lt;a href="https://twitter.com/sangdolha/status/1334239335512727556?ref_src=twsrc%5Etfw"&gt;December 2, 2020&lt;/a&gt;&lt;/blockquote&gt; &lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;&lt;p&gt;트위터에 글을 활발히 쓴 것은 12월 초에서 2월 초까지 두 달가량이다. 쓰지 않은 날도 있지만 하루 한 두 개 정도를 꾸준히 썼다. 그리고는 멈추었다.&lt;/p&gt;&lt;p&gt;쓰는 것이 의미가 있다고 생각한 것은 많은 사람에게 더 많은 정보를 전달할 수 있을 것이라는 믿음과 작게나마 글을 쓰며 생각을 정리할 수 있을 것이라는 생각 때문이었다. 하지만 끈기와 일관성을 갖는 것이 어려웠다.&lt;/p&gt;&lt;p&gt;글을 쓰지만 아무런 반응 없는 경우가 더 많고 그럴 때면 내가 별 의미 없는 글을 써서 소음만 발생시키고 있는 것은 아닌가 하는 의심이 들었다. 글을 쓸 때 미리 노트에 써놓았다가 고민 후 트윗을 하곤하는데 오래 전에 작성했던 노트를 보고 "이런 하찮고 어리석은 글을 쓰지 않길 다행이다"라고 생각한 적이 있었다. 지금 쓴 글이 후에 후회가 되지 않을지를 항상 고민해야했다.&lt;/p&gt;&lt;p&gt;무엇이든 성공을 위해서는 지속성이 중요하다고 한다. 말은 쉬워보이지만 막상 내가 지속적으로 뭔가 하려고 하면 의심과 핑계들이 생겨 멈추게 된다.&lt;/p&gt;&lt;p&gt;&lt;blockquote class="twitter-tweet"&gt;&lt;p lang="ko" dir="ltr"&gt;“만약 정보가 답이라면 우리는 모두 억만장자에 완벽한 복근을 가지고 있을 것이다. 문제는 ‘아는 것’이 아니라 ‘지속성’이다.” - Tools of Titans 중&lt;/p&gt;&amp;mdash; 이상현 (@sangdolha) &lt;a href="https://twitter.com/sangdolha/status/1347630518981042176?ref_src=twsrc%5Etfw"&gt;January 8, 2021&lt;/a&gt;&lt;/blockquote&gt; &lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;&lt;p&gt;트위터 활동이라느 것은 결국 쓰기만이 아니고 읽는 것도 포함되는데 그러다보면 시간이 종종 허비되고 이것이 의미있는 활동이가에 대한 고민도 들었다. 몸의 건강을 위해서는 무엇을 먹느냐만큼 무엇을 먹지 않느냐가 중요하듯이 뇌를 위해서는 불필요한 정보를 줄이는 것이 중요한데 소셜미디어에서 그것을 조절하기란 쉽지 않으며 자극적인 정보들을 보다보면 쉽게 중독된다.&lt;/p&gt;&lt;p&gt;이런 저런 이유로 결국 활발히 활동하는 것은 멈추었지만 약 두달 가량 글을 쓰며 배운 것이 있다.&lt;/p&gt;&lt;h3 id="&amp;ndash;"&gt;썸네일과 요약의 중요성&lt;/h3&gt;&lt;p&gt;글을 공유할 때 썸네일과 요약을 하는 것이 도움이 된다는 것은 잘 알려진 사실이지만 크게 신경쓰지는 않았다. '굳이 인기가 있을 필요가 있나'라는 생각이었는데 다시 생각해보니 애써서 글을 써놓고 적극적으로 많은 사람이 읽을 수 있도록 하지 않는 것은 모순 같았다. 어쩌면 많은 사람에게 글을 보여주는 것에 대한 두려움 때문이었는지도 모르겠다.&lt;/p&gt;&lt;p&gt;지난 글 &lt;a href='https://iamsang.com/blog/2020/10/10/custom-static-site-generator/'&gt;커스텀 정적사이트생성기 개발기&lt;/a&gt;에서 썼듯이 커스텀 툴로 블로그 개편을 하며 기존에 있던 기능이 몇몇 사라졌는데, 그중 하나가 글의 썸네일에 관련한 부분이었다.&lt;/p&gt;&lt;p&gt;시간을 조금 들여 기능을 추가하고나니 개발과정이 즐겁기도 하고 뿌듯해서 지난 글을 다시 공유하였는데 이전에 썼을 때 아무런 반응 없던 글이 (나로선) 꽤 많은 호응을 얻었다.&lt;/p&gt;&lt;p&gt;&lt;blockquote class="twitter-tweet"&gt;&lt;p lang="ko" dir="ltr"&gt;커스텀 정적사이트 생성기를 만들고 관리하는 것이 장기적으로 부담이 되지 않을까 걱정했었는데, 약 4개월 사용해본 결과 원하는 언어(Clojure)로 짠 코드에 필요한만큼 기능을 추가하고 완전한 제어를 할 수 있는 것이 꽤 즐겁다. “커스텀 정적사이트생성기 개발기” &lt;a href="https://t.co/215i3g6SCT"&gt;https://t.co/215i3g6SCT&lt;/a&gt;&lt;/p&gt;&amp;mdash; 이상현 (@sangdolha) &lt;a href="https://twitter.com/sangdolha/status/1361418014483046403?ref_src=twsrc%5Etfw"&gt;February 15, 2021&lt;/a&gt;&lt;/blockquote&gt; &lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;&lt;h3 id="&amp;ndash;"&gt;트위터 활동과 팔로워&lt;/h3&gt;&lt;p&gt;트위터 이용자들은 당연하게도 트위터에 흥미로운 글을 올리는 사람에게 관심을 보인다. 이전에도 가끔 꽤 공유가 많이 된 블로그 글을 쓴적이 있었지만 트위터에 블로그 글 제목과 링크만 공유하는 나에게 관심을 가지는 사람은 많지 않았다.&lt;/p&gt;&lt;p&gt;트위터 활동을 시작하고 2021년을 열며 쓴 &lt;a href='https://iamsang.com/blog/2021/01/04/2020-retro/'&gt;2020년 개발자 11년 회고&lt;/a&gt;가 어느정도 공유가 되었는데 이 글 하나 덕분에 팔로워가 30명 이상 늘었다. 많은 수는 아니지만 나의 전체 팔로워 수가 200명대인것을 생각하면 꽤 많은 수이다. 짦은 기간이었지만 그간 써왔던 글이 있었기 때문에 사람들이 관심을 가진 것으로 생각된다.&lt;/p&gt;&lt;p&gt;&lt;blockquote class="twitter-tweet"&gt;&lt;p lang="ko" dir="ltr"&gt;지난 11년을 돌아보았다. &amp;quot;2020년 개발자 11년 회고&amp;quot; &lt;a href="https://t.co/M4FlErtpxZ"&gt;https://t.co/M4FlErtpxZ&lt;/a&gt;&lt;/p&gt;&amp;mdash; 이상현 (@sangdolha) &lt;a href="https://twitter.com/sangdolha/status/1346197013235453961?ref_src=twsrc%5Etfw"&gt;January 4, 2021&lt;/a&gt;&lt;/blockquote&gt; &lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;&lt;p&gt;짦은 생각을 나누는 글을 종종 썼지만 호응이 있는 글은 많지 않았는데 아랫글은 적당히 공감을 얻었다.&lt;/p&gt;&lt;p&gt;&lt;blockquote class="twitter-tweet"&gt;&lt;p lang="ko" dir="ltr"&gt;모르는 것을 모른다고 말하는 사람을 주목해야하는 이유는 모르는 부분을 인정할 수 있을 만큼 많이 안다는 뜻이거나 겸손해서 배울 자세가 되어 있다는 뜻이기 때문이다. 보통은 둘 다이다.&lt;/p&gt;&amp;mdash; 이상현 (@sangdolha) &lt;a href="https://twitter.com/sangdolha/status/1336728977302560774?ref_src=twsrc%5Etfw"&gt;December 9, 2020&lt;/a&gt;&lt;/blockquote&gt; &lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;&lt;p&gt;크롬의 Vimium 기능을 Mac 전체에서 사용할 수 있게 해주는 툴 Vimac에 대한 정보를 나누었는데 예상외로 반응이 있었다. Vimium 사용자가 이렇게 많을 줄 몰랐다.&lt;/p&gt;&lt;p&gt;&lt;blockquote class="twitter-tweet"&gt;&lt;p lang="ko" dir="ltr"&gt;크롬의 Vimium 기능을 맥전체에 사용할 수 있게 해주는 Vimac. &lt;a href="https://t.co/EPN6Qr81WZ"&gt;https://t.co/EPN6Qr81WZ&lt;/a&gt;&lt;/p&gt;&amp;mdash; 이상현 (@sangdolha) &lt;a href="https://twitter.com/sangdolha/status/1338953350465937408?ref_src=twsrc%5Etfw"&gt;December 15, 2020&lt;/a&gt;&lt;/blockquote&gt; &lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;&lt;p&gt;이후 툴을 소개하는 글을 몇 가지 더 썼는데 큰 호응은 없었다. 그 글이 가진 가치도 중요하지만 초기에 어떻게 공유되어 나가냐가 결국 중요한 역할을 하는 것 같다.&lt;/p&gt;&lt;h3 id="-"&gt;다시 시작&lt;/h3&gt;&lt;p&gt;사람들이 공감할 것 같은 글을 올렸는데 아무런 반응이 없으면 아쉽지만 흥미로운 글이 넘쳐나는 시대에 누군가의 관심을 끌기란 어려운 일이다.&lt;/p&gt;&lt;p&gt;더 많은 사람에게 내가 가진 생각과 정보를 나눌 수 있다는 면에서는 의미가 있지만 트위터에 글을 공유하는 것이 성격에 잘 맞는 것 같지는 않다. 중요한 이유 중 하나가 계속해서 드는 자기 의심인데 살펴보면 몇만 명의 팔로워가 있는 사용자의 글도 아무런 반응이 없는 경우가 더 많다. 나도 마찬가지이지만 좋은 글을 보았다고 해서 모두들 항상 리트윗이나 좋아요를 누르지도 않는다.&lt;/p&gt;&lt;p&gt;내가 쓰는 글 하나하나를 무겁게 생각할 필요 없으며 좋은 생각이나 정보가 있으면 나누면 되는 것이다. 그래서 이 글을 쓰며 다시 트위터에 글을 쓰기 시작하였다.&lt;/p&gt;</description></item><item><title>한국이 독립하지 못했다면</title><link>https://iamsang.com/blog/2021/02/20/independence-of-korea</link><pubDate>Sat, 20 Feb 2021 08:10:42 +0100</pubDate><description>&lt;p&gt;한국의 독립을 당연한 것으로 여기며 살아왔지만 독일에서 만난 동료들을 통해 역사의 작은 변화로 인해 일본으로부터 한국이 독립하지 못했을 가능성도 있었겠다고 생각하게 되었다. 그랬다면 우리의 삶은 어떻게 달랐을까.&lt;/p&gt;&lt;p&gt;카탈루냐라는 단어를 자신을 카탈루냐인이라고 소개하는 동료 알버트를 통해 알게 되었다. 그들은 스페인에 합병된지 400여 년이 지난 지금도 독립을 원하고 있으며 스페인과는 다른 그들만의 언어, 문화, 지역을 가지고 있다.&lt;/p&gt;&lt;p&gt;새로 팀에 합류하게된 영국영어를 쓰는 리처드에게 잉글랜드 출신이냐고 누군가 묻자 자신은 웨일스 출신이라고 하며 잉글랜드 출인이냐고 묻는 것은 약간의 모욕이라고 농담하였다. 부산의 인구는 4백만 명쯤 된다고 했더니 리처드는 "그건 우리 나라(Country)보다 많구나"라는 이야기를 하였다. 무슨 말인가 했더니 영국(UK)도 Country지만 그 안의 잉글랜드, 스코틀랜드, 웨일스도 State가 아닌 Country로 불린다. 자신의 정체성을 웨일스인이라고 생각하고 있는 것이다. 웨일스에도 지금까지 사용되는 그들만의 언어가 있다. 영국 내에 다른 언어가 사용되고 있다는 사실을 들었을 때는 꽤 놀랐다.&lt;/p&gt;&lt;p&gt;회고 회의의 분위기를 부드럽게 만들기 위해 각자 자기 나라의 유명 인물들에 대해 이야기하는 것으로 시작하는데 영국인 로렌이 숀 코너리를 적은 후 익숙지 않은 국기🏴󠁧󠁢󠁳󠁣󠁴󠁿 이모지를 옆에 두었다. 스코틀랜드였다.&lt;/p&gt;&lt;p&gt;만약 우리가 독립하지 못한 채 남아 일본이 되었다면 국적은 일본이지만 한국인이라고 소개하는 나에게 한국도 일본어와는 다른 언어가 있느냐 여전히 독립을 원하고 있느냐 혹은 일본 안에 한국이라는 곳이 있었느냐와 같은 질문들을 하는 동료들을 대해야 했을 것이다.&lt;/p&gt;</description></item><item><title>(구글 논문) 유튜브는 어떻게 내가 좋아할 다음 영상을 추천해주는 것일까?</title><link>https://iamsang.com/blog/2021/02/13/techneedle-google-paper-youtube-algorithm</link><pubDate>Sat, 13 Feb 2021 17:45:42 +0100</pubDate><description>&lt;p&gt;구글에서 발표한 유튜브 추천 알고리즘 관련한 논문 분석 내용을 테크니들을 통해 발행한 적이 있습니다. 2019년 논문이지만 전반적으로 추천이 어떻게 동작하는지는 크게 바뀌지 않았을 것으로 생각해 테크니들을 통해 못 보신 분들을 위해 공유드립니다.&lt;/p&gt;&lt;p&gt;&lt;blockquote class="twitter-tweet"&gt;&lt;p lang="ko" dir="ltr"&gt;유튜브는 어떻게 내가 좋아할 다음 영상을 추천해주는 것일까? – 알기 쉽게 설명한 구글 최신 논문 &lt;a href="https://t.co/207A6t3qwp"&gt;https://t.co/207A6t3qwp&lt;/a&gt; &lt;a href="https://t.co/w5AtJQbtdS"&gt;pic.twitter.com/w5AtJQbtdS&lt;/a&gt;&lt;/p&gt;&amp;mdash; techneedle (@techneedle) &lt;a href="https://twitter.com/techneedle/status/1199948927874633728?ref_src=twsrc%5Etfw"&gt;November 28, 2019&lt;/a&gt;&lt;/blockquote&gt; &lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;</description></item><item><title>넷플릭스 전 최고마케팅책임자 켈리 베넷과의 대담</title><link>https://iamsang.com/blog/2021/02/10/netflix-kelly-bennett</link><pubDate>Wed, 10 Feb 2021 20:20:00 +0100</pubDate><description>&lt;p&gt;&lt;img src="https://iamsang.com/img/netflix-kelly-bennett.jpg" alt="netflix kelly bennett" /&gt;&lt;/p&gt;&lt;p&gt;지금의 넷플릭스가 있기까지 큰 역할을 한 켈리 베넷이 2019년 최고마케팅책임자(CMO) 자리에서 사임하였다.&lt;/p&gt;&lt;p&gt;이후 그는 마이크로소프트, 스포티파이, 잘란도(Zalando) 등 여러 회사의 고문(Advisor)으로 활동하고 있다. 잘란도에서 켈리 베넷과 대담형식의 Fireside Chat 자리를 마련하였고 그곳에 참여할 수 있었다. 대담은 2019년 겨울이었다.&lt;/p&gt;&lt;h3 id="&amp;ndash;"&gt;왜 넷플릭스에서 나왔나?&lt;/h3&gt;&lt;p&gt;지금도 마찬가지이지만 2019년 넷플릭스는 호황을 누릴 때였다. 사람들은 이 질문을 할 때 고개를 한쪽으로 약간 기울이며 무슨 일이 있냐는 듯이 물어본다고 한다.&lt;/p&gt;&lt;p&gt;2012년부터 2019년까지 넷플릭스에서 일하며 많은 성공을 이루었고 아직 젊고 (당시 46세) 앞으로 이룰 수 있는 것이 많은 상황에서 내린 결정이니 충분히 이해할만한 질문이다.&lt;/p&gt;&lt;p&gt;베넷: 내가 90세가 되어 임종을 앞두고 있을 때 만약 누가 내 아이들과 1년 더 시간을 나눌 수 있는 기회를 준다고 하면 나는 무엇을 포기할 수 있을까를 생각해 보았을 때 대답은 '모든 것'이었다. 두 아이가 지금 한창 크고 있고 아이들과 시간을 더 많이 보내고 싶었다.&lt;/p&gt;&lt;h3 id="&amp;ndash;"&gt;브랜드 마케팅의 어려움&lt;/h3&gt;&lt;p&gt;"마케팅이 잘 동작하고 있다는 데이터를 보여봐라!"라는 공격적인 질문을 전사회의(All Hands) 중 받은 적이 있다고 한다. 순간적으로 당황한 그는 머리 속에 떠오르는 것을 그냥 대답했다고 한다. "당신이 아내를 사랑한다는 것을 데이터로 보여봐라."&lt;/p&gt;&lt;p&gt;베넷: 마케팅의 기여도(attribution)을 정확히 계산하기는 어렵다. 한 나라에서 마케팅을 6개월 간 하지 않아도 아무런 일도 일어나지 않지만 1년지 지나면 지표가 나타나기 시작한다.&lt;/p&gt;&lt;p&gt;베넷은 마케팅을 은행에 저축하는 것에 비유해 브랜드 뱅크(Brand bank)라는 개념을 사용하여 설명하였다.&lt;/p&gt;&lt;p&gt;베넷: 브랜드 뱅크에 미리 저축을 많이 해놓아야한다. 어떤 회사든 위기를 맞게 되어 있고 이때 브랜드 뱅크에 충분한 저축이 없으면 문제가 생긴다. 페이스북은 그것이 부족했기 때문에 문제가 생겼을 때 아무도 그들의 편에 서는 사람이 없었다. 다른 예로 넷플릭스에 비해 기술력이 부족한 디즈니는 기술적인 어려움 때문에 브랜드뱅크의 예치금을 잃고 있다.&lt;/p&gt;&lt;h3 id="&amp;mdash;"&gt;넷플릭스의  기업문화 슬라이드&lt;/h3&gt;&lt;p&gt;&lt;img src="https://iamsang.com/img/netflix_culturedeck.jpg" alt="Netflix culture deck" /&gt;&lt;/p&gt;&lt;p&gt;베넷: &lt;a href='https://www.slideshare.net/watchncompass/freedom-responsibility-culture'&gt;넷플릭스의 기업문화 슬라이드&lt;/a&gt;는 최고의 마케팅 방법이라고 생각했다. 1600만 뷰를 달성하였고 쉐릴센드버그는 실리콘밸리에서 나온 가장 영향력있는 문서라고 이야기하였다. 직접 넷플릭스에 가보니 실제로 그 문화에 맞게 일하고 있을 뿐 아니라 계속 변화하고 있었다.&lt;/p&gt;&lt;p&gt;기업 문화는 변화한다. 기업의 성장 단계에 맞는 문화가 있으며 빠르게 성장하는 회사일 수록 빠르게 변화한다. 지금은 공식적인 &lt;a href='https://jobs.netflix.com/culture?lang=%ED%95%9C%EA%B5%AD%EC%96%B4'&gt;넷플릭스 문화&lt;/a&gt; 페이지가 따로 있으며 슬라이드에서 이야기하는 것과 완전히 일치하진 않는다.&lt;/p&gt;&lt;h3 id="&amp;mdash;&amp;mdash;"&gt;평범한 직원은 퇴직금 두둑이 줘서 내보내는 문화&lt;/h3&gt;&lt;p&gt;대담 참가자 중에 전 넷플릭스 직원이 평범한 직원은 내보내는 문화에 대해 어떻게 생각하냐는 질문을 하였다.&lt;/p&gt;&lt;p&gt;베넷: 넷플릭스에서 메니저는 어떤 직원이 나간다고 할 때 그를 붙잡기 위해 애를 쓸 것인가를 주기적으로 자문해야한다. 그렇지 않은 직원은 퇴직금을 두둑히 주고 보내는 것을 택한다. 좋은 재즈팀에서는 한명이 빠져도 새로운 사람을 넣고 쉽게 다시 이어갈 수 있다.&lt;/p&gt;&lt;p&gt;&lt;a href='https://hravengers.co.kr/case/5eb95af383c7bd31e9e57105'&gt;넷플릭스의 평가제도를 분석한 내용&lt;/a&gt;에 따르면 매니저가 주기적으로 특정 구성원이 떠나지 않도록 노력해야 하는지에 대해 스스로 자문해하는 것을 Keeper Test라고 부르며 해고 후에는 구성원들에게 구체적인 이유가 정리된 Postmortem 이메일을 보낸다고 한다.&lt;/p&gt;&lt;h3 id="&amp;mdash;"&gt;그 외 작은 질답들&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;통념과는 다르게 유지율(retention rate)에 신경쓰기보다는 어제보다 나은 서비스를 제공하는 것에 더 신경을 쓰는 것이 중요하다는 이야기를 하였다.&lt;/li&gt;&lt;li&gt;할리우드에서 벗어나 넷플릭스에 들어갔는데 당시 넷플릭스는 그렇게 잘나가고 있지 않았기 때문에 본인에겐 큰 도박이었다고 한다.&lt;/li&gt;&lt;li&gt;커리어 조언을 해달라는 질문에 대해서는 국제적인 활동을 통해 많은 기회를 얻을 수 있었다는 이야기를 하였다.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;켈리 버넷은 매너이고 유머감각있는 뛰어난 발표자였다. 발표의 시작은 청중들이 속한 회사에 대한 칭찬이었고 누군가 질문을 하면 항상 "그거 좋은 질문이에요."라는 말로 대답을 시작하였다.&lt;/p&gt;&lt;p&gt;단 한번도 "그건 잘 모르겠는데, 이건 확실치 않은데"라는 말을 하지 않았고 여러사람 앞에서 이야기하면서 긴장을 하거나 말을 더듬는 일도 없었다.&lt;/p&gt;</description></item><item><title>(구글 논문) “모두 모델링을 하고 싶어하고 데이터 작업은 피해요” 데이터에 소홀한 AI 업계</title><link>https://iamsang.com/blog/2021/02/07/techneedle-google-paper-ai-and-data</link><pubDate>Sun, 07 Feb 2021 20:18:05 +0100</pubDate><description>&lt;p&gt;얼마 전 테크니들을 통해 데이터에 소홀한 AI 업계에 관한 구글 논문을 분석한 글을 발행하였습니다. 테크니들 내부에서도 많은 공감이 있었고 페이스북이나 트위터를 통해 많이 공유되고 있는걸 보니 국내 산업에서도 많은 공감을 받는 것으로 보입니다.&lt;/p&gt;&lt;p&gt;테크니들 통해 보시지 못한 분들을 위해 블로그를 통해 공유해 드립니다.&lt;/p&gt;&lt;p&gt;&lt;a href='https://techneedle.com/archives/40800'&gt;(구글 논문) “모두 모델링을 하고 싶어하고 데이터 작업은 피해요” – 데이터에 소홀한 AI 업계&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="https://iamsang.com/img/ai-and-data.jpg" alt="data has a better idea" /&gt;&lt;/p&gt;</description></item><item><title>2020년 개발자 11년 회고</title><link>https://iamsang.com/blog/2021/01/04/2020-retro</link><pubDate>Mon, 04 Jan 2021 21:36:00 +0100</pubDate><description>&lt;p&gt;개발자가 된 지 만 11년이 지났다. 개인적인 회고 기록은 꾸준히 해왔지만 블로그에 한 번도 회고 글을 쓴 적이 없다. 기억을 다시 되돌아볼 겸 해서 지난 개발자 생활 11년을 정리해보았다.&lt;/p&gt;&lt;p&gt;쓰다 보니 내용이 길어졌는데 뒤를 돌아보니 나의 역량을 넘어선다고 생각한 것에 도전하고 그것을 이루었을 때 가장 성장할 수 있었다. 준비되었다고 생각될 때까지 기다리지 않아도 된다.&lt;/p&gt;&lt;h3 id="2010&amp;ndash;"&gt;2010 알툴바 트위터&lt;/h3&gt;&lt;p&gt;2009년 겨울 이스트소프트에 입사한 후 사내 프로젝트를 위주로 일해오다 처음으로 외부 사용자를 가지는 앱을 맡게 되었다.&lt;/p&gt;&lt;p&gt;알툴바는 당시 천만 명 이상이 사용하는 애플리케이션이었고 거기에 트위터 서드파티 앱을 개발해 넣는 프로젝트였는데 당시 실무 경험이 만 1년도 되지 않았던 내가 웹개발자로서는 혼자 프로젝트를 맡게 되었다. 당시 이스트소프트에는 대부분이 앱개발자였고 웹개발자는 거의 없었기 때문에 가능했던 것인데 나에게는 행운이었다.&lt;/p&gt;&lt;p&gt;그때 나는 대학생 수준의 Java 실력을 가지고 있었고 JavaScript는 경험이 별로 없던 때였다. SPA(Single Page Application)를 만들어야 하는 상황인데 당시에는 아직 SPA라는 용어도 없었고 프론드엔드 개발자라는 단어도 만들어지기 전이었다.&lt;/p&gt;&lt;p&gt;리액트나 앵귤러와 같은 웹프레임워크는 아직 나오기 전이라 jQuery를 이용해 프론트엔드 개발을 하였고 스프링과 같은 서버 프레임워크 경험이 없던 나는 자바 서블릿을 이용해 서버개발을 하였다. 이전까지는 회사에서 닷넷프레임워크를 사용하고 있었기 때문에 사실 서블릿을 이용해 서버 개발을 해본 것도 처음이었다. 서버 OS는 리눅스에 톰캣이었는데 리눅스도 톰캣도 경험이 거의 없었다.&lt;/p&gt;&lt;p&gt;당시 회사의 웹시스템에는 온갖 버그와 수동으로 처리해줘야 하는 일들이 있었고 팀의 막내였던 나는 그것을 같이 담당하며 개발을 진행했다. 업무시간에는 주로 그런 유지보수 업무를 해야 했고 알툴바 트위터는 주로 야근과 주말근무로 개발되었다. 일을 안 하는 주말에는 자바스크립트 책을 읽었다.&lt;/p&gt;&lt;p&gt;프로젝트 일정은 빡빡하게 잡혀있었고 나는 몇 달간 회사에서 가장 늦게 퇴근하고 있었다.&lt;/p&gt;&lt;p&gt;몇 번 일정에 차질을 빚긴 하였지만 결국 프로젝트는 성공적으로 출시되었다. 트위터 프로젝트이니 트위터에서 사용자들의 피드백을 실시간으로 볼 수 있었는데 수많은 사용자들이 기뻐하는 모습을 보고 많은 보람을 느꼈다. &lt;/p&gt;&lt;p&gt;출시 후 9년쯤 지났을 때 나는 독일에 있었고 어느 날 갑자기 궁금해져 알툴바 트위터로 접속을 해봤는데 아직도 서버가 돌아가고 있었다. 10분 넘게 스크린을 가만히 보고 있었다.&lt;/p&gt;&lt;h3 id="2011-html5&amp;ndash;"&gt;2011 HTML5 책 출간&lt;/h3&gt;&lt;p&gt;당시 플래시에 관심이 있던 나는 스티브잡스의 '플래시는 HTML5로 대체될 것'이라는 말에 관심을 가지고 있어 사내 웹 개발자 워크샵에서 그것과 관련한 발표를 하였는데 얼마 후 당시 본부장이셨던 정상원님(현재 대표이사님)께서 우리팀을 지나가다가 "야 누가 HTML5 관련해서 발표 한번 해라"라고 하셨고 팀장님은 "어 그거 상현씨가 하면 되겠네"라고 하셔서 전사에 HTML5 발표를 하게되었다.&lt;/p&gt;&lt;p&gt;이후 나의 멘토였던 김용현님은 강연을 다니거나 책을 집필하시는 분이었는데, 나에게 &lt;a href='https://www.imaso.co.kr/'&gt;마이크로소프트웨어&lt;/a&gt;에 HTML5 관련하여 기고를 제안하셔 글을 쓰게 되었다. 글을 쓰고 얼마 후에는 "HTML5 책 한번 써보시는 것 어때요?"라는 제안을 하셨다. 아직 실무 경험이 2년이 채 되지 않은 나는 겁없게도 "네 한번 해볼게요"라고 하였다.&lt;/p&gt;&lt;p&gt;알툴바 트위터를 개발하며 자바스크립트 공부를 열심히 하였고 당시까지 공개된 HTML5의 많은 부분은 자바스크립트 API에 관한 부분이었기 때문에 조금은 자신이 있었던 것 같다. 그렇게 몇 달간 저녁과 주말을 투자하였다.&lt;/p&gt;&lt;p&gt;출판사도 회사와 비슷하게 무리한 일정을 줘서 자극하는 방식을 쓰는데 어쨌거나 그것이 계속 열심히 글을 쓰는데 도움이 되긴 하였고 고생 끝에 책이 나왔다. 지금에 와서 10년 지난 HTML5 책을 아무도 사보지 않겠지만 혹시 관심이 있다면 사보지 않기를 바란다.&lt;/p&gt;&lt;p&gt;"당신의 인생을 가장 바꿀 책은 당신이 쓸 책이다"라는 말이 있다. 나에게도 그런 것 같다.&lt;/p&gt;&lt;p&gt;이스트소프트는 젊은 회사였고 그에 맞는 재미있는 문화들이 있었는데 그 중 하나가 입사 시 100문 100답 형식의 자기소개를 사내 게시판에 올리는 것이었다. 100문까지는 아니었지만 다양한 질문들이 있었는데 그중 하나가 목표에 대해 물어보는 것이었다. 지나서 목표에 "책을 써보고 싶다"는 내용을 적었던 것이 기억이 났다.&lt;/p&gt;&lt;h3 id="2012&amp;mdash;&amp;ndash;"&gt;2012 이직준비와 블로그 시작 그리고 제니퍼소프트&lt;/h3&gt;&lt;p&gt;돌이켜보니 블로그를 시작하게 된 계기가 이직을 준비하면서부터였다. 2~3년 한 회사에서 일을 해보았으니 다른 곳으로 옮기고 싶다는 생각이 들었고 이력서와 자기소개서를 준비하다보니 딱히 보여줄 것이 없다는 생각이 들었다. 개발 블로그가 있으면 좋겠다는 생각을 하였고 나의 첫 글 &lt;a href='https://iamsang.com/blog/2012/05/30/using-stack-overflow-effectively/'&gt;스택오버플로 활용하기&lt;/a&gt;를 발행하였다. 글을 쓰고 트위터에 올렸는데 어떻게 글이 퍼지게 되었는진 잘 기억나지 않지만 꽤 많은 분들이 글을 좋아해주었고 하루 아침에 팔로워가 10명 이상 늘었던 것으로 기억한다.&lt;/p&gt;&lt;p&gt;이직을 위해서는 카카오와 제니퍼소프트에 지원을 하였는데 책을 쓴 경험과 스택오버플로 덕분인지 둘 다 서류에 통과하였지만 최종 합격까지는 가지 못하였다.&lt;/p&gt;&lt;p&gt;제니퍼소프트는 이력서를 제출한 뒤 방송을 탔는데 복지와 사장님께서 하신 &lt;a href='https://www.nocutnews.co.kr/news/4300846'&gt;"좀 놀면 안되나요?"&lt;/a&gt;가 전국적으로 유명해졌다. 너무 이력서가 많이 왔다고 하시며 원래 연락주기로 하신 것보다 늦게 답을 주셨는데 높은 경쟁률을 뚫고 이력서가 통과되었다고 연락이 왔다. 합격 연락을 듣고는 전국대회를 앞둔 채치수 만큼이나 떨림이 멈추질 않았다.&lt;/p&gt;&lt;p&gt;&lt;img src="https://iamsang.com/img/slamdunk.png" alt="채치수의 전국대회 전 떨림" /&gt;&lt;/p&gt;&lt;p&gt;면접을 보러 갔는데 면접관님께서 시간이 조금 남는다며 건물 구경을 시켜주셨다. 수영장이 있었고 1층은 카페가 있으며 사무실은 채광이 잘되도록 설계되어 있었다. 긴장을 풀어주기 위해서 해주신 것이었지만 건물을 둘러보고 나니 더 입사하고 싶은 마음이 들었고 떨림은 여전히 멈추질 않았다.&lt;/p&gt;&lt;p&gt;첫 면접에서는 기술 이야기 보다는 개인적인 가치관, 사유와 같은 것에 대한 질문을 하였다. 지나서 생각해보면 채용공고에서도 적혀있는 내용이었고 예상할 수 있을 만한 질문들이었지만 당시에는 보통 면접과는 다른 질문을 들으니 더 정신이 없어졌고 제대로 된 답변을 하지 못한 채 면접이 마무리되었다. 결과는 물론 불합격이었다.&lt;/p&gt;&lt;p&gt;당시에는 많이 아쉬웠지만 지나서 생각해보면 그때 오픈되었던 포지션이 프론트엔드 개발자로 내가 장기적으로 하고 싶은 분야는 아니었고 좋은 복지와 문화를 가진 제니퍼소프트에서 일했다면 나의 장기적인 목표였던 해외취업을 위해 덜 열심히 노력하지 않았을까 생각된다. 아주 원하는 것을 얻지 못했을 때 결국 그것이 더 좋은 결과로 나타나는 것을 인생에서 자주 겪었다.&lt;/p&gt;&lt;h3 id="2013&amp;ndash;"&gt;2013 이직, 타파스미디어&lt;/h3&gt;&lt;p&gt;사회생활을 시작하며 잡았던 목표는 5년 후 해외로 나가는 것이었다. 이직을 준비하면서도 해외취업에 도움이 될만한 회사가 없을까를 생각하며 찾아보았는데 그 중 발견한 것이 &lt;a href='https://tapas.io/'&gt;타파스미디어&lt;/a&gt;이다.&lt;/p&gt;&lt;p&gt;타파스미디어는 태터툴즈를 서비스했던 태터앤컴퍼니 공동대표 후 구글에 매각한 김창원 님께서 창업하신 회사로 한국에서 성공한 웹툰서비스 모델을 글로벌 서비스로 제공하는 것이 목표인 스타트업이다.&lt;/p&gt;&lt;p&gt;스프링 봄싹 스터디 모임 메일링 리스트에서 우연히 채용공고를 봤던 것으로 기억한다. 실리콘밸리에 본사를 두고 서울에서 일할 개발자를 뽑는다는 이야기였는데 여기에 가면 해외취업에 도움이 되겠구나 싶었다. 당시 카카오에 두 번째로 지원해 진행 중이었는데 타파스미디어는 채용과정은 굉장히 빠르게 진행이 되었고 먼저 오퍼를 받았다.&lt;/p&gt;&lt;p&gt;카카오 결과를 기다리며 아내에게 "둘 다 합격하면 어떡하지?"를 물었는데 "아무래도 우리 해외로 나가고 싶으니 타파스미디어가 낫지 않을까?"라고 하였고 나도 그런것 같다고 하였다.&lt;/p&gt;&lt;p&gt;카카오의 결과는 불합격이었다. 카카오 지원자 중 최종면접에서 두번 떨어진 지원자는 아마 몇명 없지 않을까 생각된다.&lt;/p&gt;&lt;h3 id="2014&amp;mdash;-"&gt;2014 영어, 새 회사 적응&lt;/h3&gt;&lt;p&gt;타파스미디어의 개발자는 모두 한국인이었지만 기획자, 디자이너들은 미국인이었고 그래서 개발자끼리 대화할 때가 아니면 영어로 커뮤니케이션을 하였다. 16시간 시차가 있어서 실시간 커뮤니케이션은 자주 있지 않았고 주로 이메일이나 이슈작성 등을 할 때 영어를 써볼 수 있었다. 해외취업을 하고 싶은 나에게는 좋은 기회였다. 회사에서는 영어학습비 지원도 해주었는데 덕분에 민병철유폰 전화영어를 꾸준히 할 수 있었다.&lt;/p&gt;&lt;p&gt;업무환경은 우분투 데스크탑에서 맥북으로, 깃랩에서 깃헙으로, 이클립스에서 인텔리J로 넘어갔는데 모두 만족스러웠다. 이전 회사에서도 풀스택으로 일했었지만 CSS와 HTML 작업을 해주는 분들이 있었고 서버 운영을 담당하는 시스템엔지니어링 팀도 따로 있었다. 하지만 타파스미디어는 워낙 작은 회사니 CSS부터 프론트엔드, 백엔드, 서버 운영, 데이터베이스까지 모든 부분에 참여해야 했다. 회의나 다른 잡다한 일 없이 개발을 많이 해볼 수 있었고 그것이 좋았다.&lt;/p&gt;&lt;h3 id="2015&amp;mdash;"&gt;2015 해외취업 준비 시작&lt;/h3&gt;&lt;p&gt;타파스미디어에서의 생활은 꽤 만족스러웠지만 여전히 해외취업에 대한 열망은 있었다. 해외취업을 처음 생각하기 시작한 것은 대학시절 워킹홀리데이로 호주에 갔을 때였다. 그 문화와 생활이 좋았고 "내가 이런걸 경험 못해보고 평생 한국에서만 살았구나. 언젠가 다시 해외로 나가서 살아봐야겠다."라는 생각을 하였다.&lt;/p&gt;&lt;p&gt;타파스미디어에서 회식 같은 것을 자주하진 않았는데 하루는 직원들끼리 맥주를 마시러 간 일이 있었다. 거기서 함께 일하던 동료가 "상현님은 꿈이 뭐에요?"라는 질문을 하였다. 나는 "세계 어디서든 일할 수 있게 되는 것이요."라는 대답을 하였다.&lt;/p&gt;&lt;p&gt;해외로 나가고 싶은 다른 중요한 이유도 있었다. 한국의 미세먼지는 점점 심해지고 있었고 아내는 천식이 있었다. 미세먼지가 심한 날에는 기침으로 고생을 많이 하였는데 미세먼지가 심한 날이 점점 많아지고 있었다. &lt;/p&gt;&lt;p&gt;일 년쯤 영어를 어느정도 쓰며 일을 하다보니 자신감이 조금 생겼고 이력서와 커버레터를 쓰기 시작하였다. &lt;a href='https://stackoverflow.com/jobs'&gt;스택오버플로 Jobs&lt;/a&gt; 페이지를 통해 주로 지원을 하였는데 리로케이션이나 비자에 대한 지원과 같은 사항이 잘 적혀있어 좋았다. 초반에 두세군데 정도 지원을 하였는데 그 중 스웨덴의 한 스타트업에서 과제를 내주었고 열심히 해서 제출하였더니 면접을 잡아주었다.&lt;/p&gt;&lt;p&gt;영어로 한시간 넘게 면접을 보고 나왔는데 밖에서 내용을 조금 들은 아내의 표정이 안 좋았다. 내 영어가 엉망이었단다. 결과는 탈랐이었다. 고맙게도 "너 영어가 부족해서 안되겠어"라는 솔직한 피드백을 주었다. 많이 아쉬워 탈락 메일에 구질구질하게 "뽑아줬으면 금방 잘할 수 있었을텐데"라는 답변 메일도 썼다. 하지만 이것도 지나서 보니 다행이라고 생각한다. 독일 날씨도 지독한데 스웨덴이었으면 정말 힘들었을 것 같다.&lt;/p&gt;&lt;p&gt;그 후에도 계속 지원을 하여 10군데 이상 지원했지만 다른 곳에는 서류통과 조차도 되지 않았다. 뭔가 다른 전략이 필요하다는 생각을 하였다.&lt;/p&gt;&lt;h3 id="2016&amp;ndash;"&gt;2016 해외취업, 베를린&lt;/h3&gt;&lt;p&gt;아마존으로부터 서울 채용 행사 초대를 받았다. 인터뷰 한달 전쯤 일정이 잡혔고 그간 열심히 준비하였다. 아마존이 선호하는 회사는 아니었지만 좋은 회사인 것은 확실하고 "내가 뭐라고"라고 생각하며 떨어지면 경험이라도 되겠지라는 생각으로 지원을 하였다. 시애틀과 밴쿠버 중 하나에 가게 될 것이라고 리쿠루터가 이야기하였고 나는 밴쿠버가 좋겠다는 생각하였다.&lt;/p&gt;&lt;p&gt;코딩인터뷰에 Dynamic Programming 문제가 나왔고 최적화된 방법으로 푸는 것에 실패하였다. 결과는 탈락이었다. 하지만 준비과정과 면접을 통해 많은 것을 배울 수 있었다.&lt;/p&gt;&lt;p&gt;이후 새로운 양식으로 커버레터를 쓰기 시작하였는데 그것 덕분인지 서류통과가 되기 시작했고 주로 다음 단계는 과제나 온라인 코딩 테스트였다. 회사일도 만만치 않았는데 저녁과 주말에는 영어, 코딩, 개발, 면접을 공부하는 나날이었다.&lt;/p&gt;&lt;p&gt;면접을 보고 떨어지고가 반복되었고 몸은 지쳐갔다. 무리하고 있다는 생각은 하지 않았는데 7월쯤이 되니 대상포진이 왔다. 그때 진행 중이던 회사가 Zalando였다. 일 년 반 동안 대략 25번 정도의 거절 경험을 겪었고 그것이 몸에 스트레스가 되어왔던 것 같다. 마지막 인터뷰를 볼때는 대상포진약을 먹고 있을 때였다. 다행히 아주 초기에 발견해 통증은 없었는데 독한 약을 먹으니 매우 피곤했다. 이번을 마지막으로 취업준비는 좀 쉬어야겠다는 생각을 하였다.&lt;/p&gt;&lt;p&gt;마지막으로 진행 중이던 회사에서 합격 소식이 왔다. 오퍼를 받고 2~3달 정도 후에 출근하는 일정이었다.&lt;/p&gt;&lt;p&gt;실패가 반복되면서 목표를 취업이 아닌 실패 백 번 해보는 것으로 바꾸었더니 실패를 받아들이기가 쉬웠다. 취업을 두고 거창한 예를 드는 것 같지만 &lt;a href='https://www.designsori.com/zero/1158017?ckattempt=1'&gt;다이슨은 진공청소기를 개발하기 위해 5126번을 실패했다고 한다&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;그렇게 독일에 오게 되었고 집 찾기에 성공해 지금 사는 집으로 들어왔다.&lt;/p&gt;&lt;p&gt;&lt;img src="https://iamsang.com/img/kleinetiergarten.JPG" alt="독일 공원 kleinetiergarten" /&gt;&lt;/p&gt;&lt;h3 id="2017&amp;mdash;-"&gt;2017 영어 그리고 구글 챗봇&lt;/h3&gt;&lt;p&gt;앞선 글 &lt;a href='https://iamsang.com/blog/2020/12/20/difficult-english/'&gt;"해외취업과 영어의 어려움"&lt;/a&gt;에서 썼듯이 영어는 어려웠다. 한국에서 나의 강점 중 하나는 사람을 잘 사귀는 것이었는데 말이 잘 안 통하니 팀에서 겉도는 느낌이었다. 게다가 AWS, OAuth2, Microservices, K8s, Docker 등 경험이 거의 없는 다양한 기술을 회사에서 사용하고 있었는데 기술적인 부분까지 이해가 어려우니 더욱더 스트레스였다. 계속해서 영어를 공부해야 했고 휴가를 이용해 회사에서 사용하는 기술을 공부하기도 하였다.&lt;/p&gt;&lt;p&gt;당시 팀에서 다루던 그 주제 중 하나가 Conversational Commerce 그러니까 챗봇을 통한 판매였다. 알렉사를 시도해보던 중 구글로부터 연락이 왔다. 구글은 독일 구글홈 출시에 맞추어 챗봇이 미리 개발되어 있기를 바랬고 그래서 몇몇 주요 회사들과 접촉을 하였는데 그 중 하나가 우리 회사였다. 그 프로젝트 개발을 혼자 맡게 되었다.&lt;/p&gt;&lt;p&gt;구글은 굉장히 촉박한 일정으로 연락을 주었고 기획과 테스트 기간을 제외하면 사실상 개발할 수 있는 시간은 한달 가량이었다. 나의 첫 챗봇이었으니 구글 어시스턴트가 어떻게 동작하는지, DialogFlow를 통해 챗봇은 어떻게 개발해야하는지 등을 빠르게 학습해야 했다. &lt;/p&gt;&lt;p&gt;회사의 첫 챗봇이었고 구글홈의 출시를 통해 공개되는 중요한 프로젝트였기 때문에 일정에 맞추기 위해 독일에서는 거의 하지 않는 야근과 주말근무를 하였고 결국 시간 내에 출시를 하였다. 프로젝트는 그 해 회사의 혁신 제품으로 선정되었고 유럽내 40군데 이상의 언론에 소개되었다.&lt;/p&gt;&lt;p&gt;이전까지는 회의시간에 말도 잘 못하는 이미지였지만 이 프로젝트 이후 불가능한 프로젝트를 성공시킨 롤모델로 경영진 쪽에서 추켜세워 주었다. 업무에서 자신감을 갖게된 첫번째 계기였다.&lt;/p&gt;&lt;p&gt;뒷이야기를 하자면 구글 챗봇은 홍보적인 면에서는 성공이었지만 챗봇의 여러가지 한계 때문에 판매실적으로는 실패였으며 다음 챗봇을 출시하였지만 여전히 큰 성과가 없어 오래 지나지 않아 프로젝트는 중단되었다. &lt;a href='https://techneedle.com/archives/35564'&gt;챗봇 서비스를 중단하는 뉴스 미디어들&lt;/a&gt;이라는 주제로 테크니들에 글을 쓰기도 했었다.&lt;/p&gt;&lt;h3 id="2018-"&gt;2018 머신러닝&lt;/h3&gt;&lt;p&gt;당시 일하던 신사업 팀에서는 매출을 낼 수 있는 새로운 방식을 찾기 위해 데이터 사이언스를 적용해보고 싶어하였다. 하지만 새로운 데이터 사이언티스트를 고용하는 것은 시간이 걸리는 일이었다.&lt;/p&gt;&lt;p&gt;그러던 중 회사 내에서 개발자들을 상대로 머신러닝(ML)을 교육하는 프로그램을 시작하였고 그것에 참여하게 되었다. 자료는 Coursera에서 가장 인기있는 강좌인 &lt;a href='https://www.coursera.org/learn/machine-learning'&gt;Andrew Ng의 Machine Learning&lt;/a&gt;을 이용하였다. 11주짜리 코스인데 배경지식이 거의 없는 나로서는 쉽지 않았고 저녁과 주말을 이용해야 과제를 제대로 해낼 수 있었다.&lt;/p&gt;&lt;p&gt;얼마 후 팀의 경영진 중 한명이 데이터 사이언티스트 채용공고를 공유하며 지인이 있으면 추천하라고 하였다. 나는 이제 갓 ML 수업을 시작한 상태였지만 데이터 사이언티스트를 뽑기 전까지 팀의 데이터 사이언스 프로젝트를 맡아도 되겠냐고 문의하였고 흔쾌히 그래도 좋다는 답변을 얻었다.&lt;/p&gt;&lt;p&gt;Andrew Ng의 ML 코스는 기본을 익히기에 좋았지만 실무에 사용할 수 있는 지식은 아니었다. 수업을 수료하고 나니 &lt;a href='https://www.coursera.org/specializations/data-science-python'&gt;Python을 이용한 응용 데이터 사이언스&lt;/a&gt; 수업이 추천강좌로 메일로 왔고 이것을 이어서 공부하였다.&lt;/p&gt;&lt;p&gt;Python이 능숙하지 않은데다 pandas, numpy, scikit-learn 등 처음보는 라이브러리들을 공부해야 했지만 공부한 것을 프로젝트에 바로 써먹을 수 있으니 즐거웠다. 마침 회사에서 Databricks라는 Spark 기반의 데이터 분석 및 처리 플랫폼을 도입하였고 덕분에 공부해야할 거리는 늘었지만 서버를 따로 세팅하지 않고 데이터처리를 할 수 있어 시간을 아낄 수 있었다. 그렇게 데이터 분석, 모델링, 배포, 데이터파이프라인, 백엔드까지 모두 맡아 프로젝트를 진행하였다.&lt;/p&gt;&lt;p&gt;맡고 있던 다른 업무들도 많이 있었기 때문에 프로젝트 진행이 수월하지만은 않았지만 결국 성공적으로 출시가 되었고 이 프로젝트는 몇년간 팀에서 실험했던 어떤 마케팅 방식보다 효과적으로 매출을 상승시킨 결과를 내었다.&lt;/p&gt;&lt;h3 id="2019&amp;ndash;"&gt;2019 블로그, 영어&lt;/h3&gt;&lt;p&gt;2019년을 열며 쓴 블로그 글 &lt;a href='https://iamsang.com/blog/2019/01/01/career-advice/'&gt;"내가 받은 최고의 커리어 조언"&lt;/a&gt;이 상당한 인기를 얻었다. 특히 &lt;a href='https://twitter.com/ohyecloudy'&gt;오종빈&lt;/a&gt;님께서 트윗해주시며 큰 인기를 얻었다. 오랜만에 연락한 전 직장 동료가 글을 잘 보았다는 이야기를 하기도 하였다.&lt;/p&gt;&lt;p&gt;&lt;blockquote class="twitter-tweet"&gt;&lt;p lang="ko" dir="ltr"&gt;“CEO님께서는 부사장(VP)이나 상무(SVP)가 될 사람을 어떻게 찾습니까?”&lt;br&gt;“저는 본인의 영역 이상의 일을 이미 하는 직원을 찾아서 그들을 진급시킵니다.” - 내가 받은 최고의 커리어 조언 &lt;a href="https://t.co/z2SoGZkveu"&gt;https://t.co/z2SoGZkveu&lt;/a&gt;&lt;/p&gt;&amp;mdash; 오종빈(Jongbin Oh) (@ohyecloudy) &lt;a href="https://twitter.com/ohyecloudy/status/1080833712437243904?ref_src=twsrc%5Etfw"&gt;January 3, 2019&lt;/a&gt;&lt;/blockquote&gt; &lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;&lt;p&gt;몇 년간 영어로만 일하며 살았지만 여전히 영어가 부족했고 링글이라는 서비스를 발견하여 수강해보았다. 전화영어를 오래하였지만 필리핀쪽은 생각보다 잘못 가르쳐주는 것이 꽤 있고 미국쪽도 수준있는 대화를 나누기는 쉽지 않았다.&lt;/p&gt;&lt;p&gt;링글은 그런 문제점을 해결한 서비스인데 값이 싸진 않지만 해볼만 하다고 생각하였다. 가장 큰 투자는 돈 보다 시간이었다. 수업을 준비하기 위해 많은 시간을 써야했고 수업 후에는 녹음된 내 목소리를 들으며 잘 못된 점을 개선해 나갔다.&lt;/p&gt;&lt;p&gt;녹음된 음성을 들으며 생각보다 짦은 시간에 나의 말하기 방식의 문제점을 찾아낼 수 있었고 그것을 고치는 방식으로 연습해나가다보니 좋은 성과를 이룰 수 있었다.&lt;/p&gt;&lt;p&gt;이전까지는 영어에 대한 자신감이 부족해 면접관으로 활동하는 것에 부담이 있었다. 내가 말을 했는데 못알아들으면 "내 발음 때문이구나"라는 생각이 들어 주눅이 들기도 했었다. 수업 후 자신감을 많이 상승시킬 수 있었고 덕분에 면접관으로도 적극적으로 활동할 수 있었다.&lt;/p&gt;&lt;p&gt;참고로 링글과는 전혀 개인적인 이익관계가 없으며 어떤 서비스라도 잘 만들어진 서비스에 개인의 노력이 더해진다면 영어실력을 향상시키는 것은 문제 없다고 생각한다.&lt;/p&gt;&lt;p&gt;링글에 관심이 있다면 &lt;a href='https://www.ringleplus.com/ko/student/landing/home?referralCode=454bb4'&gt;이 초대링크&lt;/a&gt;를 타고 들어가면 체험을 해볼 수 있다 (그리고 일반적인 초대링크처럼 나에게도 혜택이 온다.) &lt;a href='https://www.ringleplus.com/'&gt;링글 사이트&lt;/a&gt;로 바로 들어가 수업신청을 할 수도 있다.&lt;/p&gt;&lt;p&gt;이때는 관리직 쪽으로 갈 것인가 개발자로 남을 것인가를 선택해야하는 시기이기도 하였는데 고민 끝에 관리직보다는 리더십을 가진 개발자가 되는 것이 나의 장기적인 목표에 필요한 것들을 더 많이 배울 수 있는 방법이라고 생각하여 개발자로 남는 것을 선택하였다. 하루종일 미팅을 하며 시간을 보내고 싶진 않았다.&lt;/p&gt;&lt;h3 id="2020&amp;mdash;-"&gt;2020 재택근무, 멘터링, 데이터 사이언스팀&lt;/h3&gt;&lt;p&gt;재택근무를 시작하였다. 시간이 더 많아지고 더 건강해졌다. 이것에 관한 자세한 내용은 이전 글 &lt;a href='https://iamsang.com/blog/2020/11/02/wfh/'&gt;독일에서의 재택근무&lt;/a&gt;에서 다루었다.&lt;/p&gt;&lt;p&gt;데이터분석가, 마케터 동료들이 점심을 함께 먹던 중 파이썬을 배우고 싶다는 이야기를 하였다. 파이썬 실력과 커뮤니케이션 능력도 키울겸해서 스터디 그룹을 시작하였다. 국내에는 &lt;i&gt;나의 첫 파이썬&lt;/i&gt;이라는 이름으로 소개된 &lt;i&gt;Python Crash Course&lt;/i&gt;를 교재로 이용하여 매주 한시간씩 만나 질문을 받고 내용과 관련하여 실무에 필요할만한 추가적인 내용을 알려주는 방식이었다. 그 책을 끝낸 후에는 pandas를 개발한 웨스 맥키니가 쓴 &lt;i&gt;파이썬 라이브러리를 활용한 데이터분석 (Python for Data Analysis)&lt;/i&gt;을 보기 시작하였다.&lt;/p&gt;&lt;p&gt;다들 분명한 목표가 있으니 성실하게 임했다. 개발을 처음해보는 동료들의 질문을 받는 것은 신선하고 재미있는 경험이었다. 이제 약 일 년이 지났는데 파이썬을 이용해 데이터 분석을 하고 문자를 처리하는 등 실무적인 문제를 코딩을 이용해 해결하는 모습을 보니 뿌듯했다.&lt;/p&gt;&lt;p&gt;팀장은 이것을 전사로 확장해보자는 제안을 하였고 지금은 어떻게 하면 데이터분석을 원하는 직원들을 대상으로 효과적으로 파이썬 교육을 할 수 있을지 프로젝트를 진행 중이다.&lt;/p&gt;&lt;p&gt;2020년은 팀을 옮긴 해이기도 하였는데 데이터사이언티스트들이 모인 리서치팀과 함께 일하게 되었다. AWS SageMaker, EMR, TensorFlow, Airflow 등 새로운 기술을 다뤄야했고 이미 구축되어 있는 방대한 시스템을 이해해야 했다.&lt;/p&gt;&lt;p&gt;데이터사이언티스트들이니 엔지니어링쪽 문제에 능숙하지 못한 부분이 있었고 그런 부분들을 찾아 워크샵을 하거나 문제를 해결해주기도 하였다.&lt;/p&gt;&lt;p&gt;팀에서 내가 가장 못하는 사람이 될 수 있는 팀에 들어가고 싶었는데 경력이 쌓일 수록 그것이 쉽지 않았다. 리서치팀에서는 최소한 데이터사이언스에 관해서는 내가 가장 모르는 사람이 될 수 있었다.&lt;/p&gt;&lt;p&gt;얼마 전 누군가가 나에게 꿈이 무엇인지 물어보는 꿈을 꾸었다. 나는 "세계 어디서든지 일 할 수 있는 사람이 되는 것이요."라고 대답을 하였다. 잠에서 깨어서 생각해보니 나는 꿈을 조금은 이루었구나 하는 생각이 들었다. &lt;/p&gt;&lt;p&gt;대학생 시절 중소기업에서 근로장학생으로 근무한 적이 있었다. 직원들이 하루는 ‘과거로 돌아간다면 무슨 전공을 선택할 것인가?’에 대한 대화를 나누고 있었다. 나에게도 질문을 하자 나의 전공인 “컴퓨터공학이요”라고 대답했는데 “아직 필드에 나와보지 않아서 그렇다”라는 답을 들었다. 11년이 지난 지금 아직 나의 생각에는 변함이 없다.&lt;/p&gt;</description></item><item><title>해외취업과 영어의 어려움</title><link>https://iamsang.com/blog/2020/12/20/difficult-english</link><pubDate>Sun, 20 Dec 2020 21:30:00 +0100</pubDate><description>&lt;p&gt;해외취업을 준비하며 수없이 들었던 생각이 "영어를 이것 밖에 못하는데 과연 지금 해외에서 직업을 구하려고 하는 것이 말이 되는가"였다.&lt;/p&gt;&lt;p&gt;독일에 오기 전 약 2년 정도 거의 중단하지 않고 일주일에 3회 이상씩 전화영어를 하였다. 처음 독일에 와 점심시간이 되었는데, "점심먹으러 갈까?"를 어떻게 자연스럽게 이야기 해야하나 고민하다 동료들에게 "Lunch?"라고 물어보았다. 전화영어를 아무리 오래해도 점심먹으러 가자는 말을 연습해볼 기회는 없었다.&lt;/p&gt;&lt;p&gt;동료들과 진행상황을 공유하다 내가 코멘트로 이미 남긴 사항에 대해서 물어보길래 "디쥬 혹시 체크 마이 코멘트?"라고 물어봤다. 주위에 한국인이 없어서 천만 다행이었다. &lt;/p&gt;&lt;p&gt;여기 오니 다들 자기 주장이 강하고 회의시간에는 열띤 토론이 이어지는데 나는 한마디도 하지 못하는 경우가 많았다. 6개월 수습기간 후 피드백에는 좀 더 의견을 제시하는 것이 좋겠다는 내용이 대부분이었다 (독일에서는 취업 시 일반적으로 6개월의 수습기간이 있다. 그 기간 중에는 고용자의 일방적인 요청으로 계약이 해지 될 수 있지만 그 이후로는 해고가 어려워진다.) &lt;/p&gt;&lt;p&gt;한국에 있을 땐 회의시간에 의견을 많이 제시하는 편이었는데 여기서는 한 문장 만드는데도 머리 속에서 오랜 시간이 걸리니 타이밍에 맞춰 발언을 하기가 쉽지 않았다. 주변 동료들이 이런 저런 것에 대한 의견을 물어볼때마다 영어 말하기 시험을 보는 느낌이었다. 나만큼 영어를 못하는 동료는 없었다.&lt;/p&gt;&lt;p&gt;한국인의 영어에 대해 이야기할 때 발음이 중요한가에 대한 논쟁을 가끔 볼 수 있다. 나의 경험으로는 제대로 발음하지 않고 적당히 한국식으로 발음을 하면 말 자체를 알아듣지를 못하는 경우가 종종 있었기 때문에 영어 발음에 소질이 있는 사람이 아니라면 외국 생활을 위해서 발음 연습은 필수라고 생각한다. 문장이 다 갖추어져 있고 헷갈리는 단어가 없을때는 문제가 덜하지만 한 단어만 이야기해야할 때는 제대로 발음하지 않으면 아무리 말해도 못알아 듣는 경우도 있었다. 이런 경험이 반복되면 대화를 하는데 자신감이 떨어질 수 밖에 없다.&lt;/p&gt;&lt;p&gt;시간이 지나며 일상 대화는 조금 자연스러워지고 자신감도 생겼지만 아직도 미국, 영국의 영화나 드라마를 보면 이런 생각을 종종한다. "어째서 이렇게 오랜시간 영어공부를 하였는데 이런 쉬운 문장도 알아들을 수가 없는 것인가?"&lt;/p&gt;&lt;p&gt;4년 넘게 매일 영어를 쓰며 일하고 있지만 아직도 영어공부를 하고 있다. 밑빠진 독에 물붓는 느낌이 들기도 한다.&lt;/p&gt;&lt;p&gt;경제가 좋은 지역은 어딜가나 개발자 구인난이고 영어를 유창하게 못하더라도 어느정도 소통이되면 뽑는 곳도 많이 있다. 베를린에서 이직을 했는데 가보니 마음에 안 들어 바로 다른 리크루터에게 소개 받은 곳으로 옮기는 친구도 있었다.&lt;/p&gt;&lt;p&gt;해외취업에 관심이 있다면 일단 직업을 구하고 돈 받으며 실용영어로 실력을 쌓는 방법도 괜찮다. 물론 그동안 어느정도 스트레스 받는건 어쩔 수 없다.&lt;/p&gt;</description></item><item><title>두 종류의 리더</title><link>https://iamsang.com/blog/2020/12/08/two-types-of-leaders</link><pubDate>Tue, 08 Dec 2020 09:30:00 +0100</pubDate><description>&lt;p&gt;이전에 다니던 회사에서 마지막 프로젝트를 할때였다. 공교롭게도 출근 마지막 날이 프로젝트 리뷰 날이었는데, 마지막 날이니 나는 들어가지 않았고 함께 일했던 개발자와 기획자만 참여하였는데 풀죽은 모습으로 나왔다. 무슨 일이냐고 물어보니 혼이나고 다시 만들기로 했다고 한다. 당시 프로젝트 경험이 많지 않은 기획자가 담당했었는데 기획 단계마다 컨펌을 받아야하고 수정이 필요하면 수정마다 다시 컨펌을 받아야하는 구조였다. 프로젝트 기획에 대해 의논하고 싶어도 정작 담당자들은 권한을 가지고 있지 않으니 이의를 제기하는 것이 그들을 괴롭히는 것으로 느껴졌다. 허수아비와 일을 하는 느낌이었다. 그렇게 권한과 신뢰는 전혀 주지 않고 모든 단계에서 확인하고 컨펌을 했으면서 결과에 대한 책임만 물린 것이다.&lt;/p&gt;&lt;p&gt;그 이후 들어간 스타트업에서 첫번째 프로젝트 때였다. 어렵게 준비한 프로젝트가 출시 당일 날 뒤집어졌다. 마지막 테스트를 하는 도중 기획에 문제가 있다고 생각했던 것이다. 얼마 후 CEO님께 장문의 이메일이 왔다. 일이 이렇게 된 것은 모두 본인의 책임이며 다음부터는 이런 일이 발생하지 않도록 하겠다는 내용이었다. 한 팀 정도 규모의 스타트업이라 보고체계가 없고 수평적이고 자유롭게 토론하며 일할 수 있는 문화였다. 직원들을 신뢰하고 권한을 부여한 뒤 문제가 생기니 책임을 본인에게 돌린 것이다.&lt;/p&gt;&lt;p&gt;어느 팀에서 직원들이 더 의욕적이고 생산적으로 일할 수 있을지, 더 좋은 제품을 만들 수 있을지, 그리고 리더를 신뢰하고 따를지는 명확해보인다.&lt;/p&gt;</description></item><item><title>깃헙의 main 브랜치에 반대하는 이유</title><link>https://iamsang.com/blog/2020/11/11/github-and-main-branch</link><pubDate>Wed, 11 Nov 2020 18:20:32 +0100</pubDate><description>&lt;p&gt;&lt;a href='https://www.zdnet.com/article/github-to-replace-master-with-main-starting-next-month/'&gt;깃헙은 2020년 10월 1일부터 기본 브랜치를 master가 아닌 main으로 바꾸기로 결정하였다&lt;/a&gt;. 이제 따로 설정하지 않을 경우 새로운 저장소를 만들면 main 브랜치를 이용한 명령어가 안내된다.&lt;/p&gt;&lt;p&gt;차별을 방지하기 위해 언어를 순화하겠다는 의도는 이해할 수 있지만 나는 다음과 같은 세 가지 이유로 이것에 반대한다.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;논리와 근거의 부족&lt;/li&gt;&lt;li&gt;토론의 부족&lt;/li&gt;&lt;li&gt;실제적 효과에 대한 문제&lt;/li&gt;&lt;/ol&gt;&lt;h3 id="1&amp;mdash;"&gt;1. 논리와 근거의 부족&lt;/h3&gt;&lt;p&gt;IT업계에서 master와 slave라는 단어는 기술적으로 메인과 그 외의 것을 지칭하는 용어로 사용되어 왔고 그 어원이 노예제에서 왔다는 이유로 다른 용어로 대체되기 시작하였다.&lt;/p&gt;&lt;p&gt;문제는 master는 master/slave가 아닌 main이나 origin의 뜻으로도 사용되며 깃에서 master라는 용어를 정할때는 master/slave의 의도가 없었다는 것이다. slave 브랜치라는 것은 없으니 개발자라면 실제 용법상으로도 그렇지 않다는 것을 알 수 있다.&lt;/p&gt;&lt;p&gt;&lt;a href='https://mail.gnome.org/archives/desktop-devel-list/2020-June/msg00023.html'&gt;한 GNOME 이메일&lt;/a&gt;의 작성자는 깃의 master가 master/slave에서 왔으므로 바꾸어야한다고 주장했다가 리누스와 대화 후 그렇지 않을 것이라는 것을 알게되었지만 어원은 별로 중요하지 않다는 결론을 짓는다. 새로운 증거가 나왔음에도 불구하고 기존의 신념을 버리지 못하는 흔한 예이다. 어원이나 그 의미가 중요하지 않다면 모든 master라는 단어는 대체되어야 한다는 말인가?&lt;/p&gt;&lt;p&gt;깃 master 브랜치명 변경 움직임이 촉발된 중요한 이유 중 하나가 Black Lives Matter (BLM) 운동이었다. &lt;a href='https://twitter.com/mislav/status/1270388510684598272'&gt;Mislav Marohnić라는 한 깃헙의 개발자의 트윗&lt;/a&gt;을 보면 백인들은 흑인에 비해 특권을 누리고 있으며 자성하고 행동해야한다는 이야기를 하며 마찬가지로 결국 어원은 중요치 않다고 이야기한다 (여기서 이 개발자는 실제 어원도 master/slave가 맞다는 이야기를 하지만 그것은 나중에 그렇지 않다고 밝혀진 메일링 리스트 대화의 일부였다.) &lt;/p&gt;&lt;p&gt;이 주장을 펼치며 역설적이게도 이 글을 쓴 개발자는 미국의 백인이 깃헙을 사용하는 개발자의 중심(혹은 세계의 중심)이라고 생각하는 듯하다. 이 개발자는 과연 아프리카의 개발자들도 그들이 동의하든 동의하지 않든 비용을 들여 브랜치명 변경으로 인해 발생하는 문제를 해결해야한다는 사실을 충분히 생각해보았을까. 이 개발자는 다른 나라에게 주로 침범 당해오기만한 아시아의 한 나라에서도 이 결정에 대한 짐을 함께 져야한다는 것을 예상했을까. 한국에도 흑인에 대한 인종차별이 있을 것이며 그 문제를 해결하기 위한 움직임이 있을 수 있다. 하지만 그것은 한국 내에서 자발적으로 일어나야하는 것이지 미국 백인들의 강제적인 결정에 의해 일어나는 것이어선 안된다.&lt;/p&gt;&lt;p&gt;장애우라는 단어가 있다. 장애인이라는 단어를 순화하기 만들어진 용어인데 이것은 &lt;a href='https://post.naver.com/viewer/postView.nhn?volumeNo=6417211&amp;memberNo=3187643'&gt;비장애인 입장에서 만들어진 것&lt;/a&gt;으로 장애인 입장에서는 본인을 지칭할 수 없는 말이며 나이가 많거나 적은 사람에게 사용하기도 어려운 단어이다. 우리가 미국에서 유행하는 이런 움직임을 무비판적으로 받아들인다면 이것은 미국에서 "한국에서는 장애인을 위해 장애우라는 단어를 만들었다고 하니 우리도 장애인을 disabled friends라고 부르자"라고 하는 상황과 같다. 좋은 의도가 항상 좋은 결과를 낳지는 않는다.&lt;/p&gt;&lt;h3 id="2&amp;ndash;"&gt;2. 토론의 부족&lt;/h3&gt;&lt;p&gt;깃헙의 브랜치명 변경은 논리와 근거의 부족 그리고 미국 중심적인 결정이라는 이유로 많은 반발을 일으켰다. 문제는 의사결정권자들이 합리적인 반대의견에 대해 inclusive하지 않은 반응을 보인다는 점이다. inclusive한 용어를 사용하기 위한다며 다양한 의견에 대해서는 전혀 inclusive하지 않는 태도를 보이는 아이러니한 상황인 것이다. 예를 들어 &lt;a href='https://github.com/git-for-windows/git/issues/2674'&gt;Git For Windows의 main으로의 브랜치명 변경 티켓&lt;/a&gt;에서는 다수의 사람들이 반대의견을 표시하고 있는데도 적절한 설명을 내놓지 않은채 밀어붙이는 모습을 보여주고 있다. 반대의견은 모두 이슈 하단에 숨김처리되어 있다.&lt;/p&gt;&lt;p&gt;해커뉴스에서도 &lt;a href='https://news.ycombinator.com/item?id=23500093'&gt;이 결정과 관련한 토론&lt;/a&gt;이 수 차례 있어왔으며 다수가 반대의견을 표시하고 있는 것을 볼 수 있다. 모두를 만족시키려는 것은 어리석은 짓이나 최소한 합리적인 토론은 가능해야하는데 그것이 부족해보인다.&lt;/p&gt;&lt;p&gt;어떤 사안이든 여러가지 면이 있고 그것에 대해 충분히 토론하고 검토하는 것이 필요하다. 한편으로는 반대가 있어도 무시하는 것이 문제라면 다른 한편으로는 이것을 단순히 "의식있는 행동"이라고 생각하고 무비판적으로 받아들인다는 것이 문제이다.&lt;/p&gt;&lt;p&gt;한 회사에서 직원들이 모여 이 브랜치명의 어원과 의미가 무엇인지 바꾸는 것은 무엇을 의미하는지 그것이 그 시간을 투자할만큼 의미있는 일인지 혹은 더 좋은 방법은 없을지에 대해 충분히 토론한 뒤 합의에 이르러 브랜치명을 바꾸기로 했다면 그것은 존중 받을만한 일이다. 하지만 미국의 유명 대기업에서 main으로 바꾸니 이것은 의미있는 일이 틀림없고 그러니 다들 불만갖지 말고 바꾸라고 한다면 이것은 의식있는 행동을 한다는 것을 보여주고 싶은 나르시즘에 불과하다.&lt;/p&gt;&lt;h3 id="3&amp;mdash;-"&gt;3. 실제적 효과에 대한 문제&lt;/h3&gt;&lt;p&gt;세상을 더 나은 곳으로 바꾸기 위한 의미있는 행동을 비난하는 이들이 있다. 합리적인 비판도 있지만 많은 경우 이 비난의 이면에는 아무 행동도 하지 않는 자신들의 무능함, 무책임함 또는 무지가 있고 이것을 직면하는 대신 가장 쉬운 비난이라는 방법을 택한다. 기부나 자선사업을 해도 비난을 하거나 당장 사람이 죽어나가고 있는 상황에서 "난민들이 생기지 않게 해야지 난민을 도와주면 어떡하냐"라고 이야기하는 식이다.&lt;/p&gt;&lt;p&gt;main 브랜치로의 변경은 과연 의미있는 변화를 가져올까. master를 main으로 바꾸는 것은 세계적으로 많은 비용을 수반한다. 기술적으로 깃의 주 브랜치명은 어떤 것이든 될 수 있지만 사실상 master가 de facto인 상황이었으므로 일반적으로는 그것에 대해 고민할 필요가 없었다. 이 변화로 인해 이제 어떤 저장소의 주 브랜치가 master라고 가정할 수 없으며 그것은 수많은 자동화 시스템에 문제를 일으킬 것이다. 여러사람이 함께 일하는 새로운 프로젝트 저장소의 주 브랜치명을 무엇으로 정해야하나에 대한 양극화 문제도 발생할 것이다. 걸리버 여행기에는 계란을 위로 깨는 파와 아래로 깨는 파의 전쟁 이야기가 나온다. main 브랜치의 출현은 이 이야기를 연상시킨다.&lt;/p&gt;&lt;p&gt;과연 이것이 이 비용을 치를만큼 실용적 효과를 낼만한 일인가. master 브랜치에 대해 이야기할 때 "나는 흑인인데 이것이 거슬린다"라고 이야기하는 사람은 찾기 어렵다 (반면 "나는 흑인인데 대체 이걸 왜 바꾸려는지 모르겠다"라고 이야기하는 글은 몇 번 보았다.) main 브랜치를 옹호하는 주장은 대부분 "(나는 백인인데) 이것에 상처받는 누군가가 있을 수도 있다"이다. 혹시 master라는 용어 때문에 상처받는 사람이 있을 수도 있다고 걱정하는 사람들을 위해 우리는 이것을 바꾸어야하는가?&lt;/p&gt;&lt;p&gt;실제 master라는 단어 사용 때문에 어려움을 겪는 소수의 사람들이 있다고 하더라도 과연 이것이 그들을 보호하는 일인가에 대해 다시 한번 고민해보아야 한다. 소수자나 약자를 보호하려 할 때는 그들을 위험으로부터 막아주는 것도 중요하지만 그들 스스로 그 어려움을 이겨낼 수 있도록 도와주는 것도 중요하다. master라는 단어는 일상적으로 사용되는 단어인데 그 단어 때문에 어려움을 겪는다면 그것을 없애는 것 보다는 스스로 그것을 극복할 수 있는 도움을 주는 것이 현실적으로 그들을 보호할 수 있는 방법이다.&lt;/p&gt;&lt;p&gt;독일로 입사 후 교육기간에 보았던 발표 중 가장 인상적이었던 것이 Diversity Guild의 발표였다. 다양한 국적의 직원들이 모여서 일하는 환경이니 서로를 더욱 잘 이해하고 포용할 수 있도록 하는 것이 취지였다. 다양성에 대한 경험이 적은 우리나라에서는 안타깝게도 다양성에 큰 중요성을 두지 않는다. 오래 전부터 다양한 인종이 모여살던 미국은 그 문제를 해결하기 위해 오랜기간 노력해왔고 훌륭한 성취를 이루었다. 문제는 이제 그 움직임이 극단적으로 가고 있어 그로 인한 다른 문제들이 발생하고 있다는 것이다. 이런 정치적 움직임이 한쪽 극단으로 갔을 때 어떤 문제가 생기는지 우리는 역사를 통해 잘 알고 있으며 그것이 되풀이 되지 않게 하기 위해서는 고민과 성숙한 토론이 필요하다.&lt;/p&gt;</description></item><item><title>독일에서의 재택근무</title><link>https://iamsang.com/blog/2020/11/02/wfh</link><pubDate>Mon, 02 Nov 2020 22:10:42 +0100</pubDate><description>&lt;p&gt;&lt;img src="https://iamsang.com/img/wfh.jpg" alt="my laptop and black cat" /&gt;&lt;/p&gt;&lt;p&gt;지난 3월 독일에도 코로나바이러스가 퍼지며 집에서 근무가 가능한 직원들은 모두 재택근무에 들어갔고 11월인 지금까지도 계속되고 있다. 이 상황이 1~2년 정도는 더 갈 것 같고 그 후에는 사무실로 다시 돌아가는 것이 필수가 아닌 선택이될 것으로 보인다. &lt;/p&gt;&lt;p&gt;테크니들에서 전원 원격근무하는 기업인 &lt;a href='https://techneedle.com/archives/36570'&gt;깃랩(GitLab)&lt;/a&gt;이나 &lt;a href='https://techneedle.com/archives/36360'&gt;인비전(Invision)&lt;/a&gt;과 같은 내용을 다루었었고 다음 회사는 재택근무가 가능한 곳으로 찾아볼 생각도 있었지만 일생을 어딘가로 등교 또는 출근하다 갑자기 생활방식이 바뀌었을 때 건강이나 심리적인 문제가 생기지는 않을지에 대한 우려도 있었다. 출근을 하며 "매일 이렇게 일어나 걷고 열차를 타고 또 걷는 것이 나에게 기본적인 운동량을 주고 심리적인 영향을 줄텐데 이것이 없어지면 생활에 문제가 생기진 않을까"하는 생각을 하기도 했었다. &lt;/p&gt;&lt;p&gt;문제가 어떤 식으로 나타날지 모르는 상황에서 갑자기 재택근무로 전환하는 것은 위험할 수 있다고 생각했다. "많은 사람들이 재택근무를 동경하지만 실제로 해보면 외롭기도 하고 그렇게 이상적이지만은 않다"라며 다시 출근하는 생활로 돌아온 직장 동료도 있었고 남편이 재택근무를 더 이상하고 싶어하지 않아한다며 미국으로 돌아간 동료도 있었다.&lt;/p&gt;&lt;p&gt;지금의 회사는 몇 개의 건물만을 사용하고 있고 그 중에서도 1/3 정도의 좌석만을 오픈해서 WeWork와 비슷하게 예약제로 원하는 사람들만 사무실에 출근을 하고 있는 상황이다. 팀원 중 거의 매일 출근을 하는 동료도 있고 일주일에 두세번 혹은 가끔씩 사무실로 나가는 친구들도 있다. 매일 가는 동료들은 집에서는 생산성이 나지 않는다거나 집과 일하는 공간을 분리하고 싶다고 이야기한다. &lt;/p&gt;&lt;p&gt;사무실에 가지않고 집에서 일하는 것에 더 만족하고 있다는 동료도 많으며 나도 이쪽에 속한다.&lt;/p&gt;&lt;h3 id=""&gt;장단점&lt;/h3&gt;&lt;p&gt;가장 좋은 점 중 하나는 출퇴근 시간이 없어지면서 시간적인 여유가 많아진 것이다. 출퇴근에 걸리는 시간이 합쳐 한시간 반정도였는데 하루에 그만큼의 여유가 더 생긴 것이다. 덕분에 운동을 꾸준히 할 수 있어 출퇴근을 할 때보다 더욱 건강해졌다. &lt;/p&gt;&lt;p&gt;일과 시간 중 처리해야할 일이 있을 때에는 저녁에 일을 조금 더 하는 식으로 유연하게 대처하는 것도 가능하다. 하지만 이전에 예상했던 것보다는 규칙적인 생활을 하고 있다. 예를 들어 "재택근무를 하면 사람이 없는 낮시간에 동내에 있는 농구대나 탁구대를 사용할 수 있겠다"라고 생각했었는데 막상 집에서 일을하니 근무시간에는 일을 하고 시간에 맞춰 일을 마치는 것이 자연스럽고 편안하게 느껴져 가능하면 정해진 시간에 맞추어 일하게 된다.&lt;/p&gt;&lt;p&gt;회의를 위해 회의실이 필요 없다는 것도 장점이다. 회의실을 잡는 것도 이동하는 것도 번거로운 일이었고 더 의논할거리가 있는데 다음 사람을 위해 회의실을 비워주어야하는 경우도 많았다. 지금은 시간과 공간 제약없이 언제 어디에 있는 동료와도 쉽게 미팅을 할 수 있다. 헬싱키에 있는 동료와 회의를 했을 때는 "이제 헬싱키에 있는 동료나 베를린에 있는 동료나 다른 점이 없구나"라는 생각이 들기도 하였다. &lt;/p&gt;&lt;p&gt;대부분이 출근을 하고 한둘이 재택근무를 하는 경우에는 어쩔 수 없이 재택근무하는 동료보다는 물리적으로 가까이에 있는 동료를 우선으로 의사소통 하기 마련인데 이제는 대부분이 재택이고 몇몇이 사무실에 있으니 회의를 하다 시간이 다 되면 사무실에 나가있는 동료들은 다른 공간을 찾기 위해 분리되고 집에서 일하는 동료들 끼리만 이야기를 이어나가는 경우도 종종 일어난다. 재택근무를 하면 커뮤니케이션에 어려움이 있을 것이라 생각했는데 오히려 더 쉬워진 느낌이다.&lt;/p&gt;&lt;p&gt;출근을 할 때 가장 아쉬웠던 점은 내가 가장 사랑하는 사람이 아닌 사람과 깨어있는 가장 많은 시간을 보내야한다는 점이었다. 집에서 일을 하면 언제라도 옆방에 있는 아내와 고양이들을 보러갈 수 있다.&lt;/p&gt;&lt;p&gt;독일에 사는 한국인이라 느낄 수 있는 장점은 마늘을 걱정없이 먹을 수 있다는 점이다. 한식을 고집하는 편은 아니지만 마늘이 들어간 음식은 즐기는데 외국인은 그 냄새를 불편하게 여긴다는 이야기를 들어 조심하는 편이었다. 이제 그런 것은 신경쓰지 않아도 된다.&lt;/p&gt;&lt;p&gt;아쉬운 점은 새로운 사람을 만날 기회가 줄어들었다는 점이다. 회사에 있으면 이런 저런 이유로 작은 파티나 모임이 종종 있었고 그럴 때면 세계 곳곳에서 온 다른 팀의 동료들을 만날 수 있었다. &lt;/p&gt;&lt;p&gt;가끔씩 집중력이 떨어진다는 문제도 있다. 고양이들이 와서 방해를 한다거나 집안일 등으로 인해 일을 잘 못했을 때는 밤 늦게까지 일을 하기도 하는데 그럴 때는 아침부터 자기 전까지 하루종일 일만 한 것 같은 느낌이든다.&lt;/p&gt;&lt;h3 id="-"&gt;시행착오와 배운점&lt;/h3&gt;&lt;p&gt;갑작스럽게 전원 재택근무가 시작되어 초기에 혼란스러운 점도 있었다. 첫 몇 주간은 다양한 뉴스와 사내 Q&amp;A 등을 보느라 일에 집중할 수가 없었고 일과가 끝난 시간이 되었을 때는 한 일이 없는 것 같아 밤까지 일을 했던 적이 종종 있었다. 업무에 집중할 수 있는 시간을 늘리기 위해 주의를 분산시키는 채널을 최대한 줄이고 이메일 확인횟수도 줄이면서 차츰 일상적인 업무 패턴으로 돌아갈 수 있었다.&lt;/p&gt;&lt;p&gt;의도적으로 시간을 잡지 않으면 업무 외의 대화는 할 기회가 없으니 초기에는 온라인 커피타임이 팀별로 만들어지기도 하였는데 지속적으로 이루어지지는 않았다. 특별한 주제없이 자연스럽지 않게 만나 이야기를 나누다보니 대화가 피상적이 되고 보통 2~4인 정도로 쪼개지는 오프라인과는 다르게 모두가 한 가지의 대화에 참여해야해서 어색했다.&lt;/p&gt;&lt;p&gt;업무 외의 일로 동료들과 시간을 보내는 방식으로는 스터디 그룹이나 정보교류 모임이 성공적이었다. 만나기 위한 주제가 있으니 대화거리가 없어도 어색하지 않고 개인적인 대화를 하다가 끊기면 원래 주제로 들어가면 되니 부담이 없었다. 재택근무를 하며 따로 사람을 만나지 않는데도 외롭다는 느낌이 들지 않았는데 생각해보니 이와 같은 모임에서 충분히 사람들과 대화를 나누고 있었기 때문이었다.&lt;/p&gt;&lt;p&gt;카메라를 켜고 회의하는 것을 권장하는데 이것은 서로에게 친밀감을 느끼는데에 도움이 되었다. 상대방의 표정을 읽으며 이야기 할 때 더 안정감이 느껴진다. &lt;/p&gt;&lt;h3 id=""&gt;근무환경&lt;/h3&gt;&lt;p&gt;사무실에서 노트북과 함께 사용하던 두 개의 모니터와 스탠딩 데스크는 아쉬운 부분이었다. 사무실 의자는 편안한 것이었지만 집에는 딱딱한 나무 의자 뿐이다. 회사에서 모니터와 의자를 배달해주는 서비스를 시작하였지만 집에 사무실 모니터와 의자를 두고 싶지는 않았다.&lt;/p&gt;&lt;p&gt;보조 모니터가 없는 것이 생산성에 장애가 되어 고민을 하였는데 집 구조상 모니터를 자연스럽게 둘만한 곳이 마땅치 않았다. 개인 맥북을 모니터로 사용할 수 있는 방법이 없을까 찾다가 &lt;a href='https://astropad.com/product/lunadisplay/'&gt;Luna Display&lt;/a&gt;라는 것을 발견하였다. 동글을 꽂으면 Wifi를 통해 영상이 전송되어 보조 모니터처럼 사용할 수 있다. 레티나 지원이 안되고 Wifi로 전송하니 화면이 끊길 때가 있지만 가끔 듀얼모니터가 쓰고 싶을 때 유용하게 쓸 수 있어 만족하고 있다. 제품가격 $50에 미국에서 오는 배송비 $9였는데 지금 보니 제품가격이 $80으로 되어있다. &lt;/p&gt;&lt;p&gt;집에서 일하며 허리가 아프다는 동료를 가끔 보았다. 집에서 좋지 않은 자세로 혹은 편하지 않은 의자에서 장시간 작업을 하여 발생한 문제로 예상되는데 나는 다행히 그런 문제는 없었다. 출퇴근을 하지 않으니 운동량이 줄어 억지로라도 꾸준히 운동을 하려고 한 것과 소파나 침대 대신 의자에서 일을 한 것이 도움이 된 것 같다. 그리고 25분씩 끊어서 일하는 포모도로 기법으로 일을 하는데 25분간 집중을 하고 끝날 때마다 일어나 몸을 움직여 준 것도 도움이 되었다.&lt;/p&gt;&lt;p&gt;스탠딩데스크는 집에 놓고 싶을 만한 적당한 디자인의 제품이 없었다. 데스크라고 할 것도 없고 그냥 노트북을 얹었을 때 높이가 적당하면 되는데 그것이 없는 것이 아쉬워 집에 대용으로 쓸만한 것이 없나 찾아 다니다 하루는 적당한 크기의 박스가 보였다. 책상 위에 놔보니 사이즈가 딱 맞아서 박스에 종이를 덮어 스탠딩 데스크로 사용하고 있다. 가격은 말할 것도 없고 높이도 너비도 무게도 디자인도 만족하며 사용 중이다. 맨발도 서있으니 금방 무릎이 지치는 느낌이 들어 검색을 해보았더니 매트가 필요하다고 하여 사서 사용해보니 오래 서있기에 훨씬 편하다.&lt;/p&gt;&lt;p&gt;일반적으로 독일 집에는 밖으로 노출되는 발코니가 있다. 테이블과 의자를 두었지만 퇴근 후면 밤이 되니 사용할 시간이 많지 않았다. 집에서 일하며 활용하기 시작했는데 빛이 부족해 우울해지기 쉬운 독일의 가을에 신선한 공기와 햇볕을 쬐며 일하는 것이 기분 유지에 도움이 되었다. &lt;/p&gt;&lt;p&gt;제대로 집중을 못한 날에는 일을 마칠 때 기분이 좋지 않다. 사무실에 있으면 일을 했든 안 했든 사무실에 있었던 것이 증명되니 사무실을 나서며 퇴근을 할 수 있는데 집에서 제대로 집중을 못하였을 때에는 일을 제대로 한 것인지 아닌지 결과만으로 확인이 되니 시간이 되어도 기분좋게 일을 마치기가 어렵다. 이런 상황을 방지하기 위해 회사 노트북으로는 가능한 업무와 무관한 것은 하지 않는다. 페이스북, 인스타그램, 트위터 같은 소셜미디어는 물론이고 해커뉴스에도 접속하지 않는다. &lt;/p&gt;&lt;h3 id="&amp;ndash;"&gt;일과 삶의 분리&lt;/h3&gt;&lt;p&gt;집에서 일을 하면 일과 삶의 분리가 잘 되지 않는다는 이야기도 있는데, 나의 경험으로 이것은 업무량이 얼마나 많은지 혹은 얼마나 압박을 받으며 일을 하는지에 따라 결정된다.&lt;/p&gt;&lt;p&gt;재택근무를 시작하고 얼마 안 되었을 때 새로운 프로젝트 출시가 있었는데 일정에 맞추기 위해 몇 주간 평소보다 열심히 일을 하였다. 자기 전까지 일을 하기도 하고 노트북을 덮었다가도 무언가 생각나 다시 열어 테스트를 하기도 했다. 출시 후 일반적인 일정으로 돌아왔을 때는 평소 호흡대로 일을 할 수 있었고 일과 삶이 분리가 되지 않는다는 생각은 들지 않았다. &lt;/p&gt;&lt;p&gt;독일은 세계에서 가장 근무량이 적은 나라 중 하나이고 일과 삶을 분리하는 문화가 강하게 자리잡혀있으며 일보다는 가족이나 개인의 건강에 우선순위를 두는 것이 당연하게 여겨진다. 처음 독일에 와서 입사 후 사내 개인 핸드폰으로 업무 이메일을 확인할 수 있는 방법을 확인하다 충격을 받은 적이 있었다. 첫 문장이 "가능하면 하지 마라. 일과 삶을 분리하라."였다.&lt;/p&gt;&lt;p&gt;지식노동자에게 일과 삶을 분리하는 것은 어려운 문제이다. 과연 일이란 무엇인가? 샤워를 하며 문제를 생각하고 푸는 것은 일인가? 집중력을 높이기 위해 잠시 명상을 하는 것은 일인가? 회사에서 사용하는 기술을 저녁이나 주말에 공부하는 것은 일인가? 지식 공유를 위해 스터디 그룹 모임을 하는 것은 일인가? &lt;/p&gt;&lt;p&gt;일하다 마주친 어려운 문제에 대해 끊임없이 생각하는 것, 혹은 개인적인 즐거움을 위해 일과도 관련이 있는 학습을 하는 것과 같은 것들을 생각해보았을 때 일과 삶의 완전한 분리는 쉽지 않아보인다.&lt;/p&gt;&lt;p&gt;다만 일을 "근무시간 이외에도 원하든 원치않든 시간을 내어 꼭 해야하는 것"이라고 본다면 결국 일과 삶의 분리는 재택이냐 출근이냐가 아닌 그 회사가 어떤 문화를 가졌는지에 따라 결정된다.&lt;/p&gt;&lt;h3 id="-"&gt;회사의 관점&lt;/h3&gt;&lt;p&gt;회사에서는 코로나 상황이 끝나도 재택근무에 대해서 이전보다 유연한 정책을 시행할 예정이라고 발표하였다. 마이크로소프트, 트위터, 페이스북, 구글 등 다른 큰 IT 기업들에서 재택근무 정책을 발표하고 있고, 작은 회사들도 생산성이나 성과에 별다른 차이가 없다는 것을 경험하고 재택근무를 시행하는 곳이 많다. &lt;/p&gt;&lt;p&gt;새로 들어온 직원이 적응을 잘 못하지 않을까하는 우려도 있었는데 재택 후 합류한 동료들을 보았을 때 시간이 지나면 어려움 없이 적응하는 것으로 보인다. 현재 우리 팀의 디렉터 조차도 재택근무 시작 후 합류해서 우리가 일하던 사무실이 어딘지도 모르고 있다. 이제 "우리 사무실" 같은 것은 별 의미가 없다.&lt;/p&gt;&lt;p&gt;지금 일하고 있는 회사는 감시나 통제보다는 신뢰, 자율성, 투명성에 가치를 두고 있어 재택근무와 코로나로 인한 시장변화에 발빠르게 대응하여 좋은 성과를 낼 수 있었다. 락다운과 재택근무가 시작되었을 때 경영진으로부터 받은 이메일에는 "집에서 일하더라도 일 처리를 제대로 해달라"가 아닌 "모두가 힘든 시기이니 서로에게 더욱 친절해달라"가 적혀있었다. &lt;/p&gt;&lt;p&gt;재택근무 후 생산성도 일의 만족도도 높아졌다. 재택근무를 하고 있는 많은 직장인들이 비슷한 생각을 하고 있을 것이며 코로나 상황이 끝난 후 출근 문화는 이전과 같지 않을 것이다.&lt;/p&gt;</description></item><item><title>해외취업과 영어이름</title><link>https://iamsang.com/blog/2020/10/13/english-name</link><pubDate>Tue, 13 Oct 2020 22:30:00 +0200</pubDate><description>&lt;p&gt;독일회사의 이름 정하는 방식은 미국회사와는 달랐다.&lt;/p&gt;&lt;p&gt;호주 워킹홀리데이 갔을 때 이름은 피터(Peter)였다. 같이 갔던 친구가 미국드라마 히어로즈를 보고 제안한 이름이었다.&lt;/p&gt;&lt;p&gt;미국 스타트업에 들어가며 이름은 무엇으로 하고 싶은지 질문을 받았다. 피터를 할까했는데 이미 회사에 피터가 있었다. 열 명 남짓한 회사에서 이름 충돌이 나는 것은 원치 않아서 새로운 이름을 고민했다. &lt;/p&gt;&lt;p&gt;팀의 몇몇 한국인들이 이름의 중간자를 영어이름으로 쓰고 있는 것을 보고 나도 그냥 '상'으로 하는 것이 좋을 것 같다고 생각하고 거의 마음을 정했는데 아내가 말했다. "그럼 이름이 생리(Sang Lee)네?"&lt;/p&gt;&lt;p&gt;다시 고민에 들어갔다.&lt;/p&gt;&lt;p&gt;영어이름을 가지는 것에 대해 부정적으로 생각하는 사람도 있지만 나는 본인의 이름을 스스로 정할 수 있는 것은 멋진 일이라고 생각한다. &lt;/p&gt;&lt;p&gt;나의 이름과 관련이 있으면서도 부르기 쉽고 기억하기 쉬운 이름을 찾고 싶었다. 잠시 함께 일했던 친구 중 폴란드 출신의 Krzysztof(크리스토프)라는 친구가 있었는데, 이름에 (내가 보기에는) 랜덤으로 z가 들어가 있어서 도저히 스펠을 기억할 수가 없었다. 다른 동료들도 그 친구 이름을 어려워했고 나는 이메일을 보낼 때마다 이름을 찾아서 복사하는 것이 귀찮아 나중에는 &lt;code&gt;kr;&lt;/code&gt;를 누르면 이름이 자동완성되도록 스니펫을 만들었다. &lt;/p&gt;&lt;p&gt;결국 미국 회사에는 아내가 추천해준 휴(Hugh)라는 이름을 사용하기로 하였다. 나름 이름 끝 글자인 '현'과 비슷하고 쉬우며 이름 이미지도 괜찮아보였다.&lt;/p&gt;&lt;p&gt;독일회사에 입사할 때는 영어이름 물어보는 과정이 없었다. 한국이나 중국에서는 영어이름을 종종 쓰지만 유럽권에서는 대부분 알파벳을 쓰니 아무도 영어이름을 만들지 않는다. 오히려 영어이름을 따로 만든다는 사실을 들으면 놀라워 하기도 한다. "Bruce Lee(이소룡)나 Jackie Chan(성룡)이 본명이 아닌거 알아? 중국사람인데 그런 이름일리가 없잖아?"라고 이야기하면 생각지도 못했다는 듯 "헉!"하는 반응을 보인다.&lt;/p&gt;&lt;p&gt;지금 다니는 독일 회사에서는 Sanghyun Lee로 등록되었다. 이미 이렇게 된거 "상현"으로 가보자는 생각으로 처음 만난 동료에게 "Hi, I'm 상현."이라고 인사했더니 다들 오지 원주민 추장의 이름이라도 들은 표정을 지었다. 하루는 새로 들어온 직원들과 이름 외우기 게임을 하는데 나의 차례가 되어 이름을 이야기하니 진행하던 친구가 웃으며 사람들에게 "Good luck."이라고 한다. &lt;/p&gt;&lt;p&gt;교육기간에 같은 조 친구들도 나의 이름을 어려워했고 혹시 쉬운 버전이 없는지 물어보기도 했다. 고민 끝에 앞으로는 Sang으로 나를 소개하기로 정했다. 다행이 아무도 성을 붙여 Sang Lee라고 부르진 않는다.&lt;/p&gt;&lt;p&gt;결국 호주에서 만난 친구는 나를 Peter로 이전 회사에서 만난 친구는 나를 Hugh로 기억하고 있고, 교육기간 에 만난 친구들은 Sanghyun, 지금 팀원들은 Sang이라고 부른다. 일관성을 위해서 이름에 따라 중간자를 쓰는 것도 좋은 방법인 것 같다.&lt;/p&gt;&lt;p&gt;덧 1. 하루는 대만에서 온 다른 팀 친구를 만났다. 이름을 물어보길래 상현인데 &lt;i&gt;현&lt;/i&gt;이 외국인들에게 어려운 것 같아서 &lt;i&gt;상&lt;/i&gt;으로만 쓰고 있다라고 말해줬더니 그 친구가 말했다 "현 쉬워, 현아!"&lt;/p&gt;&lt;p&gt;덧 2. 일본 회사에 지원해 면접을 본적이 있었다. 당시에는 &lt;i&gt;휴&lt;/i&gt;를 이름으로 사용하고 있을 때였는데 리쿠르터가 영어로 이야기하는데도 나를 &lt;i&gt;휴&lt;/i&gt; 상이라고 부르는 점이 재미있었다. 이제 만약 일본 기업에 가게되면 &lt;i&gt;상&lt;/i&gt; 상이 된다.&lt;/p&gt;&lt;p&gt;덧3. 영어이름이 짦은 것도 불편할 때가 있었다. Hugh는 발음이 You와 비슷해 종종 나를 부르는 것인지 아닌지 헷갈렸고 친구가 사용했던 Luke라는 영어이름은 종종 look과 혼동되었다.&lt;/p&gt;</description></item><item><title>블로그 개편: 커스텀 정적사이트생성기 개발기</title><link>https://iamsang.com/blog/2020/10/10/custom-static-site-generator</link><pubDate>Sat, 10 Oct 2020 22:19:24 +0200</pubDate><description>&lt;p&gt;약 3년 전 텀블러에서 Hugo를 이용한 정적생성기로 &lt;a href='https://iamsang.com/blog/2017/05/22/blog-rebranding-and-from-tumblr-to-github-page-and-hugo/'&gt;블로그를 이전&lt;/a&gt;하였었는데 이번에 커스텀 정적생성기를 개발하며 &lt;a href='https://gohugo.io/'&gt;Hugo&lt;/a&gt;를 떠났다.&lt;/p&gt;&lt;p&gt;텀블러에서 Hugo로 이전했던 주요 이유는 유연한 사이트 관리를 위해서였다. 사이트 전체 코드를 내가 원하는 에디터를 통해 Git으로 관리할 수 있다는 점이 마음에 들었다. 하지만 시간이 지나며 Hugo에도 차츰 불편함과 답답함을 느끼기 시작했다.&lt;/p&gt;&lt;h3 id=""&gt;정적사이트생성기란&lt;/h3&gt;&lt;p&gt;정적사이트생성기(Static Site Generator)는 말 그대로 정적인 웹사이트를 생성해주는 툴인데 일반적으로 마크다운 파일을 읽어 HTML을 생성하는 기능을 가진다. 워드프레스와 같은 툴은 서버와 데이터베이스를 이용해 사용자가 페이지를 방문할 때마다 동적으로 웹페이지를 생성한다면 정적생성기는 미리 HTML을 생성해 서버에서는 해당 파일을 제공하기만 하면 되도록 한다.&lt;/p&gt;&lt;p&gt;정적사이트생툴을 이용해 웹사이트를 운용하면 서버나 데이터베이스를 관리해야하는 부담이 적어지고 이미 만들어져 있는 페이지를 제공만 하면 되니 빠른 웹페이지 로딩이 가능하다는 장점이 있다.&lt;/p&gt;&lt;p&gt;유명한 정적사이트 생성기로는 루비로 개발된 Jekyll이 있다. Hugo는 Go로 개발되어 Jekyll 보다 빠르다는 장점이 있고 패키지 의존성 문제에서도 자유롭다. Jekyll이 먼저 개발되어 인기가 많았는데 깃헙에서 받은 Star 기준으로 보았을 때 &lt;a href='https://jamstack.org/generators/'&gt;지금은 Hugo가 더욱 사랑받고 있다&lt;/a&gt;.&lt;/p&gt;&lt;h3 id="hugo-"&gt;Hugo의 문제&lt;/h3&gt;&lt;p&gt;Hugo를 이용해 블로그의 기능이나 디자인 수정 하기 위해서는 Hugo가 어떻게 동작하는지 이해해야하고 제공하는 API나 템플릿 문법을 익혀야한다. 블로그 수정이 자주 있는 일이 아니다보니 한번 이해를 했던 것도 다시 봐야하고 작은 문제를 해결하는데도 많은 시간을 들여야하는 상황이 반복되었다. 실제 내가 가지고 있는 문제의 Complexity 때문이 아닌 Accidental complexity로 인해 시간이 낭비되는 경우가 지속적으로 발생하는 것이다. &lt;/p&gt;&lt;p&gt;이전 버전과 호환되지 않는 Hugo의 새 버전도 문제였다. 가끔 Hugo가 업그레이드 되며 기존에 잘 동작하는 것들에서 문제가 생기는 경우도 생겼으며 그것을 고치기 위해 문서와 릴리스 노트를 읽으며 애를 써야했던 경우도 있었다. 예를 들어 작년 업데이트 후 첫 화면과 RSS가 깨지는 문제가 발생하여 내가 사용하는 어떤 부분이 새 버전과 호환이 되지 않는지를 한참 찾아봐야했다. 나는 쓰지도 않는 많은 기능들이 있고 그것들이 업그레이드 되면서 정작 내가 잘 사용하던 것들은 망가지는 일이 발생하는 것이다.&lt;/p&gt;&lt;p&gt;이와 같은 상황이 발생할 때마다 이것이 나의 시간을 의미있게 사용하는 방식인가에 대한 의문이 들었다. 커스텀 툴을 만들 경우 새로운 기능이 필요할 때마다 그것을 구현하는데 시간이 들지만 그것은 내가 완전히 이해하는 코드이며 완전한 컨트롤을 가질 수 있다. 다른 이가 만든 문서를 읽고 이해하는 것보다는 내가 직접 개발을 하는 것이 나의 시간을 더욱 의미있게 쓰는 것이라는 생각이 들었다.&lt;/p&gt;&lt;h3 id="-"&gt;커스텀 정적사이트생성기&lt;/h3&gt;&lt;p&gt;텀블러에서 Hugo로 이전하며 블로그에 대한 자유도가 한 단계 업그레이드 되었는데 이번에 생성기까지 나의 것이 되면서 다시 한번 자유도가 높아졌다.&lt;/p&gt;&lt;p&gt;다양한 기능을 원하지 않는다면 쉽게 툴을 만들 수도 있다. 예를 들이 &lt;a href='https://benedicthenshaw.com/static_site.html'&gt;Ben이라는  블로거&lt;/a&gt;의 경우 Bash 스크립트를 이용하여 주석을 포함하여 79줄의 코드로 툴을 만들었다. &lt;/p&gt;&lt;p&gt;정적생성기가 기본적으로 하는 일은 마크다운 파일을 읽어 HTML을 생성해주는 것이므로 기본 기능에 충실하게 만든다면 Bash 스크립트도 나쁘진 않다. 하지만 지금 블로그와 같이 URL에 블로그의 날짜를 넣는다거나 블로그 글이 아닌 About 페이지와 같은 것을 넣는다거나 RSS를 넣는 등 약간의 고급기능이라도 넣으려면 Bash로는 어려워진다.&lt;/p&gt;&lt;p&gt;개발에 꽤 많은 시간이 걸릴 것이라고 예상했기 때문에 과연 이것이 나의 시간을 투자하는 좋은 방식인가를 고민하였다. 툴을 만드는 것으로 결정을 내리는 데에는 두 가지 주요 이유가 있었는데 첫째 앞으로 블로그 운영을 수 십년은 더 하게 될 것인데 장기적으로 충분한 투자 효과가 있을 것이라는 것이엇다. 한동안 글을 못쓰고 있었지만 다시 써볼 생각이고 영어블로그도 시작할 예정인데 같은 도메인을 통해 두 개의 블로그를 운영하는 것은 커스텀 툴이 아니고서는 어려울 것이라는 생각도 있었다. 내가 가진 불편을 해소하기 위해 만든 툴들이 있는데 만드는데 시간이 걸리기는 헀지만 장기적으로 충분한 효용을 준 경우가 많았기 때문에 이 툴도 그렇게 될 것이라는 믿음이 있었다.&lt;/p&gt;&lt;p&gt;두 번째로는 Clojure를 학습하기 위해서였다. 개인적으로 Clojure를 공부하고 있는데 업무에서는 사용을 하지 않으니 실용적으로는 쓸 수 있는 기회가 없었고 그래서 이 프로젝트를 통해 경험을 더 쌓을 수 있다고 생각했다. 결론적으로 보면 연습용으로 만들어보기 좋은 프로젝트였다.&lt;/p&gt;&lt;h3 id="lisp-clojure"&gt;Lisp과 Clojure&lt;/h3&gt;&lt;p&gt;Lisp은 많은 사람들이 사용하는 언어는 아니지만 그 언어를 사용하는 개발자들에게는 가장 인기있는 언어 중 하나이다. 약 7년 전 쯤 Lisp을 사랑하는 개발자이자 벤처기업투자자인 폴그레이엄의 해커와 화가를 읽은 후부터 Lisp을 공부해보고 싶었는데 그 외에도 이것저것 공부할 것이 많은데다가 해외취업 준비까지 하다보니 상황이 여의치 않았다. 몇 번 시도를 하지만 결국 우선순위에 밀려 잊혀지곤 했었다.&lt;/p&gt;&lt;p&gt;올해 다시 Lisp 공부를 시도하며 Lisp 계열 언어인 Scheme에 관한 책 The Little Schemer를 읽었다. 흥미로운 책이었지만 Scheme을 사용해보며 언어와 관련된 빈약한 생태계에 실망을 하였다. 인터넷에서 찾을 수 있는 관련 자료들이 오래되었거나 제대로 없는 경우가 많았다. 예를 들어 제대로 된 테스트 프레임워크를 찾는 것도 불가능했다. &lt;/p&gt;&lt;p&gt;이후 &lt;a href='https://racket-lang.org/'&gt;Racket&lt;/a&gt;이 생태계가 잘 갖추어진 Scheme이라는 정보를 얻고 Realm of Racket이라는 책을 읽으며 Racket을 공부하였다. 실제로 문서도 잘 되어 있고 테스트 프레임워크 등 다양한 라이브러리가 존재했다. &lt;/p&gt;&lt;p&gt;하지만 Racket도 완전히 만족스럽지는 않았다. 먼저 Racket 개발을 위해서는 DrRacket이라는 툴을 써야한다는 것이 불편했다. 둘째로 여전히 충분치 않은 라이브러리였다. 예를 들어 &lt;a href='https://processing.org/'&gt;Processing&lt;/a&gt;이라는 비주얼 아트 라이브러리를 사용하고 싶었는데 Racket으로는 쉽게 사용할 수 있는 방법이 없었다.&lt;/p&gt;&lt;p&gt;새로운 언어를 배울 때 기본적으로 보는 것들은 다음과 같다.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;쓰기좋은 Repl 환경이 있는가&lt;/li&gt;&lt;li&gt;편리한 에디터 환경이 있는가&lt;/li&gt;&lt;li&gt;읽기 좋은 문서가 있는가&lt;/li&gt;&lt;li&gt;충분한 라이브러리가 있는가&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;이 모든 것들이 특정 개발언어를 둘러싼 좋은 생태계가 구성되어 있을 때에 제공되는 것이다.&lt;/p&gt;&lt;p&gt;Clojure는 Java 플랫폼에서 구동되는 Lisp 계열의 언어이다. 해커뉴스의 글을 읽다보면 가끔 Clojure에 대한 글이 올라오는데 리뷰나 댓글들이 긍정적이어서 그런 글을 볼때마다 시간나면 살펴봐야겠다는 생각을 가지고 있었다.&lt;/p&gt;&lt;p&gt;Clojure도 많은 사람들에게 인기가 많은 언어는 아니지만 내가 찾는 것에 대해서는 항상 라이브러리가 있었다. 앞서 말한 Processing은 물론이고 정적생성기를 만드는데 필요할만한 템플리팅, RSS 생성, 마크다운 렌더러 등 풍부한 라이브러리가 있었다. &lt;a href='https://github.com/magnars/stasis'&gt;Stasis라는 정적생성기 라이브러리&lt;/a&gt;도 있는데 막상 쓰려고 하니 나의 요구사항과는 맞지 않는 부분이 있었다. 나의 블로그는 Hugo에서 제공하는 기능에 맞추어져 있었고 기존의 URL이나 마크다운 형식을 유지하기 위해서는 Stasis를 사용할 수 없었다. &lt;a href='https://www.johndcook.com/blog/2011/02/03/lego-blocks-and-organ-transplants/'&gt;소프트웨어 재사용은 레고블럭보다는 신장이식에 가깝다는 말&lt;/a&gt;이 다시 와닿았다. 오픈소스 프로젝트를 이용해 개발을 하려다보면 종종 발생하는 일인데 막상 제공되는 기능 이외의 것을 하려다보면 코드 분석과 재개발에 많은 에너지를 써야하는 일이 생기고 차라리 처음부터 다시 개발하는게 낫지 않을까하는 생각이 들때가 있다. 그렇다고 처음부터 개발하려고하면 다양한 Edge case 처리나 기능 구현에 많은 시간이 들기도 하니 여러가지를 잘 고려해보아야한다.&lt;/p&gt;&lt;p&gt;Stasis를 그대로 가져다 쓰지는 못했지만 소스코드는 Clojure 초보자로서 어려워하던 부분에 대한 힌트를 많이 제공해주었다. Clojure 개발을 하며 느낀 훌륭한 점 하나는 코드가 간결하여 많은 라이브러리들이 하나의 파일로 제공된다는 점이다. &lt;a href='https://github.com/magnars/stasis/blob/master/src/stasis/core.clj'&gt;Stasis도 핵심코드는 257라인의 한개의 파일&lt;/a&gt;에 제공되는데 파일이 하나 밖에 없으니 코드 분석하기에 부담이 없었다. &lt;/p&gt;&lt;p&gt;의외로 시간이 들었던 부분은 날짜 처리였다. Clojure에서 날짜 처리를 하려면 Java 라이브러리를 써야하는데 그 사용법이 꽤 까다롭다. 예전에 Java 개발을 하며 적지 않게 써봤음에도 불구하고 Clojure에서 사용하기 위해 다시 찬찬히 들여다보아야했다. 강력한 기능을 제공하는 대신 간단한 작업을 하는데에도 다양한 API를 익혀야해서 많은 시간이 걸리는 문제가 있는 것이다.&lt;/p&gt;&lt;h3 id=""&gt;프론트엔드&lt;/h3&gt;&lt;p&gt;블로그를 개편하며 디자인도 새롭게 바꾸어볼까 고민을 하였는데 지금 꼭 해야하는 부분을 먼저 처리하자는 생각에 기존의 디자인을 최대한 유지하는 쪽으로 하였다. &lt;/p&gt;&lt;p&gt;Hugo로 블로그를 만들었을 때는 기존에 있던 테마를 손봐서 사용했었다. 이번에는 &lt;a href='https://github.com/dbohdan/classless-css#sakura'&gt;Classless CSS 프레임워크&lt;/a&gt; 중 하나인 &lt;a href='https://github.com/dbohdan/classless-css#sakura'&gt;Sakura&lt;/a&gt;를 기본 CSS로 하여 기존 디자인과 비슷하게 만들었다.&lt;/p&gt;&lt;p&gt;Hugo를 쓸 때에는 테마에서 제공되는 레이아웃이나 CSS와 커스텀 코드가 뒤섞여 관리가 쉽지 않았는데 최소한의 기본 코드를 사용하니 그 문제가 해결되었다.&lt;/p&gt;&lt;p&gt;기존 블로그에서는 LESS를 이용해서 커스텀 CSS를 생성했었지만 최대한 단순하게 만들기 위해 이것도 제외하였다.&lt;/p&gt;&lt;h3 id="-netlify&amp;mdash;"&gt;도메인과 Netlify 호스팅 그리고 배포&lt;/h3&gt;&lt;p&gt;&lt;a href='https://iamsang.com/blog/2017/05/22/blog-rebranding-and-from-tumblr-to-github-page-and-hugo/'&gt;이전 블로그 글&lt;/a&gt;에서 블로그를 이전하며 자체 도메인은 없애고 깃헙 페이지를 사용하기 시작했다는 이야기를 했었다. &lt;/p&gt;&lt;p&gt;시간이 지나니 나만의 도메인이 없는 것이 다시 아쉬웠다. 독일에서 일을하며 Sang을 이름으로 사용하기 시작했는데 I am Sam을 패러디한 iamsang으로 도메인을 하면 좋겠다는 생각이 들어 도메인을 다시 구매하였다 (아내에게 이야기 했더니 "거기서 Sam은 좀 모자란 사람인데?"라는 반응을 보였다.)&lt;/p&gt;&lt;p&gt;깃헙 페이지를 이용하니 공개된 장소에 모든 코드와 완성되지 않은 글을 공유해야한다는 점이 거슬렸다. 그래서 Private Repository를 무료로 제공하는 BitBucket으로 옮기고 &lt;a href='https://www.netlify.com/'&gt;Netlify&lt;/a&gt;에 연동해 블로그를 운용하기 시작하였다. &lt;/p&gt;&lt;p&gt;지금은 깃헙에서도 Private Repository를 무료로 제공하기 시작하여서 이전에 가끔이라도 쓰던 깃랩이나 BitBucket을 사용할 일이 전혀 없어졌다.&lt;/p&gt;&lt;p&gt;Netlify는 정적 페이지를 호스팅하기 좋은 서비스인데 기본적으로는 무료이면서 훌륭한 기능과 서비스를 제공한다. 깃헙과 쉽게 연동되고 도메인 연결도 간단하며 HTTPS (SSL) 세팅도 원클릭으로 가능하다. 깃헙에 코드가 푸시될 때마다 배포되게 할 수 있으며 이메일로 노티피케이션을 받을 수도 있다.&lt;/p&gt;&lt;p&gt;배포과정을 그려보면 다음과 같다.&lt;/p&gt;&lt;p&gt;&lt;img src="https://iamsang.com/img/blog-deployment.png" alt="GitHub과 Netlify를 이용한 블로그 배포" /&gt;&lt;/p&gt;&lt;h3 id="-"&gt;요구사항 쳐내기&lt;/h3&gt;&lt;p&gt;사이드 프로젝트는 완료하기 어렵기로 유명하다. 많은 경우 재미있는 부분이 지나고 나면 흥미와 열정을 잃고 버려지기 마련이다. 그것을 극복하기 위해 요구사항을 줄이는데에 신경을 많이 썼다. 지금 당장 첫번째 버전을 출시하는데에 필요하지 않은 것은 다 나중에 할일 목록으로 옮겼다. 예를 들어 블로그 이전하며 각 글 하단에 있던 "이전 글" 섹션이 없어졌다. 그리고 정정사이트생성기의 기본 기능 중 하나인 로컬 서버 기능도 제외하였다. 이것은 프론트엔드 작업을 할때 필요한 기능인데 수정한 것을 바로 확인할 수 있기 위해 꽤 필수적인 기능이다. 아직 익숙하지 않은 Clojure로 서버를 넣는 것에 부담이 있어 Watcher를 이용해 변경이 있을 때마다 복사하는 방식을 이용했다.&lt;/p&gt;&lt;p&gt;영어블로그를 만들고 메인페이지에서 선택할 수 있게 하는 것도 초기 계획의 일부였는데 일단 새 툴을 이용해 이전 블로그와 같은 형태로 운용하는 것으로 목표로 변경하였다. &lt;/p&gt;&lt;p&gt;프로젝트 개발을 하다보면 "이런 것도 넣으면 좋지 않을까?"하는 생각이 끝없이 들고 종종 그것은 일정의 차질로 이어진다. 일정을 맞추기 위해서 요구사항을 쳐내는 것은 필수이며 꼭 필요해보였던 기능도 시간이 지나서 보면 전혀 필요 없었던 것으로 나타나기도 한다. &lt;/p&gt;&lt;p&gt;스택오버플로의 창업자 조엘의 블로그 글 &lt;a href='https://www.joelonsoftware.com/2000/03/29/painless-software-schedules/'&gt;Painless Software Schedules&lt;/a&gt;에는 이런 일화가 나온다. 마이크로소프트 엑셀의 프로젝트 메니저였던 조엘은 Excel 5 개발일정을 맞추기 위해 기능들을 추려내야했다. 모든 기능들이 꼭 필요해 보였지만 당시 선택의 여지가 없었기 때문에 다음 버전에 넣자는 기약을 하고 덜 중요해 보이는 기능들을 제외하였다고 한다. 이후 Excel 6 개발을 위해 동료와 이전 버전에서 추려내었던 기능 목록을 다시 살펴보며 충격을 받았다고 한다. 단 하나의 기능도 필요해 보이지 않았기 때문이다.&lt;/p&gt;&lt;h3 id=""&gt;마무리&lt;/h3&gt;&lt;p&gt;해커뉴스 글에 있는 한 댓글에서 누군가 정적사이트생성기를 직접 만들어 쓴다는 이야기를 읽고 그건 조금 과하다 생각했었는데 어느 순간 내가 그것을 하고 있었다. 그 댓글을 보지 않았더라도 이것을 직접 만들어 쓸 생각을 하였을까.&lt;/p&gt;&lt;p&gt;자신이 사용할 소프트웨어를 직접 만들어 쓸 수 있는 것은 멋진 일이다.&lt;/p&gt;</description></item><item><title>블로그 A/B 테스트를 통해 배운 점들</title><link>https://iamsang.com/blog/2019/08/26/blog-ab-test</link><pubDate>Mon, 26 Aug 2019 00:20:23 +0200</pubDate><description>&lt;p&gt;구글, 유투브, 페이스북, 인스타그램, 넷플릭스와 같은 서비스에 들어가는 순간 우리는 특정 테스트의 실험군 혹은 대조군에 들어가게 된다. &lt;a href='https://www.quora.com/What-types-of-things-does-Netflix-A-B-test-aside-from-member-sign-up'&gt;넷플릭스가 거의 모든 것을 A/B 테스트한다&lt;/a&gt;는 것은 유명한 사실이며 &lt;a href='https://searchengineland.com/whos-afraid-of-the-big-bold-test-134569'&gt;구글은 2009년 약 12,000개의 실험을 수행하였다&lt;/a&gt;. 그들은 언제나 동시에 여러가지의 테스트를 진행 중이다.&lt;/p&gt;&lt;p&gt;지금 일하고 있는 팀에서도 마케팅 퍼포먼스나 웹 UI를 개선하기 위해 A/B 테스트를 사용하고 있으며 머신러닝을 이용한 프로젝트를 개발한 적이 있는데 마찬가지로 A/B 테스트를 통해 결과를 확인하였다.&lt;/p&gt;&lt;p&gt;A/B 테스트 결과 분석에는 직접적으로 참여한 적이 없는데, A/B 테스트에 대한 이해를 넓히기 위해 블로그에 A/B 테스트를 진행해 보기로 하였다.&lt;/p&gt;&lt;p&gt;어떤 방식으로 테스트를 진행해야하나 고민하던 중 약간의 조사를 통해 &lt;a href='https://optimize.google.com'&gt;구글 옵티마이즈&lt;/a&gt;를 발견하였는데 사용법을 익히고 세팅을 거치고 나면 A/B 테스트를 실행하는데 10분도 걸리지 않으면서 다양한 기능을 제공하는 만족스러운 툴이었다.&lt;/p&gt;&lt;p&gt;&lt;img src="https://iamsang.com/img/google-optimize.png" title="구글옵티마이즈 UI"&gt;&lt;/p&gt;&lt;p&gt;내가 경험한 구글 옵티마이즈의 장점은 다음과 같다.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;위지위그(WYSIWYG) 웹 UI를 통해 코딩 없이도 A/B 테스트 설정이 가능하다.&lt;/li&gt;&lt;li&gt;웹 UI를 통해 실험군과 대조군을 쉽게 확인 할 수 있다.&lt;/li&gt;&lt;li&gt;구글 애널리틱스와 연동된다.&lt;/li&gt;&lt;li&gt;테스트에 대한 알림을 이메일로 받아 볼 수 있다.&lt;/li&gt;&lt;li&gt;테스트 결과분석을 해준다.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;결과분석은 직접해보고 싶었던 부분이었는데 다 알아서 결과를 보여주니 오히려 아쉽기도 했다. 현재 페이지 하단에는 이전 글목록이 들어가 있다.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;첫 번째 테스트: 이전 글 목록&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;세팅 후 세 가지 테스트를 실행하였는데 그 중 첫 번째는 글 하단의 "이전 글"이다. 가설은 각 글의 하단에 이전 글 목록을 추가하면 방문자들이 글을 읽고 바로 떠나지 않고 다른 글을 읽을 가능성이 높아지니 페이지뷰 수가 증가하고 이탈수(bounces)가 감소할 것이라는 것이었다. 따라서 구독자 수도 증가하지 않을까하는 기대도 있었다. 여기에서 이전 글 목록의 유무가 &lt;i&gt;대안&lt;/i&gt;(variant)이며  페이지뷰 수, 이탈수, 구독수는 목표가 된다.&lt;/p&gt;&lt;p&gt;기본으로 선택할 수 있는 목표는 이탈수, 페이지뷰 수, 세션의 길이이다. 구독수는 구글 애널릭티스에서 목표로 설정했던 것이었는데 추가적인 설정 없이 구글 옵티마이즈에서 선택이 가능했다. 무료버전에서는 3개까지의 목표 설정이 가능하므로 세션의 길이를 제외한 세 가지를 목표로 설정하였다.&lt;/p&gt;&lt;p&gt;결과는 예상하였던대로 이전 글 목록을 추가하였을 때 구독자 수와 페이지뷰가 증가하였고 이탈수가 감소하였다.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;두 번째 테스트: 프로필 사진&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;두 번째 테스트는 상단 프로필 사진 유무에 따른 사용자 행동 차이였다. 블로그를 리디자인하며 선택했던 템플릿의 상단에 프로필 사진을 넣는 영역이 있어 사진을 넣어 놨는데 그것이 방문자에게 어떤 영향을 미치는지는 알 수 없었다.&lt;/p&gt;&lt;p&gt;결과는 방문자들이 나의 사진을 좋아하지 않는 것으로 나타났다. 테스트 기간 동안 총 12명의 새 구독자가 생겼는데 그 중 10명이 사진이 없을때 구독을 하였다.&lt;/p&gt;&lt;p&gt;사진을 넣어 신뢰를 줄 수 있지 않을까 생각하였는데 오히려 전문성이 없어 보이게하는 역효과가 난것이 아닐까 하고 추측해본다. 지나서 생각해보니 글 옆에 있는 사진을 보고 신뢰를 더 얻었던 경우보다는 왜인지 더 신뢰가 가지 않았던 경우가 더 많았던 것 같다.&lt;/p&gt;&lt;p&gt;A/B 테스트를 진행 후에는 결과가 우연으로 발생했을 가능성을 측정하기 위한 통계적 유의성(statistical significance)을 계산하는데 샘플의 수가 많거나 두 변수간 결과의 차이가 클수록 높은 값을 얻을 수 있다. 예를 들어 A에서 5명이 구독하고 B에서 6명이 구독했을 경우에는 우연으로 B가 높게 나왔을 가능성이 높지만 A에서 500명이 구독하고 B에서 600명이 구독했다면 같은 비율차이이더라도 더 높은 통계적 유의성을 얻을 수 있다. 같은 샘플 수의 경우 5:6일 때보다는 1:10과 같이 두 결과 값의 차이가 클수록 통계적으로 유의미한 결과를 얻을 수 있다 (수학적 설명이 궁금하다면 &lt;a href='https://ko.wikipedia.org/wiki/허용_오차'&gt;위키피디아의 허용 오차 페이지&lt;/a&gt;를 살펴보는 것도 좋다.)&lt;/p&gt;&lt;p&gt;실험 결과로 나온 구독자 수 10 대 2의 경우 97%의 통계적 유의성을 얻을 수 있었으며 이것은 더 많은 사용자들이 사진을 좋아하지 않는다는 결론이 우연에 의해 내려졌을 가능성이 3%라는 것을 뜻한다. 이때 발생하는 오류를 1종 오류(Type I error)라고 하며 이것은 긍정오류(false positive)이기도 하다. (항상 False positive라는 용어만 써오다 글을 쓰기 위해 긍정오류라는 단어를 검색을 통해 처음 보았다. 실제 커뮤니케이션에서 긍정오류라는 말이 잘 쓰이는지는 모르겠다.)&lt;/p&gt;&lt;p&gt;실험 결과를 낼 때 p값이라는 것을 이용하는데 보통은 0.05(5%)로 설정한다. 이 말은 95% 이상의 통계적 유의성이 나올 경우 통계적으로 유의하다는 결론을 내린다는 뜻이며 실험이 20번 중 1번의 확률로 우연히 유의미한 결과가 나올 수 있다는 뜻이다.&lt;/p&gt;&lt;p&gt;만약 실험 전 내가 p 값을 0.01로 잡았다면 이 결과를 유의미하게 받아들이지 않았을 것이다. 하지만 실제로는 더 많은 방문자들이 내 사진을 좋아하지 않는다면 이것은 잘 못된 결론을 내리게 되는 것이고 이것을 2종 오류 (Type II error) 또는 부정오류(false negative)라고 한다.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;세 번째 테스트: "이상현 in 베를린" vs. "이상현 블로그"&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href='https://iamsang.com/blog/2017/05/22/blog-rebranding-and-from-tumblr-to-github-page-and-hugo/'&gt;블로그를 리디자인하며&lt;/a&gt; 블로그 이름을 "이상현 in 베를린"으로 변경하였다. 해외 취업이나 베를린과 관련한 내용을 다룰 계획이 있었고 블로그명만으로 더 많은 정보를 제공할 수 있다고 생각하였기 때문에 괜찮은 이름이라고 생각하였지만 실제로 방문자에게 어떤 영향을 주는지는 알 수 없었다.&lt;/p&gt;&lt;p&gt;결과는 "이상현 in 베를린"일 경우 페이지뷰가 더 높았다. 블로그에 글의 많지 않기 때문에 지속적인 방문자는 적어 보통 새 글을 쓸 경우 방문자가 발생하는데 해당 실험 중 새 글을 쓰지 않아 통계적으로 유의미한 값을 얻지는 못하였다.&lt;/p&gt;&lt;p&gt;단순히 샘플의 수가 많다고 결과를 신뢰할 수 있는 것은 아니다. 미국에 사는 친구가 트럼프 당선 후 이런 이야기를 한 적이 있다. "주변에서 트럼프 뽑는다는 사람은 한명도 못 봤는데…" 주변에서 볼 수 있는 사람의 수가 적은 것도 문제이겠지만 이 경우에는 샘플의 대표성이 부족한 것이 예상 밖의 결과를 보게 된 이유이다. 내 주변에는 나와 비슷한 생각을 가진 사람이 많을 가능성이 높으므로 주변 사람들의 의견은 전체를 대표하기 어렵다.&lt;/p&gt;&lt;p&gt;블로그 A/B 테스트 같은 경우에는 특정 기간동안 블로그에 방문하는 사람들이 샘플이 되는데 그들 중 대부분이 특정 주제의 글 한 두 개를 보고 들어왔다면 과연 전체 방문자를 대표할 수 있는지 의심해볼 필요가 있다.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;유용한 자료들&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href='https://eu.udacity.com/course/ab-testing&amp;ndash;ud257'&gt;유다시티(Udacity)에 구글이 만든 무료 A/B 테스트 강의&lt;/a&gt;가 있다. Lesson 1부터 통계학 지식을 요구하므로 기본적인 통계학 지식이 있거나 통계학을 다른 자료를 통해 공부하면서 볼 생각이라면 볼만하다. (영문)&lt;/p&gt;&lt;p&gt;통계적 유의도를 얻기 위해 얼마나 많은 샘플 사이즈가 필요한지 쉽게 계산하고 싶다면 &lt;a href='https://www.abtasty.com/sample-size-calculator/'&gt;Sample Size Calculator&lt;/a&gt; 페이지에서 가능하다. 기본적인 용어에 대한 설명도 제공한다. (영문)&lt;/p&gt;&lt;p&gt;A/B 테스트에 대한 전반적인 지식을 얻고 싶다면 "A/B 테스트를 통한 웹사이트 전환율 최적화"를 추천한다. 전반적인 개념과 방법론을 설명하기 때문에 통계학적 지식없이도 인사이트를 얻기에 좋은 책이다.&lt;/p&gt;</description></item><item><title>당신이 가장 친절하게 대해야 할 사람</title><link>https://iamsang.com/blog/2019/07/16/be-kind-to-yourself</link><pubDate>Tue, 16 Jul 2019 21:49:00 +0200</pubDate><description>&lt;p&gt;은 당신이다.&lt;/p&gt;&lt;p&gt;그리고 당신은 당신이 가장 불친절하게 대하기 쉬운 사람이다.&lt;/p&gt;&lt;p&gt;실수로 자책하고 있을 때.&lt;br&gt; 이룬 것이 없어보여 자괴감이 느껴질 때.&lt;br&gt; 자신이 보잘것없이 느껴질 때.&lt;br&gt;&lt;/p&gt;&lt;p&gt;만약 당신의 친구가 같은 이유로 괴로워하고 있다면 당신은 뭐라고 말해줄 것인가?&lt;/p&gt;&lt;p&gt;목표한 것을 이루지 못하는 것을 괴로워한 적이 있다.&lt;/p&gt;&lt;p&gt;어느 순간 내가 왜 나를 괴롭히고 있나 하는 생각이 들었다. 나의 목표는 무엇을 위한 것인가.&lt;/p&gt;&lt;p&gt;그리고는 이 문장을 잘 볼 수 있는 곳에 써놓았다.&lt;/p&gt;&lt;p&gt;You are good enough. Just keep going. And, enjoy.&lt;/p&gt;</description></item><item><title>구글문서 스타일 기능</title><link>https://iamsang.com/blog/2019/02/04/google-docs-style</link><pubDate>Mon, 04 Feb 2019 20:17:00 +0100</pubDate><description>&lt;blockquote&gt;&lt;p&gt; Word를 쓰면서 스페이스를 이용해 정렬하는 지원자는 자동으로 불합격 처리한다. 사과할 생각은 없다. &lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt; 스택오버플로 창업자 &lt;a href='https://twitter.com/spolsky/status/340151086440652801'&gt;조엘 스폴스키가 트윗했던&lt;/a&gt; 내용이다.&lt;/p&gt;&lt;p&gt;Word의 기본적인 기능도 모르고 문서의 스타일을 유지하기 위해 일일이 스페이스를 넣는 개발자는 뽑지 않겠다는 뜻이다.&lt;/p&gt;&lt;p&gt;지금은 구글독스 사용률이 높아져 개인뿐 아니라 업무에도 사용되는 일이 많다. 구글독스에도 Word와 같이 스타일을 일관적으로 유지할 수 있는 기능을 제공한다.&lt;/p&gt;&lt;p&gt;서식 기능 중 기본적이지만 유용한 단락스타일(Paragraph styles) 기능을 간단하게 소개한다.&lt;/p&gt;&lt;p&gt;단락스타일은 문서에 CSS를 입히는 것과 같다. 제목을 꾸밀때 폰트 사이즈를 바꾸고 굵기 조절을 하는 대신 스타일을 입히는 것이다.&lt;/p&gt;&lt;h3 id="-"&gt;스타일 적용&lt;/h3&gt;&lt;p&gt;스타일 적용은 아래와 같이 할 수 있다. &lt;img src="https://iamsang.com/img/google-docs/google-docs-style-0.png" title="구글독스 단락스타일"&gt;&lt;/p&gt;&lt;p&gt;단축키를 선호한다면 맥에서는 &lt;code&gt;Cmd&lt;/code&gt;+&lt;code&gt;Option&lt;/code&gt;+&lt;code&gt;숫자키&lt;/code&gt;를 이용할 수 있다.&lt;/p&gt;&lt;p&gt;단락스타일 기능을 이용하면 스타일을 없애는 것도 쉽다. 예를 들어 다른 웹페이지에서 내용을 복사했는데 기존의 폰트색이나 사이즈가 그대로 남아 있을때 &lt;code&gt;Cmd&lt;/code&gt;+&lt;code&gt;Option&lt;/code&gt;+&lt;code&gt;0&lt;/code&gt;을 누르면 스타일이 사라지면서 일반 텍스트가 된다.&lt;/p&gt;&lt;h3 id="&amp;ndash;"&gt;목차 / 아웃라인&lt;/h3&gt;&lt;p&gt;단락스타일 기능을 이용해 제목의 스타일을 설정하였을 경우 목차를 넣거나 아웃라인을 볼 수 있다는 장점이 있다.&lt;/p&gt;&lt;p&gt;&lt;img src="https://iamsang.com/img/google-docs/google-docs-outline.png" title="구글독스 아웃라인"&gt;&lt;/p&gt;&lt;h3 id="&amp;mdash;"&gt;단락스타일 기능 사용의 장점&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;쉬운 스타일 적용/제거가 가능하다.&lt;/li&gt;&lt;li&gt;일관적인 스타일 변경이 가능하다.&lt;/li&gt;&lt;li&gt;목차를 만들 수 있다.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;대학생 시절 확률통계 과목 교수님께서 과제를 제출할 때 서식기능을 사용하지 않으면 감점을 주겠다고 하신 덕분에 서식기능을 배울 수 있었다. 김종덕 교수님께 감사의 말씀 전한다.&lt;/p&gt;</description></item><item><title>내가 받은 최고의 커리어 조언</title><link>https://iamsang.com/blog/2019/01/01/career-advice</link><pubDate>Tue, 01 Jan 2019 18:19:24 +0100</pubDate><description>&lt;blockquote&gt;&lt;p&gt; "CEO님께서는 부사장(VP)이나 상무(SVP)가 될 사람을 어떻게 찾습니까?"&lt;br&gt;  "저는 본인의 영역 이상의 일을 이미 하는 직원을 찾아서 그들을 진급시킵니다."&lt;br&gt;  그는 '가능성'이나 '미래' 대신에 '이미'라는 단어를 사용했다.&lt;br&gt;  이후 나는 매니저들은 그들의 가능성이 아니라 결과를 보고 진급시킨다는 사실을 알게 되었다. &lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Fearless Salary Negotiation이라는 책의 내용 중 일부이다.&lt;/p&gt;&lt;p&gt;독일로 이직해 온 후 연봉협상이 있었는데, 이곳에서는 이런 자리에서 어떤 말을 해야 하는지 어떤 식으로 진행되는지 등을 알 수 없어 도움이 될까 해서 보았던 책이다.&lt;/p&gt;&lt;p&gt;연봉협상에는 도움이 되지 않았고 책에서 이야기하는 다른 내용들도 나에게는 그다지 필요하지 않은 부분이었지만 저 일화 하나만으로도 충분히 가치 있는 책이었다.&lt;/p&gt;&lt;p&gt;"나의 영역 밖의 일을 할 수 있지만, 회사에서 부여한 권한과 책임이 이 정도니 확실한 지시나 더 높은 자리를 주지 않으면 이런 것까지 하는 건 안 되지 않을까"라는 생각을 하며 선을 그었던 적이 있다. 지금은 그것이 잘못된 생각이었다는 것을 안다.&lt;/p&gt;&lt;p&gt;구글의 디지털 마케팅 에반젤리스트이자 웹분석에 관한 베스트셀러북 저자인 &lt;a href='https://www.kaushik.net/avinash/about/'&gt;아비나쉬&lt;/a&gt;는 소식지를 통해 다음과 같은 이야기를 소개한 적 있다 (내용을 축약해서 옮겼으니 전체 내용이 궁금하다면 &lt;a href='https://madmimi.com/p/66293c?fe=1&amp;pact=2225092-145409887-10723592945-ef000a7800f81ff376162f1060577ecab8c39f80'&gt;원문&lt;/a&gt;을 확인해보기 바란다.)&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt; 홍콩의 한 다국적 기업에서 강연하던 중 다음과 같은 질문을 받은 적 있다. &lt;/p&gt;&lt;p&gt; "상사에게 그렇게 하도록 요청받는 경우가 거의 없는 상황에서 어떻게 강연자님께서 우리에게 이야기해 준 것처럼 변화를 이끌 수 있을까요? &lt;/p&gt;&lt;p&gt; 나는 그녀에게 노트를 보내주기로 약속했다. &lt;/p&gt;&lt;p&gt; 보내준 노트는 아래와 같다. &lt;/p&gt;&lt;p&gt; 당신이 어떤 것을 하도록 요청받거나 변화를 이끌거나 기여를 통해 인정받고 싶다면 손을 들어라. &lt;/p&gt;&lt;p&gt; 손을 들어라 실제로 손을 들어서&lt;br&gt;  손을 들어라 피드백을 공유하면서&lt;br&gt;  손을 들어라 일어서면서&lt;br&gt;  손을 들어라 문제를 해결하면서 (작은 것이라 하더라도)&lt;br&gt;  손을 들어라 영향력 있는 사람에게 이야기하면서&lt;br&gt;  손을 들어라 실험하면서&lt;br&gt;  손을 들어라 다른 사람을 인정하면서&lt;br&gt;  손을 들어라 더 많이 미소짓고 예의 있게 항의하고 겸손하게 도전하면서&lt;br&gt;  손을 들어라.&lt;br&gt; &lt;/p&gt;&lt;p&gt; 그리고 누군가 그것을 볼 것이다. &lt;/p&gt;&lt;p&gt; 사이드라인에서 기다리지 마라.&lt;br&gt;  요청받기를 기다리지 마라.&lt;br&gt;  허락을 기다리지 마라.&lt;br&gt;  아무도 당신에게 신경 쓰지 않는다고 불평하지 마라.&lt;br&gt; &lt;/p&gt;&lt;p&gt; 어떤 규모의 팀에서건 당신과 함께하겠다고 손드는 이, 당신의 도움 / 지혜 / 지지를 감사히 받는 이, 당신을 축하하는 이들을 발견하게 될 것이다. &lt;/p&gt;&lt;p&gt; 그냥 손을 들어라. &lt;/p&gt;&lt;p&gt; 당신의 회사는 당신을 필요로 한다. 당신은 당신을 필요로 한다. &lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;사실 손을 드는 것만으로는 충분하지 않을 수 있다. 여러 베스트셀러 책의 저자이자 가장 영향력 있는 마케터 중 한 사람인 &lt;a href='https://seths.blog/'&gt;세스 고딘&lt;/a&gt;의 블로그 글 중 하나인 &lt;a href='https://seths.blog/2018/04/after-you-raise-your-hand/'&gt;"손을 들고 난 후에"&lt;/a&gt;를 추가한다.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt; 행동하라 (Show up).&lt;br&gt;  행동하고 계속 행동하라.&lt;br&gt;  행동하라 최소한 당신이 손을 들고 처음 자원했을 때처럼.&lt;br&gt;  자원하기는 쉽다. 약속하는 것은 다른 사람의 주목을 받기 좋은 방법이다.&lt;br&gt;  그 약속을 지키는 부분은 종종 인정받지 못하지만, 그것이 당신이 어떤 것을 만들어내는 방식이다.&lt;br&gt; &lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;회사에 모든 열정을 바치거나 다른 이들보다 일을 더 많이 해서 인정받으라는 것은 아니다. 중요한 것은 내 한계의 선을 긋지 않을 때 더 주도적이고 자율적으로 즐기며 일할 수 있다는 것이다.&lt;/p&gt;</description></item></channel></rss>