위키 페이지를 정리하기 시작했다. 이예!!!!
아직 API 가 정리되진 않았지만 그렇게 어려워보이는 부분은 없어보인다. 🙂
위키 페이지를 정리하기 시작했다. 이예!!!!
아직 API 가 정리되진 않았지만 그렇게 어려워보이는 부분은 없어보인다. 🙂
스타트업은 목표가 있습니다. 창업자의 내부 자본으로 투자한 스타트업이거나, 외부 투자자의 자본으로 출발한 스타트업 모두 ‘최소한’ 유무형의 투자금을 회수해야 합니다. 회수하는 방법에는 2가지가 있습니다.
IPO : 주식을 상장하고 불특정 다수에게 회사 지분을 매각하여 투자자금을 회수하는 방법입니다. 야후, 구글, 페이스북 같은 사례가 있습니다.
지분 매각 : 다른 투자자나 기업에 투자자가 소유한 전체 혹은 일부 지분을 매각하여 인수 합병되는 것입니다. 구글에게 매각된 유튜브, 안드로이드 등 같은 사례가 있습니다.
두가지 경우 모두 지분매각이라는 점에서는 동일합니다. 추가적으로 꾸준히 수익을 내면서 기업을 유지할 수 도 있지만, 투자금 회수에 많은 시간이 걸리는 만큼 위험도가 높아서 투자자의 입장에서 선호하는 방향이 아니라고 볼 수 있습니다.
통계적인 자료는 아닙니다만 제가 아는 대부분의 개발자들은 다양한 꿈을 가지고 있습니다. 이 꿈들을 일반화 해보면 2가지로 압축 됩니다. 하나는 창업하여 특정 제품, 돈, 명예를 얻거나 이것으로 오픈소스 활동이나 컴퓨터 과학/공학 분야에서 원하는 분야 예컨데 인공지능/오토드라이브/파일럿 등을 연구하고 싶어합니다. 이 꿈들을 위해서는 ‘실력, 자금’이 필요하고 리스크에 대한 부담이 있습다.
‘진격의 개발자’에 대한 기준이 저마다 다르겠지만 일단 이렇게 기준을 세워보겠습니다. 기본적인 SW공학에 대한 지식을 갖추고, 회사가 원하는 개발 지식 도메인을 갖추고 주도적으로 소프트웨어를 개발할 수 있는 정도로 보겠습니다.
소수로 구성되는 스트타업이니 젊은 CTO급 ‘팔방미인’이 필요합니다. 5인 1년 이하의 소규모 프로젝트에서 ‘주도적으로’ 계획+분석+설계+구현+테스트+주력 개발 언어+프레임워크+기타 도구로 개발 할 수 있는 정도로 잡았습니다. 일단 소프트웨어 공학 기초과정(대학) 4년 + 주력 도메인 실무 경력 5년 정도 모두 9년 정도로 잡아 보겠습니다. (경험치가 높다고하여 ‘반드시’ 레벨이 높은것은 아닙니다만. 4+5년도 부족합니다만… 똑똑한 1% 니까…)
이쯤에서 ‘진격의 개발자’들이 당신의 스타트업에 조인하지 않는 두번째 이유를 알 수 있습니다.
지분을 받고 참여하는 ‘모험형 진격의 개발자’는 까다롭습니다. 파운더의 비지니스 모델이나 파운더들에게서 문제가 있어 보이면 참여하지 않습니다.
이 나쁜(?) 파운더는 높은 연봉을 주고서라도 ‘생계형 개발자’를 채용할 수 밖에 없습니다. ‘생계형 개발자’는 가정에 생활비를 꾸준히 투척해 주어야 합니다. 이 ‘생계형 개발자’가 ‘생계형 진격의 개발자’이면 당신의 스타트업에 대한 평가 능력도 가지고 있죠. 당신의 비지니스 모델과 당신의 능력/자질/성품에 대한 평가를 할 것입니다. 당신의 스타트업의 비지니스 모델에 의구심이 있고, 당신의 능력이나 인성에 대해 나쁜 평가가 나오면 어떤 선택을 하게 될까요?
벤처캐피탈, 엔젤투자자만이 스타트업 파운더들을 평가하는 것이 아닙니다. 스타트업에 참여하는 개발자들도 파운더들을 평가 합니다. 자신의 기회를 버리고 노력을 투자하는 거니까요. 뛰어난 개발자일 수록 다방면으로 당신이라는 사람과 당신의 비지니스 목표를 꼼꼼하게 평가 합니다.
개발자가 당신의 스타트업의 지분을 바라지 않고, 단지 높은 연봉을 기대하고 참여하고 있다면 애초에 당신이나 당신의 계획에 문제가 있는 것입니다.
기업의 비지니스의 성공 여부는 CEO의 영향이 가장 큽니다. 피고용인이 100점이어도 CEO가 50점이면 그 피고용인은 50점의 역량으로 제한되어 버립니다. A급 인재는 A급 CEO를 알아봅니다. D급 CEO와 D급 개발자는 서로 D급임을 알아보지 못합니다. 어쩌다 D급 CEO가 ‘생계형 A급 인재’을 채용할 수도 있지만 그 인재는 D급 역량밖에 발휘하지 못합니다.
이제 겨우 슬슬 전체적인 그림이 잡혀가는 것 같다.
머릿속으로만 구상했던 개발 컨셉과 동작 방식들을 직접 구현해가면서 나타나는 컨셉 오류들과 함수명 짓는것이 제일 힘들었다.
아무튼.. 늦었지만 대략적인 olive-0.0.1 버전을 위한 단계별 목표를 세워보았다.
Stage1 : 고객 Dialing, 대기 상담원 연결, 결과 처리
– 가장 기본적인 Predictive 방식만을 적용한다. 현재 캠페인에 할당되어 있는 대기중인 상담원만을 기준으로 발신을 시도하고 연결한다.
Stage2 : API
– RESTful API 를 구현한다.
– 캠페인의 생성/변경/삭제, 상담원 생성/변경/삭제, 전략 생성/변경/삭제 까지를 목표로 한다.
Stage3 : Packaging and documentation.
– olive 설치와 사용을 위한 Makefile, 문서화를 한다.
– olive 발신의 컨셉에 대한 충분한 설명을 목표로 한다.
이것이 상식에 의거하는 IT 개발자의 생활입니다.
1. 프로젝트가 떨어졌다. 프로젝트는 콜센터 상담원용, 그리고 관리자용 어플리케이션이며,
녹취서버와 CTI 서버, 그리고 교환기와 연동해야 한다.
녹취서버로부터 녹취를 하되. 통화마다 파일이 생성되야하고, 추후 파일을 들을수 있어야 한다. ( WEB 에서 )
CTI 서버로 부터 상담원으로부터 콜이 인입되게되면, 인입된 전화번호를 근거로 디비로부터 고객테이블을 검색하게되고
자동으로 데이터를 상담원에게 보여줄수 있어야 한다.
교환기로부터 생성된 로그를 통하여 통계수치를 산정하여, 관리자 어플리케이션에서 보여줄수 있어야 하며
CTI 서버의 전략을 관리자가 손쉽게 변경할수 있는 인터페이스가 필요하다.
본 프로젝트의 디비는 삼X화재의 디비고, 이 디비를 일배치 작업으로 현X해상으로 넣어줘야 한다.
2. 이 프로젝트를 기한 2개월을 줬다. 인원은 나까지 3명이다. SE한명 개발자 2명이다.
우리 PM은 할수있지?를 연발하며 조기퇴근했다. 난 PM에게 이메일을 보낸다.
각 프로세스별로 일정을 꾸며서 도저히 안되며 기본적인 개발기간 5개월 QA 및 안정화 기간 포함 1개월을 더 달라고 했다.
PM이 다음날 얼굴이 벌게져서 올라왔다. 첫마디가 ” 미친거 아냐? “였다.
딱 한마디 했다 ” 모든 내용은 이메일로 하도록 하겠습니다 ”
그래서 메일이 왔다. 내가 보낸 프로세스를 전부 1/3 씩 줄였다. 이렇게 하라는 것이다.
그래서 다시 메일을 보냈다. 1/3 씩 줄여서 하루 업무시간 9시간을 근거로 다시 스케쥴링을 해달라고 했다.
3. 다시 PM이 얼굴이 벌게져서 올라왔다. ” 알긴아는데… 이건 꼭 해야 하는것이니, 고생스럽더라도 해달라 “였다.
난 다시 말했다 ” 모든 내용은 이메일을 통하여 통보하십시오” PM이 잡설이 늘어지며 설득하려 했으나,
난 다시 이메일을 보냈다. ” 주신 메일을 검토하였으나, 업무시간에 마춰서도 도저히 맞추지 못할 내용이니
재 검토를 바란다 “라는 내용이었다.
그러더니 개인 메일로 내용이 왔다. ” 계속 이따위로 하면 짤릴수도 있으니 알아서 기어라 “라는 내용이었다.
훗…그냥 웃어줬다.
4. 난 그날부터 내 6개월짜리 스케쥴에 맞춰서 근무를 하기 시작했고 이 내용을 취합하여 고객과 PM 그리고 영업이사,
운영이사, 사장님께 보냈다. 추신을 붙였다 ” 일이 너무 과중하오니, 추가 인원을 주시거나, 프로젝트 일정을 늘려주십시오 ”
했다. 그럤더니 , PM 이 올라와서 나보고 ” 오늘부터 야근을 해서라도 일정을 맞추라 “고 명령한다.
5. 그래서 한마디 했다. ” 야근 명령부를 주십시오 ” 했더니 PM이 ” 야근 명령부가 뭔지 모르니 일단 야근 하라 “라고 한다.
난 오후 6시까지 열심히 일하고 나서 , 퇴근했다.
6. 다음날 출근했더니 PM이 ” 내말이 말같지 않나? 왜 퇴근했나? ” 내가 ” 야근 명령부를 주지 않으셔서 야근 안해도 되는지
알았습니다 ” 했다. 그러더니 PM이 어디서 찾았는지 모르겠지만 오늘 점심먹고 나서 야근 명령부를 보내준다.
그날 밤 10시 반까지 신나게 야근을 했다. 나름 오랜만에 야근인지라 재미도 있었다.
7. 다음날이 됬는데 점심먹고 나서 야근 명령부가 오지 않는다. 6시 되서 퇴근했다.
8. 다음날 PM이 얼굴 벌게져서 어제는 왜 야근 안했냐고 한다. 당연히 야근 명령부가 없기때문에 안했다고 했다.
9 . PM이 이번 휴일 반납하고 일정이 조급하니 출근하라고 한다. ” 휴일 근무 명령부를 주십시오 “라고 했다.
PM이 어이없어 하면서 작성해서 준다. 안나올까봐…
10 . 한달이 지났다. 야근 16일 휴일 5일 근무했다. 월급을 받았는데 2개월치 월급이 나왔다.
11. PM에게 메일을 보냈다. 연속되는 강행군으로 개발이 진척이 안된다. 휴식이필요함으로 연차를 쓰겠다고 했다.
또한 이번 휴일엔 야근 명령부를 주시더라도 개인 사정으로 인해 근무가 불가능하다는 메일을 보내고,
전자 결재를 냈지만, 되돌아왔다.
12. PM이 말한다. 팀워크에 대해 한참을 떠든다. 팀을 위해서 내 몸을 축내서 일하란 것인가?라고 물었다.
가정사 및 애인사까지 팀워크를 위해서 내놔야 하는것인가? 내 삶을 내놓고 팀워크를 따져야 하는가? 라고 되물었다
PM이 말한다. 꼭 그렇게 까지 해야 한다면, 팀워크가 맞지 않아서 퇴사를 권고할수 밖에 없다고 한다.
13. 감사합니다. 라고 말했다.
14. 월요일 출근하니, 메일함에 퇴사 권고 메일이 왔다.
15. PM이 와서 짤렸으니 오늘부터 안와도 된다고 한다. 감사하다고 말하고, 나왔다.
16. 회사 인사부에 메일을 보냈다 짤렸으니, 3개월치 월급을 주셔야 하며, 퇴직금과 소득공제까지 계산하셔서
다음달 월급통장에 넣어주셔야 하며, 이 사항이 조취되지 않으면 바로 노동부에 제소하도록 하겠다고 덧붙였다.
지금? 전 회사보다 상식이 통하는 회사에 와서 즐겁게 일하고 있다.
PM도 좋은분이고 실력이 있으시며, 회사도 이름이 있고 튼실하다.
1년중에 휴일근무는 하루 이틀쯤 특이한 사항때메 있고, 야근은 한달에 한번 있을까 말까 한다.
전에 회사에서 3개월치 월급과 퇴직금 그리고 소득공제가 들어왔다.
1년 좀 넘게 근무했는데 돈 천만원쯤 되는거 같다.
스노우보드를 사고, 페러글라이딩 장비구입이랑 연회비 , 그리고 옷 몇벌 사고 나도
5백만원이 남아서 은행에 예치해 놨다.
17. 전 회사에서 연락이 온다. ” 자바 프레임워크와 Flex 프레임워크 버젼이 뭔지 모르겠다. 알려달라 . 인수인계가
없어서 개발에 난항이 있다. ” 다급해 보인다.
18. ” 잠시 와서 봐주면 안되겠냐 ” 난 ” 업무중이니 메일을 달라 “고 하고 끊었다.
19. 메일이 왔다. 핵심 코어 프로세스가 어디에 있는지 모르겠고, 어떤 버젼을 쓰는지 모르겠는데. SVN의 레파지토리에
문제가 생긴모양이다
20. ” 가는건 가능하다. 하지만 코어 프로세스를 재 개발해야 하고. 나역시 Version 테스트 하는데 공수가 들어가니
약 400 만원 정도가 소요될거 같다. 지출 증빙 가능하니 결제 완료되면 연락을 달라고 했다 ”
21. PM이 욱한다. 전화를 끊었다.
22. 다음날 400 만원이 입금되었다. 그날밤에 와달란다. 난 후배와 술약속이 있다.
23. ” 개인 사정에 의해 당일은 어렵고 익일날 가능하면 가주도록 하겠다 그게 안된다면 400만원은 다시 돌려주겠다 ”
24. 다음날 와달란다.
25. 코어 파일 몇개를 웹로직에 던져넣고 버젼 파일 몇개 던져놨다.
26. 서비스 재 기동했다. 잘 도는거 같다. log 파일이 깨끗하다.
27. 들어간지 30분만에 확인시켜주고 나왔다. PM 이 말한다. ” 지금 어디서 근무하냐? 놀고 있음 다른곳 추천좀 해줄까? “한다.
28. 생각해 보겠다고 하고 나온다.
내 행동에 잘못된 부분이 있을까….곱 씹는다.
( 본글은 제가 경험한 그대로를 적습니다. 추가 내용이 있는데 너무 내용이 과격하여 정비후 올리도록 하겠습니다 )
출처 : http://cafe.naver.com/javachobostudy.cafe?iframe_url=/ArticleRead.nhn?articleid=41814