Disqus for rellat

릴랏 미팅 후기: 신세계를 찾아서



2월 17일에 있었던 릴랏 미팅에서 나누었던 대화 중에 의미 있는 것들을 간추려서 글로 써보았어요. 이 글은 대화 녹음 자료를 기반으로 한 것이에요. 대화 녹음을 텍스트로 변환하는 데에는 구글 음성 입력을 사용했어요. 변환 과정을 여기에 기록해 두었으니 참고하세요.



한국 IT 업계가 앞으로 더 나아지는 방법은 무엇일까요?

먼저 이 주제로 질문을 하셨어요. 한국 IT 업계, 소프트웨어 업계가 좀 힘들어요. "잘해봐야 치킨집이다."하는 비관적인 사고방식이 있어요 그래서 한국이 어떻게 이지경이 되었는지 살펴보고 그러면 우리는 앞으로 어떻게 살아야 하는지 정리해 보았어요.


"그러나 치킨집도 위험해요.."


한국 IT 업계의 가장 중요한 문제는 이것이다

한 마디로 정리해서 한국의 뿌리깊은 "부패 문제" 때문이에요. 한국 사람들이 능력이 모자라서가 아니에요. 이것은 저 이기준과 이기환님이 업계에서 일하면서 차분히 관찰을 해보고 내린 결론이에요. 성급하게 겉모습만 보고 지래짐작해서 생각한 아니구요. 업계에서 일하던 사람으로서 실제로 비리가 이루어지는 현장을 목격하고, 얼마나 심한 낭비와 속임수가 일어나는지 보고 판단을 내린 것이에요. 이게 실제 현실이라는 말이에요. 짐작이나 추측이 아니라 진짜 현실이요.




한국은 100억 원으로 개발을 하면 그 돈을 다 개발에 안 써요. 중간에 80억은 하청에 하청을 10단계 정도 거치면서 부정 부패 자금으로 상납되죠. 그러면 남은 20억 원으로 100억 원에 하기로 한 사업을 다 만들어 내야 되요. 그러니까 개발자 임금을 후려치면서 프로젝트를 진행하게 되죠. 그러는 과정에서 능력 있는 개발자는 임금을 많이 줘야 되니까 명예 퇴직이다 자발적 퇴직이다 해서 이 판을 떠나버렸어요. 그게 개발자가 퇴직하고 나서 치킨집 차린다는 얘기구요. 그래서 경력 1, 2년 밖에 안되는 개발자가 자기가 감당할 수 없는 일을 떠맡고 코딩을 하다보니 소스가 너덜너덜하게 되요. 그러다가 한 번씩 퍼져서 대형 사고가 일어나는 거구요.


그러면 부패 문제란 무엇인가요? 혈연, 학연, 지연, 즉 친목을 기반으로 끼리끼리 해먹는 짓이에요. 구체적으로 말해서 뇌물을 주고 사업 권한을 받아 먹는 거죠. 하다못해 인터넷 게시판도 내부에서 친목질 하면 망하잖아요. 끼리끼리 해먹는다는 것이 무엇인가요? 일의 목적을 성공적으로 달성하려고 프로젝트를 하는 것이 아니고 일을 실패해도 좋으니까 나와 친목관계에 있는 사람에게 뇌물을 받고 이득을 몰아주는 행동을 하는 것이에요. 더 쉽게 말해서 공정한 경쟁을 하지 않는 것이에요. 부정 부패 행위란 뒷돈을 주고, 뇌물을 주고 거기에 대해서 댓가로 이득을 얻는 모든 활동이에요.




한국의 소프트웨어 시장은 주로 정부 발주와 대기업 SI로 이루어지는데요. 전부 이 부패 문제가 관련되어 있어요. 액티브엑스와 공인인증서를 봐요. 이것들은 그냥 좀 잘못 만든 프로그램이 아니에요. 이것들은 해킹이나 장애 때문에 고객에게 피해가 생겼을 때 회사가 책임을 면피하는 역할을 해요. 아주 잘못된 것이죠. 그냥 설계한 사람과 코드를 짠 사람이 잘못해서 이렇게 된 것이 아니라요. 처음부터 이렇게 책임을 회피하는 장치로 의도적으로 기획된 것이라는 말이에요. 국민을 속이려는 사악한 의도가 있었다는 말이죠.


제가 예를 들어 볼게요. 미국은 금융회사가 실수를 하면 그 피해를 전부 금융회사가 책임져요. 고객이 신용카드 번호를 해킹당해서 사기 결제가 일어나면 책임을 카드 회사가 지고 보상을 해줘요. 한국은 금융회사가 실수를 하면 그 피해를 전부 고객이 부담해요. 어? 이상하죠? 왜 한국만 그럴까요? 한국 회사는 피해가 발생하면 고객이 자신의 개인정보 관리를 제대로 못해서 그런 거라고 맞받아쳐요. 그 근거로 고객의 컴퓨터와 USB 저장장치에 액티브엑스와 공인인증서가 깔려 있었는데 고객이 그걸 관리를 못해서 비밀정보가 유출되었다고 하죠. 법원은 그런 회사들의 주장을 인정해 주고요. 이렇게 이것들이 고객을 보호하려고 만든 장치가 아니고 금융기업들의 책임을 회피하려고 만든 장치라는 거에요. 이 사기꾼들이 처음부터 판을 이렇게 짠 거죠.




아니? 그러면 처음부터 왜 이렇게 잘못된 기획을 했던 거죠? 그건 부패한 금융 회사, 소프트웨어 개발 회사, 보안 회사들이 자기가 져야 할 책임을 지고 싶지 않아서 그렇게 한거죠. 그 과정에서 그것을 용인해 준 부패한 고위 공무원이 있었구요. 제가 얘기하려는 것은 우리가 이렇게 사기를 당할 수 밖에 없는 구조에서 살고 있다는 거에요. 사고가 나면 소비자와 국민이 다 뒤집어 쓰고, 국민들이 낸 세금은 고위 공무원과 재벌들이 담합해서 부패 행위로 해먹는 거에요.


사회 진보의 관점에서 보면 어떻게 생각해야 할까요?

사회가 발전한다는 것은 무슨 뜻일까요? 그것은 비교적 더 나은 정보처리를 하는 사람들이 기존의 부패한 사람들을 밀어내서 권력교체가 일어나는 것이에요. 이것이 자연스럽게 사회가 발전하는 흐름이고 시대정신이 구현되는 것이죠. 쉽게 말해서 더 똑똑하게 일을 잘하는 사람들이 일은 하지도 못하면서 친목으로 부정 부패하는 사람들을 밀어내는 것이 사회의 진보라는 말이에요. 진보라는 것은 그냥 "좋게좋게 잘하자."는 허울만 좋은 구호가 아니라 이렇게 실제로 작동하는 방식이 있어요.


그러나 우리나라는 그게 지금 잘 안되고 있어요. 한국은 신진 세력이 더 나은 방법으로 과거의 단점이었던 문제를 해결하는 것이 아니라 과거에 부패한 사람들이 하던 나쁜 짓을 똑같이 따라해요. 그러면 사회가 새로운 기술과 발명으로 진보하는 것이 아니라 신기술을 사용해서 더 부정 부패를 잘하는 방향으로 가게 되요. 신기술을 사용해서, 기상천외한 방법으로 참신한 부정 부패를 하는 거죠. 우리가 최근 몇 년 동안 "창조경제"라는 이름으로 거기에 당했었죠.


"이 말이 창조적으로 부정 부패를 해먹겠다는 말이었을 줄은.."


넥슨 김정주 뇌물 혐의 사건 보셨어요? 저는 그것을 보고 충격을 받았어요. 더욱 충격적인 것은 수백억 원의 돈을 주고 넥슨과 김정주가 혜택을 받은 것은 사실인데 뇌물 혐의를 입증할 수 없었다고 하면서 1심 결과가 무죄로 나오더군요. 이러면 재벌들이 하는 부패 행위, 법조 비리와 다른 점이 무엇인가요? 이 사건으로 알 수 있는 것은 국가의 시스템이 썩어버렸다는 것이에요. 수많은 사람들이 친목으로 짝짜꿍해서 한 탕 해먹어 보려고 눈이 벌개져서 돌아다니는 사회가 된 것이죠. 새로운 산업에서 성공한 사람들이 과거의 부정 부패를 답습하게 된 거에요.


넥슨 김정주


최근 이슈가 되었던 넷마블의 살인적인 근무시간을 보세요. 예전 섬유산업이 발전할 때 구로공단에서 일하던 근로자들과  지금 구로디지털 단지의 IT회사에서 일하는 근로자들의 처지가 달라진 점이 없다는 얘기가 나와요. 물론 돈은 그때 섬유 노동자와 비교해서 몇 배로 더 받고 있지요. 그러나 우리는 정말 과거보다 나아진 것일까요? 2017년 현재 소프트웨어 개발자는 사람 대접 받고 있나요? 저는 아니라고 생각하거든요.
야근 안 시킨다더니 뒤에서는 이러더라구요.


이게 현실이에요. 현실을 있는 그대로 인정하자구요. 지나치게 미워하지도 말고 지나치게 미화하지도 말아요. 중요한 점은 저는 그렇게 살기 싫다는 거에요. 나는 다르게 살고 싶다는 마음가짐이 중요해요. 그것은 온전히 나의 자유이기 때문이에요. 그리고 이 글을 읽는 님들도 그렇게 할 수 있어요.


제가 이 글을 쓰는 동안에 박근혜 탄핵이 인용되고 파면이 이루어졌어요. 이제 새로운 정부를 만들어야죠. 그것도 좋은 생각이에요. 저는 투표 꼬박꼬박 해요. 미국에서 한국에 들어오고 나가는 일정을 투표일에 맞추어서 조정해요. 제 입장에서 조금이라도 더 나은 사람, 덜 부패한 사람을 뽑으려고 노력해요. 그러나 명심해야 할 부분이 있어요. 그렇게 정부를 새롭게 바꾸어도 그 정부가 정책을 실행해서 성과가 나오려면 오랜 시간이 걸린다는 사실이에요. 정책을 기획하고, 토론하고, 표결을 하고, 최종적으로는 실행해서 성과가 나오려면 최소 3년, 평균 5년, 장기적으로는 10년에서 20년이 걸려요. 이것이 현실에서 일이 일어나는 과정이에요.


그래서 최선을 다해서 투표를 하되, 거기에 너무 큰 기대심을 갖지 말아야 해요. 정부가 더 나아지더라도 내 인생이 갑자기 드라마틱하게 극적으로 바뀌는 일은 없는 거에요. 사회가 더 나아질 수 있도록 노력을 하되, 동시에 내 인생은 내가 개척해야 해요.  


개인의 관점에서는 어떻게 생각해야 할까요?

우리는 자기 스스로 우리가 살아갈 곳, 살아갈 환경을 선택해야 해요. 어디서 살지, 무엇을 하며 살지를 스스로 비교해 보고 선택하면서 살아야 해요. "릴랏 강의 2"에서 제가 쓴 내용과 같아요. 절이 싫으면 중이 떠나라고 하던가요? 네, 좋아요. 누가 이기나 보자구요. 더 공정한 사회, 더 나은 서비스를 제공하는 정부를 찾아서 떠나는 거죠. 사람은 여간해서는 안 고치거든요. 인터넷 게시판에서 친목질로 유저들 괴롭히면 한 번 망하게 해봐야 정신차리는 거에요.


"간다면 간다."


그래서 구체적으로 어떻게 해야 할까요?
  1. 버티는 능력을 개발한다. 즉, 쉽게 말해서 저축을 하고 지출을 줄이는 습관을 기른다.
  2. 국제 정세에 관심을 가지고 영어로 구글 검색을 해서 정보를 모은다.
    1. 여러 나라의 각종 비자 정책을 정리한다.
    2. 내가 신청할 수 있는 루트를 여러 개 알아 놓은 다음 거기에 맞게 내 능력을 개발한다.
  3. 세계 어디에 나가도 인정받을 수 있는 전문 기술을 연마한다.
    1. 우리는 개발자니까 주로 프로그래밍 능력을 개발한다.
  4. 그외 언어 능력은 필요한 만큼만 공부한다.
    1. 개발자라면 프로그래밍 책 원서를 읽는 것으로 영어 공부를 해야 한다. 따로 토익 토플 시험을 공부하면 시간을 두 배로 중복해서 들이게 된다.


적성이란 무엇일까요? 내가 이 일을 해서 성공할지 못할지를 어떻게 예측할 수 있을까요?

적성이란 선입견이에요. 내가 좋아할 수 있는것, 내가 잘 할 수 있는것이 처음부터 정해져 있다고 생각하는 것이 선입견이에요. 좋아하는 마음은 스스로 생성하는 영역이에요. 관련된 글인 감정도 재능이다를 읽어 보세요.  




무슨 일이던지 관찰하고 실천을 해서 내가 그 일을 할 수 있는지 검증하는 것이 중요해요. 힘들고 지쳐서 어두운 밤을 헤쳐 나가야 할 때 글을 읽어 보아요. 내가 그 일을 할 수 있고 그 일을 하기를 원하면 내면을 관찰해서 즐거운 기분을 만들어내고 꾸준히 실천할 수 있어요. 그렇게 하면 당장 빨리 성공을 못하더라도 내가 원하는 목표를 달성할 확률을 지속해서 높여 나갈 수 있어요. 시간이 지나서 보면 놀라운 성취를 이루어 낼 수 있어요.


프로그래밍을 어떻게 공부하는 것이 좋을까요?

프로그래밍 언어, 즉 코드는 도구에요. 내가 만들고 싶은 것을 만드는 것이 먼저에요. 만드는 과정에서 코드가 필요하면 딱  필요한 만큼만 배워서 사용하는 것이에요. 그래야 시간을 허비하지 않고 해야 할 일을 해나갈 수 있어요. 코드를 잘 알아야 프로그래밍을 할 수 있는 것은 아니에요. 이기환님과 저는 코드를 따로 배우는 것이 아니고 만들려고 하는 것을 정하고 나서 거기에 필요한 기술을 검색하고 정리한 다음 실천을 해요. 앞으로 릴랏 개발을 하면서, 회원님들의 질문을 받고 대답을 해주면서 실제로 그걸 어떻게 하는지 보여 드릴게요. 우리가 요즘 님들에게서 질문을 받으면 검색해서 가르쳐 드리고 있죠? 그렇게 하면서 실전으로 보여 드릴게요.


빌 게이츠님 왈, "기술은 도구일 뿐이다. 아이들이 함께 협동하고
동기를 일깨우는 측면에서는 선생님의 역할이 가장 중요하다."


책, 인터넷 강좌, 튜토리얼 등 교육 교재 중에 어떤 것을 주로 보는것이 좋을까요?

질문의 맥락이 계속 이어지는데요. 교재를 보기 이전에 실제로 작동하는 프로그램을 직접 만들어 보는 경험이 중요해요. 아는 것이 없는데 무엇을 만들어야 하냐구요? 아무것도 몰라도 되니까 먼저 머리속에서 프로그램을 상상해 보세요. 교재는 그 프로그램을 만드는 과정에서 필요한 정보를 찾는 도구로 사용하세요.


제대로 작동하는 프로그램은 무엇인가요? 책에 나오는 예제는 많은 경우 실사용에 필요한 기능이 생략되어 있거나 실제 업무에 적용하기 어렵게 설정되어 있는 경우가 많아요. 가르치는 사람에게 편리하도록 예제를 만들어서 그런 거죠. 그래서 그걸로는 실제로 작동하는 프로그램을 만드는 기술을 배울 수가 없어요. 그래서 이기환님과 저는 실제로 업계에서 일하는 사람이 만든 샘플이나 실제 업무에 바로 적용이 가능한 샘플을 가지고 테스트를 해요.




오잉? 실제로 작동하는 프로그램 샘플은 어디서 얻을 수 있나요? 구글에서 검색하면 되요. 앞으로 우리가 질문을 받으면 그런 샘플을 찾아내서 보여 드릴게요. 제가 앞으로 "구글 검색을 잘하는 방법"을 주제로 글을 써볼게요. "자녀에게 물고기를 잡아 주면 끼니 한 번을 해결할 수 있지만 물고기를 잡는 방법을 가르쳐 주면 평생 끼니를 해결할 수 있다."는 말이 있어요. 저도 님들에게 물고기를 잡는 방법을 가르쳐 드릴게요. 평생 먹고 살 수 있게요.


잘 모르는 부분, 막히는 부분이 생기면 어떻게 해결해야 할까요?

옛날에는 회사에서 가르쳐 주는 사람, 즉 사수가 없으면 일을 못하는 시대가 있었어요. 현대에는 사수가 굳이 필요없는 시대가 되고 있어요. 왜 그런가요? 구글과 스택오버플로우가 나왔기 때문이에요. 검색을 어떻게 해야 할까요? 어떤 키워드가 내가 찾으려고 하는 문제 해결방법과 관련된 키워드인지 알 수 있을까요?




검색을 하는 방법, 논리 연관 관계를 추적하는 방법을 연습하는 것이 도움이 되요. 자기 혼자서 질문을 하고 답을 내는 연습을 해보세요. 스무고개 게임 아시죠? 이 게임을 하면 좋든 싫든 질문을 20개 해야 하잖아요. 일을 할 때 이렇게 스무고개식으로 질문을 하고 답을 내는 연습을 꾸준히 하세요. 그러면 자연스럽게 구글 검색을 할 때도 무슨 키워드를 넣어서 검색을 해볼까 하는 아이디어가 생겨요.


프로젝트 중간에 투입되었을 때 소스를 잘 분석하는 방법론이 있을까요?

우리는 소스를 완벽하게 이해하는 방법이 없다고 생각해요. 우리는 소스를 작은 덩어리로 나누어서 거기에 정보가 들어가고 나가는 과정을 테스트 해봐요. 그렇게 간단한 테스트를 했는데 그게 제대로 동작하지 않으면 그걸 이해하려고 노력하고 시간을 더 들이는 것이 아니라 그걸 갈아 엎고 새로 만들 때 걸리는 시간을 계산해 봐요. 그렇게 해서 그걸 새로 만드는 것이 그걸 분석하는 것보다 낫다고 생각하면 미련을 가지지 않고 새로 만들어요.


쉽게 정리하면 이래요.
  1. 우리가 이해할 수 있는 구조로 되어 있는 소스면 그걸 고쳐서 사용한다.
  2. 우리가 이해할 수 없는 구조로 되어 있는 소스면 그 부분을 새로 만드는 것을 계획해서 시간을 비교해 본다.
  3. 새로 만드는 것이 낫다고 생각하면 과감하게 새로 만든다. 기존 코드에 미련을 가지지 않는다.


새 프로젝트를 맡게 되었어요. 프로그래밍 언어, IT 기술, 프레임워크, 엔진 등을 리서치하고 선택할 때 어떤 기준으로 선택을 하는것이 좋을까요?

해당 기술의 접근성, 실제로 작동하는 샘플 예제가 많은가, 내가 이해하고 사용할 수 있는가 등의 기준으로 기술 목록을 정렬해요.
  1. 접근성
    1. 관련된 정보가 많은가, 구글 검색을 하면 정보가 잘 나오는가
    2. 참여와 피드백을 자유롭게 할 수 있는 열려 있는 프로젝트인가, 폐쇠적으로 닫혀 있는 프로젝트인가
  2. 실제로 작동하는 샘플 예제가 많은가
  3. 구글에서 검색한 매뉴얼과 각종 문서의 설명이 내 입장에서 이해가 되는가


그렇게 순위를 매기고 순위가 높은 기술 순으로 직접 테스트하고 검증을 해서 우리 입장에서 최선의 기술을 선택해요.


오류에 어떻게 대처해야 할까요?

영문 서적 왜 프로그램은 실패하는가? WHY PROGRAMS FAIL을 볼게요. 아마 한국 서점과 도서관에도 있을 거에요. 이 책은 오류가 무엇인지 탐구하고 오류 과정을 공부해서 개선하는 방법을 제시해요.




일단 우리는 마음속에서 인정해야 해요. 사람이 하는 일은 언제나 실수와 오류가 생길 수 있다구요. 우리는 이것을 확률적으로 탐지하고 줄여 나가야 하는 거에요. 그게 사람인 우리가 할 일인거죠. 오류 없는 완전무결한 프로그램을 만들려고 하면 시간은 시간대로 낭비하고 결국 오류는 오류대로 나게 되요. 그런 결정론적인 사고방식의 실수에 빠지지 말아야 해요. 그러면 어떻게 해야 할까요?


  1. 오류가 왜 일어났는지 관찰을 해서 알아보고 오류의 과정을 충실하게 재현한다.
    1. 대충 실수가 난 것을 얼버무리고 덮지 않는다.
  2. 오류와 관련된 것을 분리한다.
    1. 그렇게 해서 오류와 오류 아닌 부분을 확실하게 이해한다.
  3. 오류가 일어나는 과정을 추적한다.
    1. 오류가 어떻게 시작되어서 어떻게 끝나는지 알아낸다.
  4. 오류를 고치는 더나은 방법을 찾아서 조립한다.
    1. 그렇게 해서 오류를 고치는 방법을 만들어 낸다.


오류를 재현하는 과정에서 우리가 오류라고 부르는 것의 정보처리 과정을 탐구할 수 있어요. 우리가 이름을 오류라고 지어서 부르는 거지 이것도 엄연히 정보처리 과정을 거쳐서 나오는 결과물이라는 거죠. 그 과정에서 내가 프로그래밍 할 때는 인지하지 못했던 새로운 관점을 발견할 수도 있어요. 실수가 발명의 계기 역할을 하게 되는 거죠. "실패는 발명의 어머니"라는 말이 있잖아요. 같은 맥락이에요. 오류와 실패가 발명의 원인이 되기도 하는 거죠. 이렇게 실패의 과정을 담백하게 추적하면 어떻게 실패를 줄일지, 어떻게 우회할지, 어떻게 더 나은 방법을 개발할지 탐구할 수 있어요. 이런 사고방식을 가지고 있으면 오류와 실패가 발생해도 괴롭거나 부정적인 감정이 들지않고 상대적으로 더 실패할 확률이 적은 프로그램을 만들 수 있어요.


학계에는 문제점이 있어요. 오류가 일어난 케이스, 배드(Bad) 케이스를 기록하지 않으려고 하는 문화가 그것인데요. 학자 개인은 성공적인 케이스만 기록하려고 하고 학계는 최신 트렌드에 맞는 논문만 인정하려고 해요. 그러면 학자들의 연구가 계속 고만고만한 트렌드를 인용하고 재현하는 데에만 그치게 되거든요. 배드 케이스를 관찰해서 더나은 정보처리과정을 탐구할 기회, 다른 관점에서 문제를 관찰하여 더나은 정보처리과정을 탐구할 기회가 상대적으로 줄어들어요. "에이, 그거 실패한 걸로 확정되었잖아. 왜 그걸 붙들고 그래?"하게 되는 거죠. 그러면 학계는 경직되고 정말 똑똑한 일부 과학자만이 무관심 속에서 스스로 배드 케이스를 추적하고 다양한 관점을 직접 탐구해서 새로운 트렌드를 만들어 내게 되요. 나머지 대다수의 과학자들은 그 결과물을 추종하면서 시간 다 보내는 거죠.




연구자의 네트워크 관점으로 봤을 때 더 나은 방법은 성공적인 케이스와 최신 트렌드에 부합하는 결과만 기록하고 오류와 실수는 없었던 것처럼 숨기는 것이 아니라, 배드 케이스와 다른 관점을 인정하고 기록해서 많은 사람들이 스스로 탐구할 수 있게 통로를 열어주는 것이에요. 실패가 왜 실패했는지, 오류가 왜 오류였는지 재현하고 기록하는 문화가 필요하다는 거죠. 이것은 평소에 님들이 살면서 실수와 오류를 받아들이는 사고방식에 대한 얘기이기도 해요. 실수와 오류를 기분 나쁘게 여기지 말고 차분하게 관찰하는 계기로 삼으세요.


협업을 할 때 어떤 식으로 일을 나누고 어떤 식으로 소통을 해야 할까요?

소통의 기본적인 정보처리 과정은 무엇일까요? 그것은 서로 자유롭게 질문을 하고 그것을 각자 자기 입장에서 생각해주고 대답을 해주는 것이에요. 이것이 기본이고 전부에요. 아까 제가 스무고개를 연습하라고 했죠. 다른 사람과의 소통은 이 스무고개 게임을 다른 사람들과 함께 즐겁게 하는 거에요.


이 세상에 사람들 중에는 이 스무고개 게임을 싫어하는 경우가 있어요. 그런데 그러면 소통은 못하는 거에요. 우리가 일을 한다는 것은 우리가 다 알지 못하는 미지의 이 세계에 우리가 상상한 것을 실천해서 현실로 만드는 것이거든요. 그래서 우리가 다 알지 못하는 것을 알아내는 과정에서 질문을 하고 서로 각자 자기 입장에서 답을 내고, 그것을 실천해야 해요. 그래서 제가 스무고개 게임으로 비유를 한 거죠. 협업을 할 때 소통을 한다는 것은 이 스무고개 게임을 나 혼자가 아닌 여러 사람들과 한다는 것이에요.




그러니까 질문을 많이 해주세요. 질문을 하는 능력이 실력이에요. 질문을 못하면 능력이 개발되지 않아요. 그냥 위에서 시키는 대로 일하면 시키는 일 딱 그것만 잘하게 되요. 그러면 능력이 발전하지 않아요. 우리가 아까 위에서 "해외로 나가자, 전세계에서 인정받는 전문가가 되자." 이렇게 얘기 했잖아요. 시키는 일만 잘하는 사람은 자기가 속했던 작은 그 조직에서만 인정받고 그 조직에서 해고당하거나 독립을 하거나 해서 나오게 되면 큰 시련을 겪게 되요. IMF때 겪어 보고 관찰해 보신 분은 아실거에요.


이기준 이기환님은 하루의 시간을 어떻게 배분해서 사용하세요? 하루에 몇시간 일하세요? 10시간 이상 일하세요?

우리는 아침 6시부터 밤 10시까지 일해요. 그러면 하루에 10시간 이상 일하는 것인가요? 그게 꼭 그렇게 되지는 않더라구요. 왜냐하면 우리는 중간에 집안 일을 하기 때문이에요.
  1. 식사 준비, 설거지
  2. 아기 기저귀 갈아주기
  3. 아기 목욕 시켜주기
  4. 자녀 숙제 검사 해주기
  5. 자녀들과 대화하는 시간 가지기
  6. 부부간에 대화하는 시간 가지기


이렇게 하면 하루에 일하는 시간이 10시간보다 적어질 때도 있어요. 결과적인 시간으로 얼마를 투입하느냐는 중요하지 않아요. 나 자신이 얼마나 즐겁게 집중해서 일하느냐가 중요해요. 일을 하면서 스트레스를 받느냐 안 받느냐가 중요해요. 일을 즐겁게 여기면서 하는 것이 중요헤요. 자기 스스로 내면에서 긍정적인 감정을 만들어 내는 것이 중요해요. 계획한 대로 인생을 살아가려면 글을 참고해 보세요.


릴랏과 딥러닝은 어떤 관계가 있는가?

많은 세부적인 기능들에 딥러닝을 녹여서 응용해서 할 거에요. 이미 릴랏 강의에서 설명을 했지만 다시 한 번 정리를 해볼게요.


  1. 유저들의 행위 기여도 판정 기능
    1. 이것을 근거로 가상화폐 보상을 얼마나 줄지 판정하는 기능
  2. 부정 유저를 가려내는 기능
    1. 스팸, 광고, 기타 다른 사람들에게 불편을 주는 유저를 찾아내서 불이익을 준다.
  3. 유저의 행위를 정량해서 기록하는 기능
  4. 충분히 많은 데이터로 학습을 해서 더 나은 프로그래밍 방법을 유저에게 제안하는 기능
    1. 코드의 오류를 찾아내고 개선하는 기능
  5. 유저에게 맞춤 코딩 트레이닝을 시켜주는 기능


릴랏에 참여할 때 기초지식이 필요한가?

제가 위에 얘기했던 기본 중의 기본, 질문하는 능력이 필요해요. 쪽팔림, 자존심, 두려움 이런 것들을 내려 놓으세요. 그냥 시원하게 물어보세요. 스무고개 게임을 한다고 생각하세요. 자기 혼자 스무고개 게임을 해보고, 또 릴랏 페이스북 그룹에서 스무고개 게임을 해보세요. 그러면 질문하는 능력이 발달해요. 이기환님과 저는 질문하면 항상 받아주거든요. 지금까지 그렇게 했잖아요. 우리는 약속한 것을 철저하게 지켜요. 질문을 적극적으로 하세요.


  1. 자료구조, 알고리즘 등 과목을 꼭 배워야 할까요?
    1. 아니요. 릴랏 프로젝트 할 때 필요없어요. 하다가 필요가 생기면 그때부터 배워도 되요.
  2. 기본적으로 영어를 잘해야 할까요?
    1. 아니요. 딱 내가 지금 봐야 되는 문서를 이해할 만큼만 배우면 되요. 구글 번역기가 있잖아요. 그게 한 80%까지는 도와 주거든요. 이제 구글 번역기가 제대로 번역을 못해주는 문장이 나오면 그걸 신경써서 말이 되게끔 번역을 하는 능력이 필요해요. 역시 여기에도 스무고개 방식의 질문 능력이 필요해요.  


제가 영어를 어떻게 잘 할 수 있는지를 글로 써볼게요. "베스트셀러가 될 것같은 느낌적인 느낌?"이 드네요.


앞으로 C#의 전망이 어떨 것으로 보는가?

마이크로소프트가 C#을 오픈소스로 풀었어요. 오픈소스 재단에 참여하고 기술지원을하고 정보를 제공하고 있어서 사용자가 계속 유지될 거에요. 잘한 거죠. CEO가 바뀌고 나서 현명한 선택을 하더라구요. 예전의 ASP .NET같은 참사는 일어나지 않을 것 같아요. 그러나 한국에서는 대기업과 정부 조달 시장에서 어떤 것을 선택하느냐에 따라 달라지기 때문에 한국에서의 C# 미래를 알 수 없어요.




한국은 전세계에서 ASP .NET이 망해갈 때도 그걸 주력으로 썼잖아요. 그리고 현재는 자바 스프링을 밀고 있구요. 이건 아까 위에 말한 한국의 친목 부패 구조 때문에 생긴 것인데요. 자바 스프링이 나쁜게 아니라 경쟁을 통해서 플랫폼을 선택해야 하는데 한국에서는 위에서 결정권을 가진 공무원과 대기업이 자기들 편의 위주로 담합을 해서 정한 것이거든요. 그게 문제죠. 저는 자바 스프링이 나쁘다고 생각 안 해요. 한국의 부패 구조가 나쁜 거죠.


웹에서 그래픽 처리를 할때 HTML5 Canvas와 SVG 중 무엇을 선호하는가?

이기환님은 HTML5 Canvas를 선호하는데요. SVG는 정적인 그래픽 처리를 할 때 주로 사용하고 HTML5 Canvas는 동적인 처리를 할 때 주로 사용하는 것으로 보여요. 그래서 이기환님은 앞으로 웹이 점점 동적인 그래픽 방향으로 발전할 것으로 보이기 때문에 의도적으로 HTML5 Canvas를 사용하려고 한다네요.


어떻게 형제가 이렇게 서로 도우면서 살게 되었나요?

그러게요. 제가 우리 어머니께 항상 감사하다고 말씀드리고 있어요. 저만 낳은게 아니라 제 동생 이기환님도 낳아 주셔서요. 우리가 같이 일을 하게 된 계기는 이랬어요. 제가 중학교, 고등학교, 대학교까지 자퇴를 했다고 했잖아요. 대학교까지 자퇴하고 나서 제가 보살핌과 도움이 필요한 상태였는데요. 그래서 제가 이기환님께 "도와주세요. 이기환님, 저 혼자서는 힘이 들어요. 같이 살면서 공부도 하고 앞으로 뭐 하면서 먹고 살지 토론을 해보아요.”하고 부탁을 했거든요. 그걸 이기환님이 들어 주셔서 이렇게 같이 하게 된거죠. 저는 살면서 이기환님의 도움을 크게 받았어요.




이기환님의 얘기를 들어 보면 이기환님은 자기 입장에서 "형님이 하는 생각이 특이하고 앞으로 이걸 계속 개발하면 이 세상에 없던 큰 일을 할 수 있을 것 같다."하는 생각이 들었다네요. 그리고 형이 왕따 당하고 괴롭힘 받는 것이 불쌍하기도 하고 그래서 도와주고 싶었다고 하네요. 그래서 제가 매일매일 이기환님께 감사하는 마음으로 살아가고 있어요.


이렇게 "릴랏 미팅 후기 1"을 마칠게요. 앞으로 릴랏 미팅을 할 때마다 이렇게 후기를 쓸 계획이에요. 읽어 주셔서 감사해요.

후원 안내

글이 마음에 들고 저희를 후원하고 싶으시다면 아래 모네로 마이닝을 해주세요. 밑에 링크한 주소로 들어가서 START MINING 버튼을 누르면 님들의 컴퓨터가 일을 해서 저희에게 가상화폐 후원을 해줍니다. 하루종일 하면 백원 정도로요. 참고로 SPEED를 100%로 하지 말고 한 80%로 내리면 컴퓨터가 버벅거리지 않아서 좋습니다.

저는 후원을 받아서 제 개인 용도로 사용하지 않습니다. 저는 개인적으로는 이미 부족함 없이 잘살고 있습니다. 저는 앞으로 부모 없는 아동과 청소년을 돌보는 그룹홈(보육원)을 만들어서 후원할 생각입니다. 그리고 저는 컴퓨터 프로그래머인데 릴랏이라는 무료 코딩 교육 활동을 2016년부터 하고 있습니다. 후원해주신 것은 여기에 전부 사용할 것입니다.


이미 가상화폐를 갖고 계신 분은 저희에게 송금을 해서 후원을 해주실 수 있습니다.

Bitcoin: 1Jocrm8iKUtw4h19JttGLjj9ouQnDHrmpB
Monero: 45sQXZzqtFAKgJJgtQh3MuGYwUHHTb5bEZzvfdw3QhvSKpb1KMJmgnSQCVkWGcmL1PVzqVfV4bZH5D2C5uRfeWHLUf5pMkw

그외 기타 다른 방식으로 후원을 해주실 분은 저에게 메세지를 주십시오. 감사합니다.

Facebook Comments

Disqus Comments

글쓴이 소개

안녕하세요. 제 이름은 이기준이에요. 저는 Deduction Theory, LLC라는 소프트웨어 회사에서 CEO로 일하고 있어요.
저는 최근 오픈소스 공개 스터디 릴랏 프로젝트의 내용을 번역해 주실 자원봉사자를 모집하고 있어요. 제 생각에는 이 프로젝트가 전세계에 사는 어린이, 학생, 어른에게 도움이 될 거에요. 특히 저소득층에게요. 이 프로젝트는 무료에요. 사람들에게 도움을 주려고 기획했어요. 저는 나중에 저소득 국가에 학교와 고아원을 짓고 사람들에게 이 프로젝트 방식으로 컴퓨터 프로그래밍을 가르쳐 주고 싶어요. 그렇게 해서 나중에 그 사람들이 더 나은 직업을 가질 수 있게 돕고 싶어요.
아래에 링크한 릴랏 소개 페이지를 읽어 본 다음 이것이 도울 만한 가치가 있다고 생각되시면 저에게 말해주세요.
오픈소스 공개 스터디 프로젝트 Rellat을 소개합니다
원문 컨텐츠는 한글로 전부 제가 쓴 것이에요. 우리는 세계 모든 언어로 번역할 계획을 가지고 있어요. 감사합니다.
안녕하세요. 이기준님과 함께 Rellat 프로젝트를 진행하고 있는 이기환입니다.
제가 프로그래밍을 처음 시작한 것은 어린 시절 어도비 플래시 프로그램에서 애니메이션을 만들다가 게임을 만들고 싶어서 액션스크립트를 사용한 것입니다.
연역론의 방법론은 제가 평소에 일을 하는 방법과 같습니다.
저는 사실 500줄 이상 넘어가는 코드를 보면 정신이 없고 잘 기억도 안됩니다. 지금도 간단한 코드 문법이 기억이 안나서 구글을 뒤지는 경우가 허다합니다.
대신 저는 이 코드가 어떤 사고방식을 사용해서 만들어졌는지, 어떤 관계정보를 사용했는지를 추적합니다. 이것이 연역론의 코딩 방법론, 코딩 스타일, 컴퓨팅 세계관입니다.
이 사고방식을 갖추면 더 나은 정보처리 방식이 무엇인지 비교할 수가 있습니다. 이것이 프로그래밍의 본질이고, 가장 중요한 것입니다.
나머지 프로그램의 빈공간은 구글과 스택오버플로우의 힘을 빌려서 채워넣습니다.
저는 여러분도 그렇게 하면 끊임없이 만들어지는 새로운 기술, 수만 줄의 코드 속에서 허우적거리지 않으면서 대규모의 질 높은 정보처리를 더 효과적으로 할 수 있다고 생각합니다.

Popular Posts

Visitor Map

Flag Counter