또 최종면접에서 쓴 맛을 맛보았다. 벌써 6번 정도 인성면접에서만 떨어진 것 같다. 떨어진 곳을 보면 다 내가
진심으로 가고 싶었던 곳이다. 게임회사, 채용사이트, 백신회사, 인터넷 위젯회사 등등…
면접을 하는 순간, 집으로 올 때도 모두 스스로 불합격하겠구나 라고
생각은 했기에 초조하고 불안하게 결과를 기다렸으나 역시 그랬다.. 불합격… 문제는 2008년 졸업 전 최종에서 탈락했던 회사와 같은 계열사에 면접도 비슷한 방식이었는데(인적성 검사하는 인터넷 사이트도 동일한) 또 같은 불합격했다. 이유를 곰곰이 생각해 보니 바로 면접 울렁증이다. ‘최종’, ‘인성’ 이라는 말만 들으면 울렁증이 생기는 것 같다. 이번에도 마찬가지였다. 1차 면접은 자기소개에서 버벅였으나 전공지식은
그나마 상세하게 말한 것 같은데 2차 면접과 3차 면접을
동시에 본 이번에는 들어가기 전 청심환을 먹었음에도 그냥 머리가 멍 했다. 면접인 3월 2일 전날 자기 전 준비한 멘트를 숙지하고 부각시킬 면을 머릿속으로
정리한 것을 진짜 1/5도 이야기 못한 것 같다. 면접을
끝나면서 나 스스로에 또 한번 실망했다.
좀더 원초적인 질문을 나에게 해보았다. 바로 집착이 아닐까 한다. 위에서 면접 본 회사들은 항상 내가 가보고 싶었던 회사고 마음속으로 동경하고 있었던 회사다. 그렇기에 어떻게 라도 다니고 싶다 라는 생각을 하면서 입사 후 모습을 생각해보기도 한다. 그런 점이 오히려 나에게는 부담감이 되었던 것 같다. 인사팀 팀장님이
긴장하고 있는 나에게 ‘회사도 사람을 선택하지만 사람도 회사를 선택한다는 마음으로 자신을 셀링 해보세요’ 인사팀장님도 그랬다. 그게 잘 안되겠지만 이라고… 그렇다. 예를 들어 경매에서 정말 자신이 마음에 든다고 생각하는
물건이 나왔다. 그리고 최종 입찰하여 자신의 것이 되는 것이 얼마남지 않았다. 얼마나 긴장되는 순간인가! 머릿속에는 자신이 가질 물건밖에 생각에
없을 것이다. 나 또한 그렇다. 덤덤하게 생각해야 하는데
너무 간절하니 긴장이 되고 긴장이 되니 머릿속이 멍해지고 빨리 벗어나고 팠다. 2차 면접을 40분 가량 봤는데 남은 시간에 질문을 하라고 하셨는데 그때 정말 왜 그렇게 그 자리를 벗어나고 싶던지…
오히려 1시간 남짓한 면접으로 사람의 됨됨이를 평가를 한다는 것이
적절하지 않다고 생각이 든다. 어떻게 사람을 그 짧은 시간으로 평가를 한단 말인가? 나는 못했지만 최종 합격한 사람들도 분명히 조직내에서 말썽을 일으키는 사람이 있을 것이다. 남에게 일을 넘기거나 다른 사람 험담을 한다거나 일을 재대로 못하거나! 마지막으로
내가 마지막으로 준비한 말이 ‘짧은 면접시간에 재가 가진 끼와 매력을 다 보여드린 것 같지 못한 것
같습니다. 합격결정을 내리기에 망설임이 3개월만 시간을 주십시오. 그 때 마음에 안 드시면 과감히 불합격 처리를 하셔도 좋습니다.’ 였는데
이 말도 못하고 나왔다. (못한말은.. 이뿐만이 아니다.)
한편으로는 거기에 다니는 사람은 모두다 이 관문을 통과했을 것이고 내가 나온 학교 사람도 있다는 것을 보면 나의
개인적인 문제다. 그리고 분명히 그 회사도 모든 사람을 다니게 할 수 없기에 최선의 노력을 다해서 조직에
맞는 사람을 뽑는 것일 것이다. 그래도 면접을 보고 난 후로 스스로가 너무 한심해서 괴롭다. ‘속에 금송아지를 품으면 뭐하냐 다른 사람은 모르는데…’ 라고 어머니가
자주 하신 말처럼 아직 난 스스로를 잘 표현하지는 못하는 것 같다. 잠을 못 잘 정도가 되니 이렇게
라도 글로써 적지 않으면 안될 것 같다.
나는 내 스스로 어떤 조직에 가서도 잘 적응하고 일도 잘 해왔다. 물론
실수 한적도 있고 잘못한 적도 있다. 하지만 그것을 하나의 배움의 과정으로 생각했고 스스로 책임졌으며
남에게 떠넘긴 적도 없다. 책임을 지면 최대한 끝까지 해내려고 했고 뭐든 문제든지 막힘 없이 잘 처리 했으며 항상 새로운 생각을 쏟아냈었는고(정말
엉뚱한 것도 많았지만) 원만하게 잘 지내왔다. 어느정도였어느
전역할 때 간부님들이 부사관으로 지원하라고 하셨다 자리를 만들어 주신다고… 그럼에도 정말 또 한번 이렇게
불합격이라니... 정말
아무런 회사는 가기는 싫다. 회사명만 들어도 행복하고 재미있고 무언가 창조적인 그런 회사에 가고 싶다.
물론 발표가 나기 전부터 말해야 했지만 불합격 통보를 받고 한번만 기회를 달라고 이메일을 보내어 봤다. 허공에 대고 보내는 건지, 답장이 올지는 모르겠다. 어떻게 해야 극복할 수 있을까… 또 기회를 찾아야 하지만 점점 불안하다. 하고 싶은 것을 찾아 회사를 떠난지 6개월이 다 되간다. 계속 속상해 있으니까 ‘신경 쓴다고 합격시켜준다나 고마 다른 기회
찾아라.’ 이런다. 이럴 때는 동생이 나보다 낫다. 그래 이제 고만 아프고! 또 새로운 일을 찾아야지…
그래 나 골넣었다고!!! 라고 할 수 있는 날은 언제일까???
import java.io.UnsupportedEncodingException;
import java.nio.ByteBuffer;
import org.apache.cassandra.thrift.Cassandra;
import org.apache.cassandra.thrift.Column;
import org.apache.cassandra.thrift.ColumnOrSuperColumn;
import org.apache.cassandra.thrift.ColumnParent;
import org.apache.cassandra.thrift.ColumnPath;
import org.apache.cassandra.thrift.ConsistencyLevel;
import org.apache.cassandra.thrift.InvalidRequestException;
import org.apache.cassandra.thrift.NotFoundException;
import org.apache.cassandra.thrift.TimedOutException;
import org.apache.cassandra.thrift.UnavailableException;
import org.apache.thrift.TException;
import org.apache.thrift.protocol.TBinaryProtocol;
import org.apache.thrift.protocol.TProtocol;
import org.apache.thrift.transport.TFramedTransport;
import org.apache.thrift.transport.TSocket;
import org.apache.thrift.transport.TTransport;
public class CassandraTest {
private TTransport framedTransport;
private Cassandra.Client client;
private String keyspace = "ggungs";
private String columnFamily = "friend";
// Cassandra에 연결 후 Client 저장
private void open() throws InvalidRequestException, TException {
this.framedTransport = new TFramedTransport(new TSocket("localhost", 9160));
TProtocol framedProtocol = new TBinaryProtocol(framedTransport);
this.client = new Cassandra.Client(framedProtocol);
framedTransport.open();
client.set_keyspace(keyspace);
}
private void close() {
framedTransport.close();
}
public void insert() throws InvalidRequestException, UnavailableException, TimedOutException, TException, NotFoundException {
byte[] Key = getUTF8("김동동");
long timestamp = System.currentTimeMillis();
ColumnParent cp = new ColumnParent(columnFamily);
Column c1 = new Column(ByteBuffer.wrap(getUTF8("주소")), ByteBuffer.wrap(getUTF8("서울")), timestamp);
Column c2 = new Column(ByteBuffer.wrap(getUTF8("핸드폰")), ByteBuffer.wrap(getUTF8("010-0000-0000")), timestamp);
client.insert(ByteBuffer.wrap(Key), cp, c1, ConsistencyLevel.ONE);
client.insert(ByteBuffer.wrap(Key), cp, c2, ConsistencyLevel.ONE);
}
public void get() throws InvalidRequestException, UnavailableException, TimedOutException, TException, NotFoundException {
byte[] userIDKey = getUTF8("김동동");
ColumnPath cPath = new ColumnPath(columnFamily);
cPath.setColumn(ByteBuffer.wrap(getUTF8("주소")));
ColumnOrSuperColumn cos = client.get(ByteBuffer.wrap(userIDKey), cPath, ConsistencyLevel.ONE);
Column col=cos.column;
System.out.println("Name : " + getString(col.getName()));
System.out.println("Value : " + getString(col.getValue()));
}
private byte[] getUTF8(String s) {
try {
return s.getBytes("utf-8");
} catch (UnsupportedEncodingException e) {
return null;
}
}
private String getString(byte[] b) {
try {
return new String(b, "utf-8");
} catch (UnsupportedEncodingException e) {
return null;
}
}
public static void main(String[] args) {
try {
CassandraTest ct = new CassandraTest();
ct.open();
ct.insert();
ct.get();
ct.close();
} catch(Exception e) {
e.printStackTrace();
}
}
}
잠시 이클립스를 켜서 본 결과 글을 보기에 아주 훌륭합니다.!! LED면 더좋을 텐데 ㅠㅠ CCFL이라 벌써부터 누래진 색을 볼까봐 걱정됩니다.
요즈음 IT기술의 발전에 플랫폼이 중심에 있고 이들간의 경쟁이 치열합니다. 대표적으로 모바일 분야에서는 Google의 Android와 Apple의 iOS, SNS(소셜네트워크서비스)에서는 Facebook의 F8, Google의 OpenSocial이 있습니다. 신문기사나 블로그들을 보면 이러한 각 분야의 플랫폼에 대한 글이 많은 수를 차지하고 있고 각 회사들도 많은 투자를 하며 그들만의 생태계를 늘려가려고 노력하고 있습니다.
컴퓨터에서의 플랫폼이란 하드웨어나 소프트웨어의 중간 계층으로 하부의 기술들을 쉽게 사용할 수 있도록 지원해 주는 기술들입니다. 많은 사용자들이 사용하는 OS(Operating System 즉 윈도우즈)역시 플랫폼입니다. 하드웨어와 소프트웨어의 중간에서 하드웨어의 복잡함을 숨기고 사용자들이 편리하게 이용할 수 있게 해주기 때문입니다. 이러한 의미에서 위에서 사례로 든 모바일, SNS 마찬가지로 모바일 기기, SNS서비스를 사용자들이 편리하게 사용할 수 있도록 하는데 있습니다. 요즈음은 소비자들의 기대가 높아져 더욱더 많은 기능을 요구하게 되었습니다.
사용자들은 특정 플랫폼을 선택하면 되지만 개발자의 입장은 다릅니다. 소프트웨어 개발자체가 진입장벽이 있는 편이고(없다고 생각하는건 정말 기본이 없는 프로그래머라고 생각합니다.) 날마다 새로운 기술이 쏟아지는 현장에서 모든 플랫폼을 마스터하는것은 불가능합니다. 어쩔수 없이 선택이 필요하고 그러한 선택은 보통 가장 유망한 혹은 인기있는 플랫폼을 선택하게 마련입니다. 혹여나 자신이 선택한 플랫폼이 시장에서 인기가 시들해지면 재빨리 다른 플랫폼의 학습을 하거나 혹은 퇴보를 받아들일 수 밖에 없습니다.
플랫폼을 제공하는 회사들은 플랫폼을 강화하는데 많은 노력을 하기 때문에 사용자들의 기대치를 모두 해결해 주지 못합니다. 그래서 그들은 플랫폼으로 개발자들을 모으고 그들에게 그러한 역할을 위임하였습니다. 그저 플랫폼을 제공한다고 해서 개발자들이 개발을 하는 것은 아닙니다. 플랫폼 제공회사들 또한 자신의 플랫폼이 매력적이고 상업적으로 성공할 수 있다고 끊임없이 광고, 세미나등 다양한 방법을 통해서 광고하고 지원을 하여 자신들만의 생태계를 늘리고 있습니다.
왜 이렇게 생태계를 늘리는 걸까요? 답은 간단하게 생각할 수 있습니다. 제가 좋아하는 스타워즈에 대해 말해보겠습니다. 저는 이러한 문화컨텐츠인 스타워즈도 하나의 플랫폼 이라고 생각합니다. 스타워즈영화, 만화등에 나오는 지금의 우리와는 다른 세계와 관객을 이어주기 때문입니다. 더욱이 관객들에게 재미를 선사도 합니다. 스타워즈의 예를 보면 스타워즈 세계관에 대한 플랫폼을 구축함으로 인해서 피규어, 게임, 만화, 영화등 수십만명의 팬을 거느리고 있으며 이러한 세계관을 만들어가는 것은 스타워즈를 처음생각한 조지루카스 혼자서는 불가능합니다. 그러기에 각 분야에 다양한 사람들이 스타워즈 소설을 적기도하고 만화를 그리기도 하고 있습니다.
이러한 예에서 볼때 플랫폼 업체들이 플랫폼을 무료로 공개하고 어마어마한 돈을 들이면서 플랫폼을 홍보하는 이유는 바로 스타워즈의 피규어와 같은 부가 이익 입니다. 물론 각 회사마다의 목표는 다르겠지만 공통된 목표는 바로 사용자들의 증가입니다. 이러한 사용자들의 증가를 플랫폼업체들도 노력하지만 플랫폼을 개발하는 개발자들 또한 그들의 목표에 지대한 영향을 미치게 됩니다.
하지만 플랫폼을 단지 사용만 해서는 절대 그들의 손에서 벗어날 수가 없습니다. 주도권은 플랫폼 제공업체가 가지고 있습니다. 당장에라도 Android를 Google이 포기한다면?? iPhone AppStore이 개인이 아닌 기업만 개발에 참여할 수 있도록 한다면?? 개발자들은 또 다른 플랫폼을 향해가고 또 다른 플랫폼에 종속적이 될 뿐입니다. 어떻게 보면 영원히 벗어날 수 없는 족쇄라고 할까요? 단지 족쇄가 바뀔뿐 정말로 자유로울 수는 없을 것 같습니다.
플랫폼을 직접 만들어 보면 어떨까요? 외국에 비해 앞서 설명한 플랫폼이 정말 부족한 우리나라에 삼성전자는 바다 라는 모바일 플랫폼을 선보였습니다. 아직까지 반응은 솔직히 좋지 못하더군요. 삼성전자는 바다 무료교육을 하는거 같기는 하지만 그것으로는 많이 부족한 것 같습니다. 제2의 Android, 제2의 바다를 위해 창의적으로 직접 플랫폼을 개발하는 개발자가 되고 싶습니다. 왜냐하면 저는 자유롭고 싶으니까요.
구글 Chrome to Phone : http://techjun.com/1258
: http://code.google.com/p/chrometophone/
Chrome to Phone 2.0이 몇일전 정식으로 마켓에 등록되었습니다.
아직 한국 마켓에서 보이지 않아 우회해서 (My Market등 사용) 다운받아야 합니다.
사용해보니 웹브라우저상에 있는 다양한 정보들을 별도의 수고 없이 바로 핸드폰으로 보낼 수 있다는 점이
굉장히 편리했습니다. 예전같으면 필요한 정보를 똑같이 핸드폰에 타이핑하거나, 파일로 만들어서 핸드폰에 복사하거나
하는 불편함이 있었는데 Chrome to Phone 을 사용하면 간단하게 핸드폰으로 정보를 push 가능합니다.
다음과 같은기능을 지원합니다.
이 같은 서비스를 하기 위하여 2.2 Froyo부터 추가된 C2DM(Cloud to Device Messaging) Service를 사용합니다.
http://android-developers.blogspot.com/2010/08/powering-chrome-to-phone-with-android.html
http://code.google.com/android/c2dm/index.html
구글의 AppEngine을 사용하여 다양한 Push서비스를 만들 수 있으리라고 생각합니다.
이를 이용한 하나의 오픈소스를 찾았는데요.
바로 Push Contacts 입니다.
http://github.com/macbuntu/Push-Contacts
안드로이드 어플리케이션, Appengine, 크롬 익스텐션 소스코드가 모두 공개되어있습니다.
아직 C2DM을 개발에 사용하기 위해서는 등록해야하고 기간도 오래걸린다고 하지만 ( 아무래도 푸쉬 서비스다 보니 무분별하게 사용됨을 방지하기 위해서 인거같습니다.) 무궁무진하게 쓰임세가 많을것 같습니다.