RSS

월간 보관물: 4월 2012

독립 프로그래머

내가 꿈꾸는 프로그래머로의 삶은 “홀로서기”이다. 어느 회사의 팀장이 아닌 내 회사의 사장을 꿈꾼다. 스스로에게 월급을 주는 그런 삶을 준비한다.

하지만, 내가 왜 아직도 회사에 다니고 있는 지 생각해보면, 관습의 영향과 현실의 경제적 필요때문으로 압축된다, 프로그래머라는 직업이 회사에 속해서 일하는 것이 일반적이란 고정관념이 있다. 전산과를 졸업한 후 의례 좋은 회사에 취업해서 거기의 잘 갖춰진 시스템(막상 회사에 속하면 시스템의 문제를 발견하고 치를 떨게된다)을 이용해서 내 꿈을 실현한다는 생각이 창업에 대한 생각을 접게 만들었다. 매월 통장에 찍히는 월급만큼의 보장된(사실 이것만큼 불안한 것도 없는데) 수입을 낼 수 있을 것인지에 대해 자신있게 대답할 수 없기 때문에 사표를 품고 있지만 내밀기 힘든 이유이다.

그러면 현실적으로 내가 자영업자로서 독립하기 위해서는 프로그래머로서 생태시스템의 변화를 관찰하고 그 속에서 기회를 엿봐야 할 것이다. 다음과 같은 것들이다.

1. 최근 붐이 일고 있는 클라우드와 앱스의 눈부신 발전상은 이런 독립 프로그래머들에게 고무적이다. 예전에는 인프라를 담당하던 부서가 해줘야만 했던 일을 클라우드업체가 자동화해주고 있어 프로그래머는 비교적 손쉽게 국제적 서비스가 가능한 서버를 소유할 수 있게 된 것이다. 앱스토어의 발전으로 개인이 자신이 짠 프로그램을 판매할 수있는 시장을 열어줬으며 그 시장은 나름 공평해서 대기업과 개인 개발자사이의 갭을 많이 줄여놓았다.

2. 아울러, 오픈소스 운동이 열매맺어, 회사에 속한 프로그래머가 회사의 소스를 이용해서 완성도 높은 결과를 얻는 것 이상으로 커뮤니티에서 수준 높은 코드를 활용가능하기 때문에 경쟁에서 밀리지 않는 구조로 변화하고 있다.

3. Cross functional 역량의 강화로 더이상 단말개발자, 서버개발자의 구분이 없어졌기 때문이다. 수준 높은 서버사이드 기술들이 공개되고, 앱스토어에 앱을 올리는 것도 일반인들에게도 가능해졌으니 프로그래머들에겐 말해선 무엇하겠는가? 모든 기술은 공개되어 있기에 검색만으로도 어떻게 입문하면 될 지 친절하게 설명한다. 심지어 유명학교의 강좌조차 통채로 열려있으니, 영어만 되다면 얼마든지 cross-function를 습득할 수 있게 되었다.

위에 언급한 세가지 트랜드는 가속될 것으로 보인다. 불확실의 시기에는 적은 비용으로 실행하고 시장에서 평가받는 시스템이 더 효율적이라고 믿는다. 결국 개인의 창의적인 아이디어와 그걸 구현할 기술만 남게 될 것이다. 이렇다면, 프로그래머가 회사에 속해서 일할 필요가 있을까?

이 맥락에서 6-200 프로젝트를 시작한다. 6개월 후, 변화된 모습을 기대해본다.

끝.

Advertisements
 
댓글 2개

게시자: 켬 2012년 4월 30일 in Uncategorized

 

태그:

개인적으로 느끼는 git의 장점. “remote repository 변경이 참 쉽다”

우리 회사는 입사 당시에 subversion도 제대로 정착되지 못했던 회사였습니다. 단말부서의 코드는 개발자의 하드디스크가 저장소였으며, 여러 카피 중에 뭐가 최신인지 알아내기 위해서 한참을 들여야 봐야만 하는, 지금에 돌이켜 생각해보면 혼돈 그 자체였던 시기였죠.

그러다가 SVN을 야금야금 쓰기 시작했고, 내가 참여한 프로젝트에서는 시작부터 사용했기에 만 2년이 지난 코드도 변경이력이 남아있어 유용할 때가 잦습니다. branches, tags를 활용하며 나름 익숙해졌을 무렵. git이 다가왔습니다.

회사의 몇몇 개발자들이 쓰고 있다는 정도로만 여겨졌던 git을 제 개인 프로젝트에 몇 차례 적용해 보았습니다. 아무래도 혼자서 쓰다 보니, git commit -a -m “이거 이거 고침” 정도로 svn에 비해 장점을 못 느끼겠더라고요. 그런데 최근에 유용하게 생각되는 것 하나는 “remote repository를 쉽게 바꿀 수 있다는 점”이에요. distributed scm의 장점이 여기서도 드러나는 것이겠지만, 개인적으론 참 맘에 드네요.

가령, github에서 오픈 소스로 하다가, bitbucket으로 보내서 private 작업하는데 한 줄의 명령으로 가능하다는 점이 개발하는 과정에서 대단히 유용합니다.

오픈 소스를 fork해서 개선한 다음 pull request를 보내는 과정이 social coding의 참맛을 알게 해준다는데, 아직은 경험해보지 못하였기에 그건 다음에 적어보도록 하겠습니다.

이미지

 
댓글 남기기

게시자: 켬 2012년 4월 23일 in Uncategorized

 

태그: , , ,

네이티브 개발자가 바라본 앱스프레소(Appspresso) – 1

최근에 개인적으로 만들어본 ESM(경험표집방법론) client을 안드로이드 플랫폼으로 확장시켜볼 요량으로 주말에 반나절동안 하이브리드 앱 개발환경 앱스프레소(Appspress)로 개발한다는 것이 뭔지 심각하게 들여다 봤습니다. 느낀 점을 몇가지 적어봅니다.

  1. 이 기술의 핵심은 “웹 개발 기술 (html, javascript, css)”을 가지고, 네이티브 앱의 DeviceAPI를 사용할 수 있도록 해준다는 것입니다. 거기에서 하이브리드 앱이라는 명칭이 나오게 된 것이죠.
  2. 네이티브 개발자(obj-c, iOS)로서 javascript기반의 UI와 메시지처리에 대한 이해가 선행되지 않고는 앱스프레소를 제대로 쓰기 힘들 것입니다.
  3. 아울러, javascript에 대한 디버깅도 단순히 log에 의존해야 하는 문제가 있었습니다. webview에서는 아직 web inspector같은 디버깅 환경을 제공하지 않기에 개발이 어렵겠습니다.
  4. 네이티브를 개발하는 사람들은 자신의 네이티브 개발 기술을 적용할 수 없게 되어 그닥 매력적이지 않을 것 같습니다.
  5. 앱스프레소의 타겟은 모바일 웹앱 개발자가 1차 수혜자(?)가 될 것 같고 모바일 웹 기술을 배워보려는 의지가 있는 그룹이 2차가 될 것 같네요.

약간 비관적으로 바라보게 되었는데요. 앱스프레소를 몇 주 더 익히면서 입장의 변화가 생길런지는 모르겠습니다. 조심스럽게 연재를 약속드리며 글을 맺습니다.

<>< 최피디

이미지

 
댓글 남기기

게시자: 켬 2012년 4월 21일 in Uncategorized

 

태그: ,

만들고 싶은 앱 하나 – procedures

모든 사람에게는 리스트(list)라는 자료구조가 있습니다. 부지불식간에 우리는 목록을 만들고 있고 그걸 관리하면서 살아가는데요. 기억하기 위해서 할 일 목록을 적어서 관리하고, 필요하면 공유하게 되지요.

요리의 요리법과 재료 역시 리스트며, 냉장고에 코끼리를 넣는 방법 역시 리스트입니다. 사실 대부분의 ‘방법’은 리스트로 표시됩니다. 모든 설명서가 그렇고요.

프로그래밍이란 것도 이런 명령어들을 나열하는 행위지요. 심지어 몹시 어렵고 복잡한, 가령 NASA에서 우주왕복선을 띄우기 위한 기술도 수백만 가지의 리스트에서 조합되어 나온 것이라 볼 수 있겠죠.

단순히 시홍스차오찌단을 요리하는 방법부터, 수학문제를 풀이하는 방법, 아이를 양육하는 방법, 달나라 여행하는 방법, 천국에 가는 방법…. 등등 여러 가지 리스트가 모여 있는 클라우드가 있다면, 그것을 모듈화하여 연결하고 배치하여 여러 가지 실제 문제를 해결하는 데 도움을 얻을 수 있다면 유용한 서비스가 되지 않을까요?

네이버의 지식인, quora나 reddit 같은 곳에서의 Q&A가 1차원적인 욕구에서 출발한 것이라면, 제가 만들고자 하는 이 리스트 자료구조에 기반을 둔 서비스는 “조립 가능한 지식”이라는 새로운 개념에 그 뿌리를 두고 있다고 생각합니다.

그럼 이 지식을 어떻게 조립할 수 있을까요? 간단합니다.

매우 고차원의 프로그래밍이라고 보시면 됩니다. 내가 가진 리스트를 다른 사람의 리스트로 parameter로 전달하고, 그 결과물을 되돌려받습니다. 그 되돌려 받은 결과물을 내 리스트에서 활용합니다.

이 리스트는 또 분산처리도 가능합니다. 예를 들어서 ‘인도여행’이란 프로젝트를 진행하려고 합니다. 인도에 사는 이 서비스를 사용하는 사람에게 리스트를 넘겨줘서 그 업무를 미리 처리해달라고 요청할 수 있습니다. 모든 것은 처리비용이 필요하겠지요.

이런 앱 만들면 재밌을까요?

최 피디 🙂

 
댓글 남기기

게시자: 켬 2012년 4월 20일 in Uncategorized