2012년 3월 29일 목요일

캐나다 일기 13편

오늘은 캐나다에서 취업 뽀개기 편이다.

처음에 캐나다로 워홀을 간다고 마음먹었을 때 내가 이곳에서 하게 될 일은

접시닦기, 커피숍, 패스트 푸드점 정도로 생각했다.

하지만 난 지금 대학교 연구소에서 연구원으로 일하고 있다.

사실 연구원이라기 보단 그냥 웹 프로그래머 이다.

연구는 하지 않으니까.. 하지만 연구원이 더 간지나니까.. 공식직책이 연구원이기도 하고..

그래서 난 연구원이다 ㅋㅋ

내가 하는 일은 교수가 추진하는 프로젝트가 있는데 그것의 웹부분 파트를 만드는 일이다.

물론 나 혼자말고 코워커 들이랑 ㅋㅋㅋ

지구 환경관련 연구 프로젝트인데 꽤나 재미있다.



이게 내 자리 사진이다. 왕만한 모니터 두개에 내 노트북을 쓴다.

근무환경은 ★★★★★ 이다. 음훼훼훼

일단 난 여기와서 지금까지 야근을 한 적이 없다. 진짜 칼 퇴큰이다.

근무시간이 자유로워서 각자 집에가는 시간이 다르지만

다들 정말 자기가 할 만큼만 하고 집에 딱 간다.

칼퇴근의 기쁨....진짜 짱임 ㅋㅋㅋㅋ

나는 일주일에 35시간을 일해야 하기 때문에 그 안에서 자유롭게 출퇴근 시간을

조정가능 하다. 그리고 대학교 안에 있기때문에 일단 먹는 것들이 싸다.

교통도 전철역이 있기 때문에 편하다. 시급은 일단 시간당 16불로 시작.

한시간 멍때리고 앉아있으면 밥 사먹을 수 있다.ㅋㅋㅋㅋㅋㅋㅋ



음 그럼 이제 내가 어떻게 이곳에 입성하게 되었는지 과정을 써내려가도록 하겠다.

일단 kijiji라는 웹사이트에서 직업을 찾아보았다.

kijiji는 우리나라로 치면....글쎄....우리나라로 치면 뭘까...그냥 종합 광고 포탈 사이트이다...

각종 물건 판매 부터, 부동산, 직업, 서비스까지 다양한 주제를 다룬다.

캐나다에 사는 사람이라면 꼭 알아야 하는 사이트이고 매우 유용한 사이트이다.

위 화면은 kijiji에서 Calgary에서 프로그래머를 구인 하고 있는 광고를 검색한 화면이다.

프로그래머 말고도 서버, 디시워셔, 셀러 등 거의 모든 직업을 검색해 볼 수 있다.

주소는 www.kijiji.ca.

나는 이곳에서 11개의 프로그래머 구인광고에 지원을 했고, 5곳의 인터뷰 제의를 받았고

2곳에 합격을 했다.

이건 내 레쥬메 와 커버레터 이다. 물론 레퍼런스도 있다.


이건 내 포트폴리오 사이트 이다.

내가 받은 첫번째 인터뷰 제의는 내가 지금 일하고 있는 University of Calgary의

연구소 였다. 교수는 친절하게도 내가 메일을 선호한다고 썼기 때문에 전화대신

메일로 나의 인터뷰 일정을 잡아 줬다. 자세한 내용은 뒤에 ㅋㅋ

두번째 인터뷰 제의는 전화로 왔다........왠 인사담당자가 전화를 했는데....

말이 정말 빨랐다...........진짜 블라블라 블라~ 쒸쒸쉬 라고 들렸다......

Could you speak a little slower than now? 라고 말했더니....

진짜 a little slow 하게 얘기해서 진짜 브울라 브울라 브브울라 ~쒸이쒸이쒸이 라고

들렸다....... 중간중간 알아들은 단어로 대답을 하긴했다만 내가 헛소리를 세잉 했는지

답장은 없었다. 분명히 자기 매니져한테 물어보고 답장준다고 했는데 거짓말했음 ㅋㅋ

암튼 그렇게 첫 전화 인터뷰를 망치고 긴장된 마음으로 캘거리 대학교로 향했다.

교수실 문을 두드리고 문을 살짝 여니까 날카로워 보이는 교수가

"안녕? 우리 다른방으로 갈까?" 라고 말하길래 인사하고 알겠다고 했다.

그곳에는 나의 현재 코워커인 David가 앉아 있었고, 교수, 나, David 셋이 인터뷰를 했다.

교수는 타이완에서 왔는데 여기온지 7년~8년 됐다고 한다.

영어를 잘한다.................거기다가 인상도 날카롭다....

이것저것 물어보는데 확실히 전화 인터뷰보단 수월했다.

나름 대답도 잘했고(거의 준비해간 질문이 나왔음) 의사소통에 별 문제도 없었다.

교수라서 외국인 학생들을 많이 접해봐서 그런지 내가 머뭇머뭇 거려도 이해주고

나한테 코리안 특유의 악센트 없다고 칭찬까지 해줬다. ㅋㅋㅋ

이렇게 분위기 좋게 1시간의 길고 긴 인터뷰가 끝났다. 시작은 주로 나에 대해 물어봤고

중간부터는 전문적 지식에 대해서 물어봤다.

딱히 어려운 질문은 없었는데 중간중간 잘 모르겠는거는 그냥 모른다고 대답했다.

교수가 구라 안치고 솔직해서 좋단다 ㅋㅋㅋㅋㅋ

인터뷰가 끝날때 쯤 David가 우리가 너를 테스트 해도 되겠냐고 물어봤다.

나는 당연히 응! 그래도 돼 라고 얘기 했다. 난이도를 물어봤더니

아주 간단한 테스트라고 한다. 오늘 저녁에 줄테니까 내일 모레 아침까지 제출하랜다.

저녁이 되자 문제가 메일로 왔고 문제는 아래와 같다.



Please finish the following tests and return urls of the web pages you make for the tests as well as the codes.

  • Let’s assume that there is a sensor “id01” set up at (lat, lon)=(-79.9733333,121.0666666). Please write a web page to show the senor with a marker on Bingmap. If a user click on the marker, a information window will pop-up showing “This is the sensor id01. The location of this sensor is at (-79.9733333,121.0666666)”.

  • Following the question 1, we set up 999 more sensors at the same location (-79.9733333,121.0666666) with names “id02”, “id03”, …and ”id1000”.  Along with the id01 in question 1, we have 1000 sensors totally. Similar with the implementation for question 1, please also show each sensor with a marker on Bingmap with a pop-up information window when users click. Note!!! There are multiple sensors at the same spot, so please come up a decent way for users to present the markers as well as the information windows.


Bonus question

  • Please implement a web page where users can drag multiple files from the local machine and drop them to a queue/list. After users click “submit all”, all of the files will be uploaded to the server. During the uploading, users would like to see the progress of upload process.




크게 3문제로 구성되어 있었다. 난이도는 하(?) 솔직히 이거 하는데 6시간 정도 걸린거 같다.

중간에 보너스 문제 만들다가 미친오류 때메 2시간 해멘거 빼면 4시간? 암튼

아주 간단한 테스트라고 미리 귀뜸해줬기 때문에 진짜 간단하게 해서 바로 다음날 제출을

했다.

그런데.........

답장이 안온다..........................................2일을 기다렸는데 답장이 안와 ㅠㅠ

뭐지 뭐지? 분명히 잘못한거 없는데 뭐지? 하면서 My ass was sweating 하고 있었다.

메일 보내봤더니, 너무 대충해서 냈다고 이걸로는 너의 실력을 평가할 수 없겠다고

말했다......그래...솔직히 대충하긴 했다...

첫번째 시험 답안.  <- 이게 내가 제출한 첫번째 답안 ㅋㅋㅋ

내가 봐도 너무 대충해 보이기는 하다..그래도 주어진 조건은 다 만족 시켰는데....

암튼 교수 나한테 한번의 기회를 더 주겠다고 했다. 이번에는 열심히 해보란다!

하루 뒤에 새로운 시험문제가 도착했다...이번엔 조금 어려울거라고 2일을 준단다.

문제를 보고...............좌절했다................................OTL.............이걸 어떻게

2일만에 하라는거지?? (ㅡ.,ㅡ)

문제는

Introduction

The major purpose of this exam is to test how well you can catch a design request and implement an application/function which not only fulfills the request precisely but also a please to use. Your capabilities to adapt to RoR will be evaluated in the tests, too.

Your design must work well both on pcs and portal devices such as smart phones and ipads. Please make your design decisions carefully and avoid any potential trouble in advance, ex: flash not fully supported by some of the mac prodccts. HTML5, CSS3 and javascipt are suggested for development but it is your call to adopt other tools as long as the results are cross-platform and can be perfectly integrated into RoR.

Except the basic tests, the bonus questions are good chances to demonstrate your creativity and proactiveness in the field of front-end design, which will be utilized to evaluate your potential achievement in this field. You are encouraged to show off as well as possible on the bonus questions.

Now please finish the following tests and return urls of the web pages you make for the tests as well as the codes.


Test 1

  1. Write a program to generate 1000 random names for 1000 sensors, ex: “fkiesn” for the first sensor, “6jcpo0sz” for the 2nd sensor, and so on. Please also randomly generate a current observation reading for each sensor.
  2. Among the 1000 sensors,
250 of them are at (lat, lon)=(51 05' 00'', -114 05' 00),
155 of them are at (lat, lon)=(51 03' 00'', -114 06' 00)
245 of them are at (lat, lon)=(51 06' 00'', -114 04' 00)
350 of them are at (lat, lon)=(51 06' 00'', -114 05' 00).
  1. Please store all of the sensors and related info into a database.
  2. Create a web page with full-screen Bingmap embedded
  3. Create a button floating on the BingMap. When the button is pushed, the 1000 sensors are added on the Bingmap. When the button is pushed again, the 1000 sensors are removed from the Bingmap.
  4. There are multiple sensors at the same spots. Google Earth has a user-friendly way of presensting placemarks with the same coordinates by grouping them together under one placemark which, when clicked, will expand the placemarks out around a central point. Please follow the ideas to present these 1000 sensors on BingMap. There are some screenshots listed as follows for your reference.
    • Several sensors at the same spot.
    • Click the marker and view all the sensors at the same spot.
  5. If a user clicks on a placemark, he/she can see the related info with current reading of this sensor. Following the example above, here is a screenshot when a user clicked the placemark “light09”.



Bonus: There are hundred of sensors at the same spots. It is still not easy for users to pick up a sensor among hundreds of sensors spread-out on the map. Please use your creativity to come up a user-friendly method to solve this scalability problem based on your implementation above.



Test 2
  1. Write a small service “A” which can accept a date and then output 24 random numbers.
  2. Create a web page with a chart. You could pick up a javascript-based chart tools/lib you are familiar with. The x-axis represents time, and the y-axis represents observations. The scale of x-axis is fixed with 24 hours only, from 0am to 24pm on 2012/02/15
  3. If a user click on the x-axis and drag to right
    • the x-axis will show the next 24hrs, ex: from 0am to 24pm on 2012/02/16
    • the chart sends a request to the service A with the date “2012/02/16” and get the returned 24 numbers
    • Take the returned 24 numbers as a series of hourly observations from 0am to 24pm and put them into the chart. Link those dots as a smooth curve on the chart.
  4. If a user click on the x-axis and drag to left
    • the x-axis will show the previous 24hrs, ex: from 0am to 24pm on 2012/02/14
    • the chart sends a request to the service A with the date “2012/02/14” and get the returned 24 numbers
    • Take the returned 24 numbers as a series of hourly observations from 0am to 24pm and put them into the chart. Link those dots as a smooth curve on the chart.
  5. When roll-over a dot on the chart, the dot will be high-lighten and the related reading will be shown aside the dot. A screenshot of an example is listed below for your reference.


Test 3

  1. Please create a web site using Ruby on Rails 3.2
  2. Migrate the codes for Test 1 and 2 to your Rails platform by creating related models, controllers and views
  3. Please make sure your design work both on pcs and portal devices




이렇게 구성되어 있었다.............................. 도대체 문제가 몇개야.....

입에서 욕이 나오기 시작했고 그냥 다른데 기다려볼까 라는 생각을 수십번 했다.

하지만 레쥬메 돌리고 난 뒤 6일동안에 온 인터뷰제의는 고작 2번......

한 군데는 이미 까였고,,더이상 물러설 곳이 없겠구나...라고 생각했다...

결심한 뒤 2일 밤을 4시간 만 자고 꼬박 밥먹는거 빼고 모든 시간을 이 문제 푸는데

쏟아 부었다.

제출한 답안 사이트  <- 이거 만들고 10시간 내리 잤다....


사실 큰 문제 3번은 풀지도 못했다...그래서 그냥 냈다.....솔직히 2일만에

어떻게 생판 모르는 언어로 웹사이트를 만들어......나 인터뷰 할때 분명히 저거 못하니까

나 저거 시킬려면 최소 2주는 줘야한다고 얘기했는데....2주가 아니라 2일 줬다.....



어째뜬 그냥 냈더니 이번엔 "오 정말 잘했어..우리는 너의 실력에 만족해. 아마

우리가 너를 다시한번 봐야할거 같애. 근데 3번은 얼마나 시간을 주면 끝낼 수 있어?"

라고 왔다..... 처음엔 칭찬을 늘어 놓더니 막판에 가서 3번 문제 풀으란다..................

그래서 난....저번에 2주 말했던거 보단 줄여서 말해야 겠다 싶어서 1주일? 이랬다...

그랬더니...."오 우리는 너한테 그렇게 많은 시간을 줄 수가 없어...내일 오후에 너에 대한

토의가 있을꺼야" 라고 답장이 왔다. 아!!!!!!!!!!!ㅅㅂ!!!! 오늘 또 밤을 새워야 한단말인가?!

결국 이 날 난 밤을 새워서 문제 3번을 했다. 물론............대충..........완전 튜토리얼 레벨로.

그리고 아침에 제출 한 뒤에 잠을 잤다.

자고 일어나서 메일 다시 한번 체크해보니....으악!!!.....어제 David에게서 온 메일을

다시 한번 읽어 보는데....내가 해석을 잘못했었다... David는 나한테 언제까지 3번 문제를

풀어서 제출할꺼야? 라고 물어본게 아니라...3번 문제푸는데 시간이 얼마나 걸리는지를 


언제 알려줄 수 있어? 라고 물어본거 였다........

그러니 내가 1주일 걸린다고 하니까 그건 너무 길다고 하지..............

머리가 나쁘면 몸이 고생한다는 말을 뼈저리게 실감했다.....어째뜬 하루만에 내니까

David가 너의 실력에 또 한번 놀랐다고 한다....그리고 바로 인성면접을 보고 싶다고

연락이 왔다. 어째뜬 결론은 좋네......간만에 제시간에 잠을 잤다......





다음날 늦잠자고 집에서 누워서 빈둥빈둥 영화보고 있는데 전화가 걸려왔다...모르는 번호다...

헬루~ 했더니 웹개발자 뽑는거에 지원하지 않았냐고 물어본다.

그렇다고 대답했다. 나보고 자바 잘하냐고 물어본다. 그때 생각났다. 내가 지원한 11군데

중에서 유일하게 1곳 자바 개발자를 뽑는 광고가 있었다. 자바 개발자로 일하면

굳이 귀찮은 루비온레일즈 공부할 필요도 없고 PHP도 볼 필요 없겠다 싶어서

이거다 하고 전화로 면접을 봤다. 다행히 이 사람은 사우디에서 온 사람이라

영어 말하는 속도가 아주... 매우! 나에게 적절해서 수월하게 인터뷰를 했다.

나한테 자기 서버 컴퓨터 원격접속까지 시켜서 자기가 뭘 원하는지 설명해줬다.

딱 보니까 2달이면 테스트까지 완성할 수있는 무지 무지 간단한 프로젝트였다.

근데 3달 주고 시간당 20불....거기에 재택근무...사무실 없단다.....3개월 뒤엔

정식 직원으로 입사란다..... 순간 혹했지만 내가 여기 온 목적이 뭔가? 일도 일이지만

영어를 배우고 싶어서 온거 아닌가? 만약 재택근무라면 하루종일 집에 쳐박혀서

일만 해야되는데 그러고 싶나? 솔직히..한국이었으면 졸라 땡큐 베리 감사 당장할게요..

라고 하겠지만...난 정중히 사양했다.....여기까지 와서 혼자 일하고 싶진 않았다...







암튼 대망의 인성면접날 ㅋㅋ 와.....나 솔직히 제일 처음 면접 봤을땐 내가 여기까지

올거란 생각도 못하고 완전 긴장도 안했는데....기술 면접 통과하고 나니까 왜 이렇게

떨리던지....입이 바싹바싹 마르더라.... 9시반에 교수실로 가서 문을 두드렸다....

그의 눈빛은 여전히 날카로웠다...이것 저것 말한다...

"너의 자바스크립트 결과물은 꽤나 인상적이었다. "

"너는 굉장히 빠른 속도로 우리가 준 테스트를 제출 했다."

'(속으로)당연하지 나 한국인이야...뭐든 빨리 빨리, 나 밤까지 샜다고...'

"우린 솔직히 너가 그 데드라인을 지킬꺼라 생각 안했다. 필요하면 더 줄려고 했었다"

'(속으로) 뭐?!?!?!?!? 이생키 이걸 왜 이제말해...나 밤까지 샜는데??????'

"근데 루비온레일즈는....좋은 평가를 못주겠다. 우리가 쓸 수 없을정도 실력이다."


'그래 나도 그건 인정해....'

"그리고 너의 코딩스타일을 봤는데 약간 정리가 안된 느낌이었다.."

'............주석도 다 달고 코딩도 깔끔하게 했는디....'

중간의 많은 이런저런 대화들은....생략

그리고 마침내...

"하지만 너의 자바스크립트 실력이 매우 인상적이었기 때문에 우린 널 뽑기로 결정했다."

'만세!!!!! 엄마 나 취직했어요 ㅠㅠ'


하하하하하하하하 입가에 미소가 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ

계약은 시간당 16불 부터 시작하고 1주일에 35시간 근무,

출퇴근 시간 자유! 하지만 9시 출근 5시 퇴근을 권장.

3개월 수습기간을 거쳐서 정식 직원 승격, 정식직원이 될 경우 의료보험 혜택과

시급인상이 있고 계약기간은 내 비자 만료일까지. 하지만 내 비자가 만료되더라도

내가 원하면 비자 연장을 해주겠다고 한다. 직책은 연구원.

하지만 수습기간 3개월동안 잘해야 정식직원이 될 수 있다고 했다...ㅠㅠ






생각해보면 난 정말 컴퓨터와 궁합이 잘 맞는다.

포맷도 할 줄 몰랐던 내가 컴퓨터 공학과에 입학을 했고,

그 타이틀 하나로 군대도 공군 본부 전산소로 가게되었고, 거기서 "진짜 이게 군대임?"

이라는 말이 나올정도로 엄청나게 편한 생활과 많은 자기 발전을 이루었다.

아 갑자기 중전소 사무실 그립네 ㅠㅠ 뭔가 중전소 특유의 냄새가 있었는데 ㅋㅋㅋㅋㅋㅋ

거지같이 덥던 여름에 하복입고 단화신고 근무하러 가던거 생각난다....저녁 비빔밥이라는

말에 애들이랑 치킨 사먹으러 갔던 기억도 나고....ㅠ 그립다...

암튼 컴퓨터 덕분에 내가 또 캐나다에서 이렇게 편안하고 안락한 생활을 누릴 수 있게 됐다.








음 난 현재 여기서 근무한지 딱 1달이 되었다.

그동안의 평을 내보자면...... 완벽하다! 3개월간 눈치봐야하는거만 빼면 ㅠ

지금 이 글을 쓰고 있는 이 곳도 사실 사무실이다.

일의 양은 한국의 2분의 1정도 되는것 같다. 기간은 한국의 2배 정도 되는거 같고 ㅋㅋㅋ

오죽하면 내가 슈퍼바이져한테 더할꺼 없냐고 물어볼 정도다.......열심히 일하는 모습을

보여줘야함 ㅋㅋㅋㅋ3개월 수습기간의 서러움 ㅠㅠ 보통 하나 작업하는데 1주일을 준다.

이거 만드는데 2주일 줬다.......ㅋㅋㅋㅋㅋ


한번은 하루동안 내가 해야할 일이 클릭할때마다 버튼 이름 바꾸기가 다 인적도 있었다.

그날 아침 10시에 그거 끝내고 5시까지 이사 갈 집 알아보고, 버스 체크하고, 페북하고....






단 한가지 아쉬운점은 생각보다 영어로 코워커 들과 대화할 시간이 없다는 것이다.

다들 여유롭게 작업을 하지만 서로 자기일에 너무 열중이다 보니...

하루에 세네 마디 정도만 하는게 보통이다.

그러나 매주 회의가 있는데 그날은 또 너무 말을 많이 해야되서 문제다....

말도 진짜 빨라서 반정도만 알아 듣는데....

자꾸 나한테 의견을 물어본다......일상회화도 아니고 전문적인 분야에 대한 질문이라

머리 속이 하얘진다........결국 ESL 야간반을 찾아서 듣기로 결심했다......






암튼 나의 캐나다 라이프는 순조로운 향해를 하고 있다.

원래 계획은 올해 8월에 돌아가는걸 목표로 했는데 어쩌다 보니 내년까지 있을거 같다.

인생 참 모르는거야 ㅋㅋ




이렇게 캐나다에서 개발자로 일하기 편을 마치겠다!

아 ! 맞다 ! 그리고 취직이 된 다음에도 1번의 인터뷰 제의와 1번의 합격소식이 있었지만

거절했다. 하하

암튼 이제 진짜 마치겠다 ㅋㅋ




ps 이거 쓰고 나서 회의 갔다왔는데.....진짜.........대박 ㅋㅋㅋㅋㅋㅋㅋ

드디어 이제 일 다운 일이 들어옴 ㅋㅋㅋ 재밌어질거 같음 ㅋㅋㅋ

장난아니네 ㅋㅋㅋ 행복 끝 불행 시작인가......



다음편으로!