반응형

링크드인(LinkedIn)에 가끔씩 들어가서 개인 프로파일 관리를 하다가, 지난 1월에 구글 코리아에서 소프트웨어 엔지니어 채용 과정이 열려 있다는 내용의 공지를 보게 되었다. 그 페이지를 보면서 내가 무슨 배짱(...)이었는지 모르지만, 아무튼 Apply 버튼을 누르고 링크드인의 프로파일 페이지를 변환해서 간단한 CV를 첨부해서 보냈다.


Apply 버튼을 누를 당시에는 정말로 별 생각이 없었다.


'설마 되기나 할까?'


잠시 이런 생각을 했다가, 큰 의미부여 없이 그렇게 신청해 두고는 최근까지 잊고 지냈었다. 곧이어 개인연구 실험과 제안서 작업이 닥쳐와서 지원했다는 사실을 까맣게 잊은 채 바쁘게 지냈고, 서류 검토 과정에서 떨어졌으리라 생각했을 뿐이었다.


그런데, 며칠 전에 "Hello from Google" 이라는 제목으로 영어로 된 이메일 하나가 왔다. 너무 간단한 제목에 스팸이나 피싱이 아닐까 하는 걱정을 하면서 메일을 열었는데, 신기하게도 나의 지원 정보가 구글 재팬으로 넘어가서 일본인 소프트웨어 엔지니어 한 명이 관심을 갖고 나에게 연락한 것이었다.


그 엔지니어가 가까운 시간 내에 전화로 얘기를 해 보자고 해서 일단 바로 다음날로 시간을 정하고 전화통화를 하였다. 나는 내 지메일 계정에 행아웃으로 영상통화를 걸어올 줄 알았는데, 그냥 +81로 시작하는 국제전화가 걸려 왔다. ㄷㄷㄷ

메일을 받았을 때, 메일 내용에는 그저 conversation이라고 되어 있었지 면접이라고 적혀 있지 않았기에 나는 준비도 긴장도 없이 (물론 낯선 사람과의 통화에 긴장이 안될 수는 없지만, 국내 대기업 기술면접을 준비했을 때에 비하면 긴장이 아니었다) 전화를 받았다. 그런데 알고 보니 기술면접을 포함하는 전화 면접이었다. (...) 일본인이니까 영어로. 연습도 못해 보고 실전 전화영어라니... 그래도 담당 일본인 엔지니어가 영어를 명확하게 잘 해줘서 알아듣는 데 큰 어려움이 없어서 정말 다행이었다.


처음에는 무엇을 해 봤는지, 언제 졸업하는지, 언제부터 일할 수 있는지 등을 물어보다가, 몇몇 기술요소(예를 들어 자바 프로그래밍 언어, 알고리즘, 데이터구조 등)에 대해서 본인의 지식수준이 얼마나 되는지를 0~10 사이의 숫자로 스스로 평가해 보라고 했다. (0: 전혀 모름, 1:초보, 3:초중급, 5: 중간, 7:전문가, 10:다 아는 신급)

여기서 내가 실수한 것이 있는데, 웬만하면 7 정도의 숫자를 함부로 말하면 안되는 것이었다. ㅋㅋㅋ 지금 생각해 보면 정말이지 용감하기만 한 내가 어떻게 비춰졌을지 손발이 오글오글하다. @_@


그러고 나서 갑자기 기술적인 질문 십수 가지를 던지기 시작... ㅜㅜ

완전 망함... 까지는 아니지만, 그렇다고 선방한 것도 결코 아닌, 알고리즘과 자료구조에 대해서 전혀 준비되지 않은 나의 날 것 같은 지식이 모두 탄로나서 털털 털렸을 뿐이었다. ㅠㅠ 

평소에 쓰는 자료구조가 개인연구 또는 연구실 과제 차원에서 필요한 것들만 반복해서 쓰는 정도라서 다양한 자료구조를 다룰 일이 적다 보니 아는 것은 잘 아는데 모르는 것은 전혀 모르는 편식하는 학생 신분의 개발자였기에, 이렇게 갑자기 훅 들어오는 질문들에 대한 내 대답은 천차만별이었다. 평소에 개인연구의 실험 코딩을 하다말고 자꾸만 옆길로 빠져서 네트워크 로그 정보를 처리하기 위해 무슨 데이터 구조를 쓰는 게 좋을지 살펴보느라 시간을 허비했던(?) 과거의 경험이 오히려 고마울 뿐이었다. 그마저도 없었다면 거의 대부분의 질문에 대답을 못했거나 틀리게 했을 것이다. 차라리 며칠 더 시간을 두고 그 동안 알고리즘, 자료구조를 간단히 리뷰라도 하고 나서 통화를 했으면 그나마 나았을 텐데 무식하면 용감하다는 것을 몸소 실천하는 꼴이 되고 말았다. ㅠㅠ


아무튼 정신없는 기술면접을 마무리하고, 엔지니어로부터 나중에 한번 더 전화통화를 하면서 코딩 면접을 할 것이라는 안내를 받고서 통화가 끝났다. 아마 구글 공유 문서를 통해서 코드를 짜는 과정을 검토하는 방식을 말하는 듯 했다.

구체적인 시간은 정해지지 않았지만 아마도 짧으면 1주, 길면 2주쯤 후에 전화상 코딩면접이 있을 것이고, 이 과정을 무사히(?) 통과하면 서울에 있는 구글 코리아에 직접 가서 또 기술면접을 여러 차례 하게 될 것으로 예상된다. 구글 재팬에서 채용을 진행하는데 얼굴을 대면하는 기술면접은 서울에서 본다길래 의아했지만, 알고 보니 원래 지원자가 있는 지역에 구글 지사가 있으면 그 곳에 가서 면접을 보는 게 정식 절차라고 한다.


일단 당장 얼마 후에 있을 2차 전화면접을 잘 해야 그 다음 과정도 의미가 있을 텐데... 서류를 통과한 모든 지원자에 대해서 오프라인 기술면접까지 모두 하게 해 주는지는 알아내지 못했다. 전화통화하던 당시에도 마지막에 정신없어서 묻지도 못했다. ㅡㅡ 상식적으로 생각해 보면, 전화상 코딩 면접에서 잘 하지 못하는 지원자를 굳이 회사까지 데려와서 면접해서 현역 엔지니어들의 시간과 비용을 낭비할 필요는 없을 것 같다.


어쨌든 이렇게 갑작스럽게 좌충우돌 구글의 소프트웨어 엔지니어 면접 과정을 시작하게 되었다. 지금 내가 처한 상황을 있는 그대로 얘기하자면, 내가 얼마나 털릴지 가늠이 안되는 상황에서 산 정상은 아득하게 보이는데 산 중턱은 구름에 가려져 있고, 나는 고급장비 하나 없이 정상을 향해서 맨몸으로 뛰어가는 듯한 느낌이다. ㄷㄷ


상황만 놓고 보면 내가 해낼 수 있을까 하는 의구심이 한가득이지만, 한편으로는 과연 내 실력이 어디까지일까 점검해 볼 수 있다는 측면에서 기대가 되기도 한다. 다시 말해서 뭔가 긴장감이 몰려 오는데, 그 긴장감이 싫다기보다는 도전해 보고 싶다는 그런 느낌이다.

1~2주 동안에 알고리즘이나 자료구조 차원의 지식을 보강해야 하는데, 연구를 하는 중간에 내가 얼마나 보강할 수 있을지는 모르겠다. 결국 면접에서 살아남기(?) 위해서는 문제해결능력으로 어필해야 할 것 같다. 박사과정을 하면서 남의 논문을 평가하고 내 논문을 쓰는 차원의 문제해결 과정은 겪어봤는데, 그렇게 연습해 온 것이 도움이 되기를 바랄 뿐이다.


면접에서 물어볼 만한 샘플 문제들을 하나씩 살펴보면 만만치않은 난이도인데, 실제 문제는 이보다 더 어려울 것이다. 몇몇 문제는 일단 무식한 방법(brute force)으로 어떻게든 코드 작성을 시작할 수는 있어 보였다. 결국 관건은, 일단 그렇게 시작해 놓고 나서 면접관들과 대화를 해 나가면서 그 코드를 얼마나 개선시킬 수 있느냐이다. 내가 문제를 어떻게 정의하고 어떻게 단계적으로 설계하는지가 드러날 것이고, 이어서 면접관의 힌트를 얼마나 잘 활용하는지도 드러날 것이며, 면접관과의 대화를 통해서 실제로 쓸만한 코드로 개선해 내는 능력이 있는지도 드러날 것이다. 결국 구글이 원하는 소프트웨어 엔지니어 인재에 해당하는 현실의 문제를 협업을 하면서 전산 도구를 적절하게 활용해서 빠르게 개발해 내는 사람인지가 판가름이 날 것이다.


이번 면접 과정을 기회삼아, 비록 주어진 시간이 얼마 없지만 그동안 내 지식을 다시 정리해서 내 실력이 어디까지인지 점검해 보는 계기로 보고 준비해 봐야겠다.

반응형
블로그 이미지

Bryan_

,
반응형

연구실에서 미래부 과제를 계속과제로 진행중이다. 2014년 3월부터 시작해서 2017년 2월에 끝나는, 3년짜리 과제이다. 


연구실에서 지난 연말에 제출한 국제학술대회 논문 중 여러 편이 선정(accept)이 되어서, 하나씩 학회 등록을 하고 출장 준비를 하고 있다. 그런데 공교롭게도 상당수의 학회가 과제수행기간을 기준으로 2차년도(2015년 3월~2016년 2월 사이)에 등록을 해야 하고, 실제 학회 개최 및 논문 발표는 3차년도(2016년 3월 이후)에 발생하게 되었다.


이 경우, 국제학회 등록비는 2차년도 예산에서 집행하고, 국제학회 출장비(항공료, 체제비 등)는 3차년도 예산에서 집행해야 하는데,  이렇게 예산을 사용할 수 없다고 한다.


지금 수행중인 미래부 과제는 연차평가를 거쳐서 3차년도에도 변함없이 수행 예정이고, 지속적으로 과제를 수행하는 과정에서 발생한 논문 실적인데, 공교롭게 학회 등록과 출장 시기가 애매한 이유 하나 때문에 예산집행이 불가능하다니 안타까운 일이다.


오로지 실적으로만 생각해 보면 논문 게재/발표일을 기준으로 실적이 인정되니까 3차년도 기간 내에 학회 발표를 하면 되므로, 어쨌든 사사 문구(Acknowledgement)는 해당 미래부 과제로 표시해서 3차년도 실적으로 사용할 계획이다. 반면에 돈은 해당 연구주제와 관련성이 조금 떨어지는 다른 과제(가령 연구기간이 지난해 가을부터 올해 여름까지)에서 집행할 수밖에 없게 되었다.


이런 문제는 계속과제를 수행중인 상황과 논문 실적이 이렇게 비동기식으로 발생할 가능성을 감안해서 미래부에서 보완 규정을 만들어서(즉, 규정을 다듬어서 규제를 완화) 해결해 줬으면 좋겠다.


반응형
블로그 이미지

Bryan_

,
반응형

예전에 썼던 도일리 페이퍼 활용 방법(http://skylit.tistory.com/61)은 도일리 페이퍼 여러 장을 겹치고 손으로 인위적으로 구겨서 꽃 모양을 만드는 것이 주된 방법이었다.


꼭 도일리 페이퍼를 구기지 않더라도, 좀더 쉬운 방법으로 도일리 페이퍼 1~2장을 있는 그대로 써서 위치 선정과 노끈, 리본 등과의 적절한 조화를 통해서도 선물 포장을 다양하게 할 수 있다.


예를 들어 포장지가 화려하지 않거나 아예 포장 없이 종이상자 위에 바로 붙이는 경우, 아래 사진과 같이 도일리 페이퍼 2장을 포인트를 주는 용도로 아래와 같이 겹쳐 붙이고, 심심할 수 있는 상자의 다른 면을 노끈으로 처리할 수 있다.


(도일리 페이퍼 2장, 흰색 노끈, 머그컵 박스에 포장지 없이 바로 작업)



또한 조금 더 작은 종이박스에 대해서 위의 방법을 응용해서 포장지 없이 간단히 선물의 효과를 낼 수 있다.


(왼쪽: 도일리 페이퍼 1장, 흰색 노끈, 카페에서 파는 커피 드립 패키지 상자에 바로 작업)



텀블러 박스와 같이 좁은 상자에도 같은 방법을 쓰면 나름 잘 어울린다.


(오른쪽: 도일리 페이퍼 1장, 흰색 노끈, 물병 종이 박스에 포장지 없이 작업)



(추가)

도일리 페이퍼 외에도 펠트지를 리본 모양으로 잘라서 붙이면, 도일리 페이퍼와는 다른 분위기를 나타내면서 선물에 포인트를 줄 수 있다. 미까사님의 블로그: 손 쉬운 리본 만들기(http://blog.naver.com/cinna76/150174977991)에 잘 소개되어 있다.


같은 상자에 대해서 아래 사진과 같이 펠트지 리본, 일반 리본끈, 1탄의 도일리 페이퍼 기반 꽃모양으로 각각 작업한 선물을 보면 각각의 시각적 효과를 확인할 수 있다. 이러한 모양에서 포장지, 펠트지, 끈의 색깔과 무늬를 여러 가지로 바꾸면 그에 따라 전혀 다른 분위기를 연출할 수도 있다.


(왼쪽부터 펠트지 리본, 일반 리본끈, 도일리 페이퍼를 사용해서 선물에 포인트를 준 예시)



반응형
블로그 이미지

Bryan_

,
반응형

PC 환경: 가상머신 (Ubuntu 14.04에 KVM으로 생성: 쿼드코어, 6GB 램, 180GB 하드디스크)

운영체제: 윈도우10 (Microsoft Windows 10, 64-bit)

브라우저: 인터넷 익스플로러 11 (Internet Explorer 11)


처음에는 위에 설명된 가상 머신에서 윈도우 8.1을 썼었고, 그 때 우리은행 사이트는 아무 문제없이 잘 작동하였다. 윈도우10으로 업그레이드한 이후에도 잘 작동하는 듯 했으나, 최근에 우리은행에서 보안 프로그램을 하나 더 추가한 것 같았고, 이후로는 자꾸만 아래와 같이 플러그인을 설치하라는 메세지가 뜬다.



일단 보안 프로그램을 설치하기 위해 설치 페이지로 이동한 결과, realip라는 보안로그 수집 프로그램을 설치해야 된다고 나왔다. 아래 그림에는 재설치로 나와 있지만, 맨 처음에는 미설치 상태였다.




문제는, 시키는 대로 설치를 하고 나서 웹사이트가 시키는 대로 인터넷 익스플로러 브라우저를 재시작하고 나서 다시 로그인 페이지에 갔더니, 또다시 설치 페이지로 이동하라는 메세지가 뜨는 것이었다. 이번에는 또 무슨 문제가 있는지 가 봤더니,아래 화면과 같은 어이없는 상태를 보여주었다.





보안 프로그램을 제대로 설치했고, "설치됨"으로 나오는데도 설치가 필요하다면서 설치 페이지로 이동하라는 것은 무슨 의미일까?

아무튼 설치 페이지로 이동하라는 안내를 무시하고 로그인을 했더니 다행히 로그인은 할 수 있었다. 그러나, 키보드 입력을 통해서는 올바른 공인인증서 암호를 입력했음에도 불구하고 비밀번호 입력 오류가 나와서, 결국 우리은행 사이트에 있는 화상 키보드를 써서 불편하게 일일이 클릭해야만 했다.

분명히 윈도우 8.1을 쓸 때에는 이런 문제가 없었는데, 최근에 플러그인 내부 로직이 바뀌어서 그런 건지 윈도우 10 때문인지는 알 수 없다.


로그인하고 나서 계좌 거래내역 조회를 할 때에도, 계좌이체를 할 때에도 플러그인 설치 페이지로 가라는 성가신 안내 메세지는 계속 나타났다.




제일 좋은 것은 이렇게 덕지덕지 붙이는 듯이 보이는 보안 프로그램 없이 인터넷 뱅킹을 하는 것이지만, 그렇게 되려면 국가가 나서서 공인인증서를 비롯한 제도적인 개선을 해야 하므로 시간이 많이 걸릴 것 같다. 현재로써는 불편을 감수하고 쓰는 수밖에 없는데, 그나마 설치되는 플러그인도 위와 같이 제대로 인식도 안돼서 몇 번씩이나 재설치하게 만들고, 결국 버그라는 것이 밝혀져서 한동안 불편하게 설치 페이지로 이동하라는 메세지를 일일이 꺼야 한다. 


아마 윈도우10 운영체제를 완벽하게 지원하지 못해서일 수도 있고, 게다가 가상머신까지 쓰고 있어서 어딘가 예상치 못한 문제가 발생하는지도 모르겠다. 하지만 그렇다고 해서 우리은행 측에서 공식적으로 윈도우10을 쓰지 말라는 권고를 한다면 진심으로 "무책임하고 실력없다"고 비난받아도 마땅하다. 기본적으로 존재 자체가 불편한 보안 플러그인이고, 실제로 사용자 PC 입장에서는 평소에 메모리와 CPU 사용량만 잡아먹는 암덩어리 같은 존재인데, 이렇게 제대로 작동하지 못해서 추가적인 불편을 초래하지는 말아야 한다. 하루빨리 고쳐지길 바랄 뿐이다.



반응형
블로그 이미지

Bryan_

,
반응형

T-TIMES 기사 제목: 정수기까지 원가에 파는 샤오미의 ‘숨은 전략’

링크: http://www.ttimes.co.kr/index.html?no=2015102816307770048


연구실에서 그동안 공부한 게 유비쿼터스 컴퓨팅, 분산 시스템, 사물 인터넷 시스템 쪽이다 보니, 내 입장에서 볼 때 샤오미는 전형적인 사물인터넷 서비스 플랫폼 회사 같다.


(인용) "퇴근해 현관문을 열고 들어서면 손목에 차고 있는 미밴드를 인식한 스마트 전등이 자동으로 켜지고 공기청정기와 정수기가 작동하기 시작한다. 블루투스 스피커에서 음악이 흘러나온다. 샤워를 마치고 체중계에 오르자 몸무게가 실시간으로 스마트폰에 연동된다. (후략)"



T-TIMES 기사에서도 언급하듯이, 샤오미의 핵심 역량은 소프트웨어기 때문에 생산하는 모든 기기를 MiUI라는 자사의 플랫폼에 연동시키는 것은 당연한 수순이며, 컴퓨터가 아닌 일상 생활 속 기기들이 네트워크를 통해서 스마트폰 또는 다른 기기와 연결되면 그것이 곧 스마트홈이자 사물인터넷의 한 종류가 된다. (사물인터넷은 홈, 산업, 농업 등 분야에 따라서 강조하는 특징이 다르니까)


현재 샤오미가 스마트 플러그, 정수기 등 분야를 가리지 않고 판매하므로, 앞으로 더 다양한 '사물'들을 MiUI와 연동되게 해서 저가에 판매할 가능성이 높다. 앞으로 무엇을 더 만들어서 판매할지는 상상하기 나름이겠지만, 이미 스타트업에서 소개되기 시작하는 '사물'들을 생각해 본다면 컵, 의류, 의자, 테이블, 침대 등등 일상 생활에 연관된 무엇이든 가능할 것 같다다만 자동차는 소형 가전처럼 쉽게 만들 만한 물건은 아니니까, MiUI 플랫폼을 돌리는 자동차까지 만들어 팔려면 시간이 더 필요할 것이다. 아니면 다른 자동차 회사와 전략적 제휴를 할 수 있을 듯.


핵심 창업 멤버들이 구글/MS 출신의 소프트웨어 엔지니어들이니까, 요즘 전산 분야에서 핫한 기계학습(machine learning)을 적용할 가능성도 매우 높다. MiUI를 통해서 제품들 간의 연동이 가능해진 다음에는 각 사용자마다 샤오미 제품을 사용하면서 누적되는 데이터를 기반으로 학습해서 샤오미 제품이 개별 사용자의 습관/성향에 맞게 자동으로 개인화 설정을 해주는 것이 가능하지 않을까? 똑같은 샤오미 제품들이 설치된 2개의 집이라도 퇴근 후 집에 들어오는 사람의 특성에 따라서 기기의 자동 실행 여부와 세부적인 설정이 달라질 수 있다. 더 나가면다른 사람들의 스마트홈 세팅을 참고해서 여러 가지 다른 형태의 샤오미 기기들 간 연동 방법을 추천해 줄 수도 있다.


기사에서 나오는 샤오미가 판매하'콘텐츠'는 게임, 영화, 전자책 등으로 소개되고 있지만, 이쯤 되면 샤오미는 집에 설치되어 있는 샤오미 제품들 간에 어떻게 연동하고 어떻게 자동으로 실행되어야 하는지 명세하는 무형의 '콘텐츠'를 판매하는 수준도 가능하다. 다시 말해서, 개별 제품을 제어하는 수준이 아니고 내가 지금 속해 있는 스마트홈 공간 전체가 나를 위해서 자동으로 움직여 주는 것처럼 보이는 설정을 '콘텐츠'처럼 팔 수도 있지 않을까?


더 극단적인 상상을 한다면, 내가 샤오미 폰을 들고 여행지의 호텔 방에 들어갔는데, 그 호텔 방에 있는 모든 샤오미 기기들이 나를 인식해서 조명의 색상, 조명의 밝기, 온도, 즐겨듣는 음악, 즐겨 마시는 종류의 커피 등... 즉석에서 호텔방을 우리집처럼 꾸며줄 수 있는 것이다.

물론 호텔이 아니라 친구집에 놀러간다면 친구와 나의 성향 차이가 있으니까 누구에게 얼마나 맞춰줄 지 고민이 필요하겠지만, 이것은 유비쿼터스 컴퓨팅에서 오래 전부터 연구된 conflict resolution 논문을 가져와야 될 만큼 재미없는 얘기가 될 것이므로 패스하겠다.


하지만 이러한 행보는 사실 샤오미에게만 국한되어야 할 이유는 없다. 삼성전자, LG전자도 자사의 가전제품 라인업을 모두 이렇게 만들 수 있으며(이미 삼성 링크, AllShare, LG전자 홈챗 등이 그 가능성을 약간 보여주고 있다), 그런 면에서는 샤오미보다 생산 면에서 유리한 점이 있다. 샤오미는 아직 라인업을 구축하는 중이니까, 더 빨리 시장을 선점할 가능성도 있다. 다만 말도 안되는 샤오미의 가격 정책은 큰 고민거리가 되겠지만... 삼성전자는 타이젠 플랫폼을 자사의 사물인터넷 기기들을 연동하는 데 사용할 것이므로, 위에 언급한 샤오미의 MiUI 중심의 연동을 타이젠 중심으로 구축할 수 있을 것으로 예상된다. 물론 구글, 애플은 자율주행 자동차도 개발하고 있으므로 더이상 말할 것도 없다. 


어찌됐든 사물인터넷 시대는 계속 진행되고 있다. 이렇게 스마트홈과 같은 일상생활 영역에서의 사물인터넷 서비스 플랫폼에서 누가 승리할지는 좀더 지켜봐야 할 것 같다.



반응형
블로그 이미지

Bryan_

,