이기준
164
2017-08-08 11:46:32.0
21
9234

작은 오픈소스 프로그램을 분석해서 실력을 쌓아 나간 사례



드디어 가르침을 제대로 실천하는 사람이 나타났다

네, 드디어 나타났어요. 그분의 이름은 이원재님이에요.


자, 여기서 잠깐, 제가 쓰는 이 글은 이원재님이 대단한 사람이라고 치켜 세우려고 쓰는 것이 아니에요. 이원재님이 원래부터 잘난 사람, 천재거나 수재가 아니에요. 그런데 이원재님이 하다 보니까 잘한 것이 있었거든요. 그걸 분석해서 다른 사람들에게 공유하려고 쓰는 글이에요. 그래서 이 글을 읽으면서 "와, 부럽다. 나는 저렇게 못하겠지."하는 생각보다는 "와, 저렇게 할 수 있구나. 보니까 쉬운데? 나도 해봐야지."이렇게 생각해 보세요.



이원재님의 작은 성공

백문이 불여일견이죠. 이원재님의 폴더에 들어가서 일지와 일기를 읽어 보아요. 이원재님의 글을 읽어 보면 대강 이런 식으로 스토리가 되어 있었어요.


  1. 나는 대학교 컴공과 3학년이다. 이기준님이 멘토링을 해주신다고 하네? 그래, 이번에 릴랏 멘토링 열심히 해봐야지.

  2. 이기준님의 글을 읽어 보고 모임에 나가서 강의를 들어 보니 자기 입장에서 무슨 프로그램을 만들지 생각을 해보라고 했다. 그래서 나는 "오디오 입출력을 제어하는 프로그램"을 만들어 보기로 생각했다.

  3. 그런데 "오디오 입출력을 제어하는 프로그램"을 기획하다 보니 모르는게 너무 많았다.

    1. 그래서 알아 보다가 흐지부지 되어서 포기함.

    2. 그리고 또 학교 수업도 들어야 되고..

    3. 뭐 이런 저런 다른 과제도 해야 되고..

    4. 그렇게 시간이 한 달 두 달 가버림

  4. 그러다가 무슨 프로그래밍 대회에 참가를 하게 되었다.

    1. 이틀 동안 캠프 형식으로 참가를 해서 프로그래밍 과제를 푸는 것이었다.

    2. 여기서 나의 능력이 그다지 특별하지 않다는 것을 뼈저리게 느꼈다.

    3. 내가 컴공과 3학년이고, 자바 공부한지도 몇 년 되고 해서 프로그래밍에 대해서 어느 정도는 안다고 생각했는데 실전에 나가서 프로그램을 만들어 보라고 했을 때 멘붕이 오는 것을 느꼈다.

    4. 이기준님 글을 보면 남들을 의식하면서 사는 사람은 진정한 실력을 쌓기가 어렵다고 했다. 지금 내 모습이 그런 상황인 것 같다.

  5. 그래서 지금까지 해왔던 생각을 내려 놓고 이기준님이 얘기하신 대로 더 작은 규모의 프로그램, 작은 게임을 만들어 보기로 했다.

    1. 작은 프로그램을 여러 개 만들어서 실력을 쌓아 나가기로 했다.

    2. 괜히 폼잡고 내 실력이 어느 정도 되는 것처럼 생각하지 말고 그런 생각을 다 버리고 쉬운 오픈소스 코드를 분석하고 포팅하기로 했다.

  6. 그렇게 해서 시작한 것이 테트리스였다.

    1. 공개되어 있는 테트리스 오픈소스 중에 내 입장에서 좀 더 쉽게 쓰여졌다고 판단된 것을 골라서 분석하기 시작했다.

    2. 그 소스가 자바스크립트로 되어 있었다. 나는 자바스크립트를 접하는 것이 처음이었다. 그러나 거기에 대해서 걱정하지 않고 그냥 소스를 작은 단위로 분할해서 거기에 나오는 명령어와 함수를 구글에서 검색해서 정리했다.

    3. 이기준님이 가르쳐 주신 대로 모르는 것이 나오면 "왜 그럴까, 어떻게 그럴까"하는 방식으로 자기 스스로 질문하고 대답해 보았다.

  7. 테트리스 소스를 분석하고 포팅을 하고 있었는데 이기준 이기환님이 읽어 보고 피드백을 해주셨다. 점점 속도가 붙었다.

  8. 테트리스 싱글 플레이 포팅을 끝내고 그것을 리팩토링해서 개선했다.

    1. 다인용 게임으로 개조해 보았다.

    2. 서버를 개발해서 붙여 보았다.

  9. 비주얼드 분석과 포팅을 시작했다.

  10. 블랙잭 분석과 포팅을 시작했다.

  11. 이기준 이기환님이 개발하신 릴랏 코딩 협업 프로그램 소스를 분석하기 시작했다.

  12. 이제는 무슨 프로그램을 봐도 분석하고 포팅하고 개선할 수 있겠다는 생각이 든다. 자신감이 생겼다.

    1. 아무리 어렵고 복잡한 프로그램도 이 방법을 실천하면 분석이 가능하고 개선이 가능하다는 것을 알게되었다.

    2. 새로운 언어를 만나도 걱정하고 주눅들지 않고 바로 도전할 수 있게 되었다.

      1. 예전에는 "내가 자바를 오래 배웠으니까 자바로 하자."같은 식으로 자꾸 안전빵으로 생각을 하려고 했었다.

      2. 새로운 언어나 기술을 배우는 것을 자꾸 미루고 겁을 냈다.

        1. 그러면서 동시에 "이러면 안되는데, 뒤쳐질지도 모르는데." 하는 불안감이 들었다.

  13. 무엇보다 내가 내 손으로 작동하는 프로그램을 만들어 낸다는 것이 즐겁다. 내가 살면서 이렇게 즐거웠던 적이 있었나 싶다.

  14. 이기준님이 지금처럼 계속 공부를 해나가면 나중에 나를 고용해 주시기로 했다. 지금처럼 배워 나가면 나중에는 큰 일을 할 수 있을 것 같은 생각이 든다.



왜, 어떻게 이원재님은 성공할 수 있었을까?

그 이유는 이래요.


  1. 이원재님은 자신을 관찰하는 시간을 가져 보았다.

  2. 그렇게 해서 자신이 가지고 있었던 과거 사고방식의 문제점을 깨달았다.

  3. 과거의 사고방식을 버리고 새로운 사고방식을 실천했다.

    1. 오픈소스를 분석하고 포팅했다.

      1. 리팩토링을 했다.

      2. 기능을 추가하고 개선했다.

    2. 배우는 과정을 과제 일지에 기록했다.

      1. 왜, 어떻게를 사용해서 자기 스스로 질문하고 대답을 했다.

        1. 그 내용 위주로 기록을 했다.

  4. 이 과정에서 과거에 자신이 생각하고 행동했던 것과 지금 생각하고 행동하는 것이 뭐가 다른지를 관찰해서 깨달은 것을 기록했다.

  5. 위의 과정을 계속 반복했다.



잘 안되는 경우는 왜, 어떻게 잘 안되었을까?

제가 릴랏 멘토링을 5월달부터 했는데요. 시도한 사람은 많았어요. 그런데 이원재님처럼 성공한 사람은 없었죠. 그 이유는 무엇이었을까요? 이원재님의 성공 이유를 역으로 뒤집어 보면 바로 알 수 있어요.


  1. 자기 관찰을 하지 않았다.

  2. 오픈소스 분석, 포팅, 리팩토링을 하지 않았다.

  3. 자문자답으로 사고력을 개발하는 일을 하지 않았다.



"내 속엔 내가 너무도 많아.."

사람들은 생각이 자꾸 바뀌어요. 자기가 하고 싶다고 하는 일도 꾸준히 하지를 못해요. 그러면서 맹목적으로 무슨 교육 코스, 무슨 책을 보면서 시간을 너무 오래 흘려 보내요. 사람들은 자기 스스로 발목 잡는 생각, 자기 스스로 태클 거는 생각을 해요. 쓸데 없는 걱정을 해요. 그렇게 딴 짓 하다가 시간이 흘러가 버려요.


  1. 쓸데없는 잡생각

  2. 지금 하는 일에 아무런 도움이 안되는 걱정

  3. 욕구와 감정의 출렁임


이러는 이유는 내 속에 내가 너무 많아서 그래요. 내 속에 내가 너무 많다는 말은 "가시나무 새"라는 노래 있잖아요. 거기 나온 노랫말인데요.


내 속엔 내가 너무도 많아


바람만 불면, 외롭고 또 괴로워


외부에서 바람만 불면, 쉽게 말해서 외부에서 각종 유혹이 들어오거나 누가 부추기면 흔들리고 멘붕이 오는 거죠.



내가 나를 발목잡네, 내가 나에게 태클을 거네

그러다 보면 특이한 생각을 하는데요. 저는 거기에 이름을 붙였어요. "내가 나를 발목잡는 생각, 내가 나에게 태클거는 생각"이라구요.


  1. 내가 지금 이걸 굳이 할 필요가 있을까?

  2. 지금 시작하기에는 너무 늦은게 아닐까?

  3. 내가 이걸 한다고 해서 누가 알아주기나 할까?

  4. 내가 이걸 한다고 해서 성공할 수 있을까?

  5. 내 친구 누구는 뭘 한다던데

  6. 요즘에 뭐가 잘나간다던데

  7. 엄마(아빠)가 뭐라고 하던데


잉? 이게 뭐지?



그럼 어떡하죠?

어떡하긴요. 알아차렸으면 이제 그만 해야죠. 알아차리고 안 하면 되요. 눈 감고 못 알아차리니까 계속 하는 거거든요. 못 본척 하고 자신을 속이니까 계속 같은 실수를 반복하는 거에요.


실수하는 자신을 미워할 필요는 없어요. 알아차린 때부터 그냥 안 하면 되요. 자기 스스로 발목잡는 생각, 자기 스스로 태클거는 생각을 안 하면 되요. 쉬운 거에요.


제가 쓴 글 계획한 대로 인생을 살아가려면을 보세요. 거기에 제가 이렇게 설명해 놓았어요.

"아이고, 이런, 쓸데없는 생각을 해버렸네. 님아, 내리세요."



아니, 왜 작은 게임 오픈소스 분석과 포팅을 안 할까?

제가 꾸준히 글을 쓰고 강의를 하면서 이걸 해보라고 강조했었는데요. 사람들이 이걸 안 하더라구요. 이걸 실제로 한 사람이 이원재님이었던 거죠. 아니, 그 쉬운걸 왜 안 할까요? 이게 너무 쉬워서 우습게 보였던 걸까요?



왜곡과 필터링

사고의 필터링이 있어요. 왜곡의 색안경이 있어요. 이것 때문에 사람은 무슨 말을 들으면 자기가 가진 내면의 사고방식으로 걸러 버려요. 왜곡해 버려요. 그래서 사람은 대개 자기가 보고 싶은 것만 보고, 자기 사고방식에서 받아들일 수 있는 부분만 걸러내서 받아 들여요. 이것을 빗대어서 "사람은 자기가 아는 만큼만 보인다."는 말이 있죠. 그러면 아무리 좋은 것을 배워도 자고 일어나면 뇌가 초기화 되어 버려요. 다시 자기가 예전에 하던 버릇대로 생각하고 행동하는 거죠.


그래서 자신의 과거 사고방식을 관찰해서 알아내는 것이 매우 중요해요. 프로그래밍이라면 겸허하게 자기 실력을 인정해야 해요. 예를 들어서 4시간 내에 작업의 전체 아웃라인을 만들어 내지 못하면 그 일은 백지 상태에서는 시작하지 못하는 거에요. 그렇게 할 실력이 안되는 거죠. 그러면 어떡할까요? 참고할 오픈소스를 검색해서 찾아 내고 그걸 분석하고 포팅해 보면 되요.


분석은 어떻게 해야 할까요? 코드를 작게 쪼개서 관련된 내용을 하나씩 구글 검색해서 일지에 정리하구요. 자기 스스로 질문을 하고 대답을 하면서 코드의 정보 처리 과정을 탐구하면 되요. 이원재님은 그렇게 했죠.


이원재님은 그렇게 해서 제가 가르쳐 준 것을 다 실천했어요. 이원재님은 이걸 깨우치기 전까지는 능력이 별볼일 없었어요. 본인이 무슨 경진대회 캠프에 가서 그걸 뼈저리게 느꼈다고 했어요. 다른 사람들이 코딩을 해나가는 것을 보면서 자신의 한계를 느꼈다고 했어요. 그리고 지금까지 대충 아는 척 하면서 살아온 자신을 반성하게 되었다고 했어요.


그러고 나서 어떻게 되었나요? 이원재님은 그전까지 자기 마음 속에 맴돌던 부정적인 생각, 발목 잡는 생각, 태클 거는 생각을 내려 놓고 제가 가르쳐준 것을 왜곡없이 있는 그대로 실천했어요. 그렇게 해서 이전에는 경험한 적이 없는 놀라운 깨우침을 경험하게 되었어요.



이원재님 특별 대우

왜, 잘하니까요. 잘 실천하니까요. 이런 사람은 특별 대우를 해주고 싶어요. 그래서 제가 이원재님에게 이런 계획을 제시했어요. 앞으로 이원재님이 계속 이 방향으로 실력을 개발하면 이원재님을 고용하기로요. 제가 이원재님에게 이런 제안을 했어요.


  1. 평생 직장

    1. 정년 퇴직 없이 평생 코딩을 하게 해드리겠다.

  2. 억대 연봉

    1. 사업이 제대로 잘 되는 것을 전제로 해서 그러면 급여를 찔끔찔끔 주지 않고 억대로 드리겠다.

  3. 건물주

    1. 그렇게 해서 장기적으로 월세 들어오는 빌딩을 가진 건물주로 만들어 드리겠다.

    2. 그래서 평생 먹고 살 걱정을 안 해도 된다.


그랬더니 이원재님이 좋아하더라구요. 제가 이런 제안을 해드린 이유는 먹고 살 것이 걱정되어서 도중에 포기하지 말라고 그런 거에요.



이기환님의 생각

아래는 이원재님이 2017년 5월 18일에 제시한 프로젝트를 정의한 내용이다.


윈도우 환경의 노트북에서 이어폰 분리시 소리를 음소거 하며 현재까지의 음량을 저장하고 이어폰을 다시 연결하면 원래의 음량으로 전환 해 준다.


  1. 윈도우 백그라운드로 돌아가는 프로그램이다.

  2. 사운드 카드 또는 윈도우 자체의 시그널을 받아서 후 처리를 해 주어야 한다.

    1. 사운드 카드를 건드려야 하는건지 윈도우 자체의 시그널만 받아야 하는지 모르겠다

    2. 윈도우에서 이어폰을 연결하면 사운드 카드의 드라이버가 연결 여부를 알람으로 띄운다.

  3. 후처리

    1. 단자 분리

      1. 현재 음량을 저장 하고 음소거 한다.

      2. 음소거가 되어 있는 상태라면  default로 음량을 저장 해 둔다. 또는 그냥 음량을 0으로 둔다.

      3. 단자 분리 후 음소거를 풀고 음량을 조절 하면, 아무것도 하지 않는다.

    2. 단자 연결

음소거를 풀고 이전의 음량으로 소리를 회복 시켜 준다.



나는 해당 주제를 리서치하면서 이런 판단을 했다.

  1. 윈도우 API와 하드웨어 드라이버의 기능지원이 있어야 한다. 즉, 내가 통제할 수 있는 부분 보다 환경이 제공하는 기능에 의존하는 비중이 더 크다.

  2. 다른 방법은 커멘드 라인 툴로 시스템 설정에 직접 접근하는 방식이 있는데 이것은 실제로 성공한 사례를 찾기 어려웠고 1번과 마찬가지로 내가 통제할 수 있는 부분이 적다.

  3. 하드웨어 드라이버 마다 다르게 동작할 확률이 높아서 범용 소프트웨어를 만들려고 한다면 해야할 작업범위가 많다.


아래는 내가 해당 주제를 리서치하고 피드백을 한 내용이다.


이기환 피드백: 참고로 우분투 리눅스에서는 오디오 출력 장치 라인에 따라 볼륨 컨트롤 설정을 별도로 가지고 있어서 말씀하신 것 처럼 노트북 스피커 상태일 때 음소거를 한번 해놓으면 이어폰을 연결했을 때 정상 볼륨이 되고 이어폰을 제거하면 음소거로 돌아갑니다.

Linux ALSA mixer 사용법 내용을 보시면 사운드카드 이벤트를 처리하는 것을 볼수 있습니다.


구글에서 아래 키워드를 조합해서 검색했습니다.

alsamixer alternative windows

windows volume control api detect headphone


Automatically change system volume when audio device plugged in? Superuser. 같은 문제를 겪는 사람들이 있네요. Windows 내장 UI로 설정하는 방법이 있는데 설치한 사운드 드라이버에 따라 오디오 장치 감지가 다르게 작동한다고 합니다.

EndpointVolume API MSDN

IMMDevice interface MSDN

또 다른 방법으로는 외부 프로그램을 이용하는 방법이 있습니다.

참고 Change the audio device which the keyboard volume keys control Superuser. nircmd 라는 툴을 사용해 터미널 커맨드로 system volume에 직접 접근한다. 백그라운드 프로그램에서 exec 할수 있겠네요.

Nircmd 메뉴얼 showsounddevices 부분을 참고하세요.


위 프로젝트는 내 입장에서 볼 때는 달성하고자 하는 목표가 처음부터 불투명하기 때문에 만약 실제 작업에 들어가면 온갖 어려움에 부딪쳐 고생할 것이 예상되었다.


이원재님은 이후 위 프로젝트를 중단하고 2017년 7월 7일부터 '작은 오픈소스 게임: 테트리스 온라인'를 시작했다. 일지에는 어떤 판단을 했는지 설명이 안되어 있는데 내가 이원재님에게 들은 바로는 "내가 초반에 자신에 대한 기대심을 너무 높게 잡은 것을 알게 되었다. 내가 지금 할 수 있다고 판단되는 쉬운 것부터 도전해야 겠다."라고 생각했다고 한다. 그게 깨달음이다.


이원재님이 지금까지 한 정보처리를 정리해 보자.

  1. 이 서비스와 유사한 서비스와 앱을 검색해서 알아보고 정리한다.

  2. 깃헙에서 자바스크립트로 만든 테트리스 코드를 발견했다. 코드 링크

  3. 코드를 분석했다. 해당 코드는 html dom를 javascript로 만드는 방식이라 그래픽을 개선하는 것이 제한적이었다. 그러나 테트리스라는 게임의 로직을 파악하는데는 많은 도움이 되었다.

  4. 코드를 개선했다. 기존 게임 코드가 전역 함수로 설정되어 있는 것을 오브젝트 방식으로 개선했다.

  5. 기존 게임 코드가 html dom manipulation 방식으로 되어 있는 것을 p5.js 라이브러리를 사용해서 HTML5 canvas 방식으로 고쳤다.

  6. 기존 게임은 테트리스 블럭의 색깔이 단일 회색이였는데 각 블럭마다 색깔을 다르게 만들었다.

  7. Node.js websocket 기술을 리서치하고 샘플을 분석했다.

  8. 온라인 버전을 만들 때 구현할 내용을 정의했다.

  9. 게임 서버를 구현했다.


예전에 2011년 경 인디 개발자가 개발하여 유저 1만명 정도로 히트시킨 게임이 있었다.

플래시 도타 나무 위키

플래시프렌트 - 운영평전 해당 개발자가 남긴 기록

플래시도타(Flash Dota) 2016 : 금광산편 유튜브 게임 플레이 동영상


이렇게 누구나 아마추어에서 시작해서 프로가 될 수 있다. 나는 이 사람이 플래시도타를 만든 경험을 개선해서 메이저 시장에 도전할 수 있다고 생각한다. 이 개발자가 메이저 시장에서 성공하지 못한 이유는 본인이 계속 개선하고 실천하는 것을 멈추었기 때문이다. 이렇게 자신이 실천할 수 있는 작은 프로젝트 부터 시작해서 꾸준히 개선하면 된다. 성공과 실패는 작은 차이에서 비롯한다. 이원재님은 작은 프로젝트를 직접 실천하는 것을 성공적으로 경험하였고 이 과정을 지속하면 계속 성공할 확률을 높여나갈 것이다.


일지를 잘 적는 방법

내가 사람들 쓴 일지를 읽는데 보면 나중에 자기가 다시 읽어도 이해가 안 될 것 같이 쓰는 경우가 있다.

내가 그 분야를 잘 알면 그 사람이 일지를 대충 써도 과정이 파악이 되는데 내가 그 분야를 모르거나 접해본지 너무 오래된 경우 피드백하기가 어렵다. 그렇다고 그 사람이 했던 과정을 내가 유추하여 재구성하는 것은 시간이 너무 오래 걸리기 때문에 그 사람을 내 옆에 앉혀 놓고 보여주지 않는 이상 설명하기가 힘들다.


일지를 어떻게 더 잘 쓸 수 있는가?

리서치 한 줄을 하더라고 그것을 왜 하는지 알수 있게 명시한다. 알고자 하는 정보의 방향이나 얻을 것이라고 기대하는 효과를 미리 정한다.

나는 리서치를 할 때 알고자 하는 방향이 뚜렷한 편이다. 선택할 수 있는 옵션을 알아내고 그 중에 가장 효과가 크면서 현재 내 수준에서 실천이 가능한 방법을 찾는 것이다.


일이 막혀서 잘 진행이 안되는 경우

일지를 보다보면 사람들이 어떤 문제에 막혀 풀지 못하고 시간을 보내는 경우가 있는데 꼭 그렇게 할 필요없다.

일이 잘 풀리지 않을 때 붙잡지 말고 빠르게 현재 상황에서 선택할 수 있는 옵션을 만들어 내는 것이 좋다.


내가 실제로 겪었던 일을 예로 들어 본다.

내가 코딩을 하다가 갑자기 특정 부분이 작동하지 않는 일이 생겼다.

나는 실제로 작동하는 코드를 수집해서 만들었고 코드 구조에 문제가 없었기 때문에 오류의 이유를 알아낼 수 없었다.

이 때 내면에서 으스스한 기분이 들면서 혼란속에 빠지고 어디를 고칠지 감도 안오는 상황에서 코드를 노려보고 있으면 시간이 순식간에 지나가 버린다.


나는 일단 내가 수집한 코드가 실제로 작동을 하는지 파트별로 떼어서 테스트 해보았다. 다 잘 작동했다.

그 다음 내가 만든 구조가 잘못되었는지 확인하려고 함수 내용을 주석처리하고 구조만 실행해 보고 결과를 로그로 알 수 있는 뼈대 상태를 만들어서 테스트했다. 잘 작동했다.


그 다음 주석처리한 함수를 순차적으로 주석 해제 하면서 테스트 해보았다. 문제되는 부분을 발견했다.

알고보니 내가 작업 중 소스 코드를 워드 프로세서에 붙여넣었다가 다시 복사해서 사용한 적이 있는데 이 과정에서 아스키 따옴표가 유니코드 따옴표로 자동 변형되면서 그것을 코드에디터에 붙여넣으니 오류가 발생한 것이다.

어이가 없지만 사실 업계에서 일어나는 대부분의 실수는 이렇게 별거 아닌데서 일어나는 경우가 많다.


위의 예에서 다른 상황을 만들어 보자. 수집한 코드를 파트별로 때서 테스트 해보았는데 잘 안되는 경우도 있다. 이 때 나라면 내 개발 환경 설정이 해당 샘플과 다른 부분이 있는지 알아본다. 만약 개발 환경 설정에서 고칠 점이 없거나 현재 내 상황에서 고칠 수 없는 옵션이라면 해당 코드를 사용하는 것을 중단하고 대체할 수 있는 것을 찾는다. 옵션을 고치는데 너무 많은 시간과 노력이 든다거나, 해당 옵션을 고치면 더 중요한 다른 파트의 코드가 작동하지 않게 되는 경우에도 해당 코드 사용을 중단한다.


결론은 어떤 문제가 잘 안 풀려서 일이 진행이 안되는 것이 아니라 내가 옵션을 만들고 선택하는 행위를 하지 않아서 일이 진행이 안되는 것이다. 어떤 사람은 위와 같은 오류 추적 과정을 겪고나면 "진이 빠진다. 짜증난다. 다시는 이런 일 하고 싶지 않다."같은 생각을 하는 경우가 있는데, 사실 프로그래밍을 지속하려면 위의 추적과정이 익숙하고 즐거워서 잘 할 수 있다. 그래야 빠르게 현재 상황에 맞는 옵션을 만들어 낼수가 있고 문제를 해결할 수 있다.


비유하자면 불교 철학에서 "불립문자(不立文字)"라는 말처럼 언어는 한계가 있다. 이 관점에서 보면 프로그래밍이란 코딩 언어를 사용해서 정보처리 하면서 언어의 한계가 생기는 부분을 계속해서 땜질하는(예외처리하는) 행위라고 볼 수 있다. 덧붙이자면 불립문자를 깨닫는 것이 돈오돈수(頓悟頓修)이고 현실에서 끊임없이 개선해나가는 과정이 돈오점수(頓悟漸修)이다.



이원재님 인터뷰

Q. 테트리스를 해보고, 비주얼드를 해보고, 블랙잭을 하고, 이제 더 많은 다양한 프로젝트를 해보고 있는데 행복하고 즐거우세요?

네 행복하죠. ㅎㅎ 일단 같이 재미있어 하는 일을 진행해서 행복하죠. 그리고 얘기해 보면 되게 배려를 많이 해주시면서 말씀하셔서 좋아요. ㅎㅎ 상대방에 대한 존중과 배려가 있어서 뭔가 안정감 있고 내가 좀 더 잘해야겠다 라는 마음이 생기는 것 같아요. 앞으로 더 같이 만나고 얘기하고 일을 진행해보면 행복한 점이 더 많이 생길 것 같아요. 그리고 앞으로 이렇게 실천하고 따라오는 사람이 많아지면 더 재미있어질 것 같아요.


참고로 이원재님은 서울 모 대학 컴공과 3학년이다


이원재님 페이스북

이원재님 릴랏 멘토링 폴더


Q. 제가 가르치는 것이 이원재님이 지금까지 겪었던 다른 교육과 무엇이 어떻게 달랐어요?

이기준님이 가르쳐 주신 방식들은 스스로를 생각해 보고 스스로 어떤 문제를 해결해 나갈 수 있게 해주시는 것 같아요 질문을 통해서 자신이 했던 것을 생각해 보고 되짚어 보고 방향을 잃지 않도록 잡아 주시는 느낌을 받았어요. 그리고 지금까지 했던 프로그래밍 교육 방식들은 항상 처음부터 설계를 해 나가고 중간에 망하면 망한대로 덕지덕지 붙여서 고쳐서 만들어 내고, 만들면서 이게 맞나? 이거 이렇게 하는건가? 하는 의문이 들어도 피드백을 받지도 못하고 다 만들고 나서도 내가 어떤 생각의 과정을 통해서 만들었다 라는 것 보다 그냥 이것저것 붙여가며 만들었다 라는 느낌만 받고 끝났거든요. 근데 이기준님 이기환님과 같이 개발하고 다른 소스를 분석 해보고 피드백 받고 완성 해보고 그 과정들을 되짚어보는 과정을 통해서 작은 프로젝트 하나하나가 제 실력으로 쌓이는 느낌을 받아서 너무 좋아요.


Q. 저와 이기환님이 가르친 것들이 이원재님에게 실질적으로 도움이 되었어요? 만약 되었다면 어떻게 도움이 되었어요?

저 혼자 했다면 아마 테트리스 오픈소스를 따라만 해보고 어떤 다른 라이브러리를 사용해서 응용을 해본다던가 하는 생각은 못했을 것 같아요. p5.js를 붙여보면서 앞에 시각적인 부분을 바꿔보니까 소스도 더 이해가 가고 재미가 붙었거든요. 그리고 서버 부분도 혼자 어떤 코드를 찾아서 보려고 했어도 뭐가 괜찮은 코드인지, 내 현재 수준에 해석 할만한 코드인지 찾느라 시간을 쏟다가 또 흐지부지 시간이 흘러 갔을 것 같아요. 그런데 이렇게 피드백 해주시고 질문 드리면 답변주시고 하는 부분에서 재미를 느끼고 또 봐주시고 있다고 생각하니까 더 하게되는 것도 있었어요. 그리고 혼자 했다면 내가 테트리스를 개발하고 서버를 개발하는 과정에서 어떤걸 느꼈고 어떤점이 발전하고 있는지에 대한 생각을 되짚어 보는 시간이 없었을 꺼에요. 근데 이기준님과 얘기를 나누면서, 느낀점을 얘기하면서 머릿속으로 아 맞아 내가 이 부분에서 재미를 느꼈고 이런 생각을 하면서 만들었었고 하는 생각들이 정리가 되었어요 그리고 그렇게 되짚어간 부분이 다음 프로젝트에도 또 적용이 되고 제 것으로 소화해 가고 있는 것 같아요. 그리고 이 과정이 재미있구요 ㅎㅎ


Q. 릴랏 멘토링 하기 전과 후에 이원재님의 인생에 달라진 것이 있나요? 만약 달라졌다면 어떻게 달라졌어요?

괜히 쓸데없이 하는 걱정이 없어졌어요. 항상 진로에 대한 고민이나 뭘해야 하지? 뭐가 좋지? -> 저걸 해봐야 하나? -> 아 뭔가 잘모르겠는데? -> 흠...

이런 쓸데없는 생각들로 가득차서 괜히 아무것도 안하고 시간을 보내고 걱정은 커지고 그랬었는데 릴랏 멘토링을 하고 나서는 그냥 지금 해야 할 것에 충실하고 내가 해야할 일에 대한 생각에 집중하니까 쓸데없는 생각이 안 들고 마음이 편해졌어요. 지난 학기때는 부정적인 생각들로 에너지를 소비하고 스트레스 받고 그랬었거든요 학교를 다닐꺼면 그냥 학교에서 하는 것에 충실 하고, 남는 시간에 복습을 하던지 다른 공부를 하던지 하면 되는데 복습을 하면서도 "아, 다른 애들은 뭔가 하고 있는데 나도 뭘 해야 하나 그럼 뭘하지?" 같은 쓸데없는 걱정, 그런게 1도 없어졌어요. 그냥 지금은 다른 사람 신경 쓰지 않고 내가 하고 싶고 재미있는걸 하면 된다는 생각으로 바뀐것 같아요


예전에는 이랬는데


지금은 이런 느낌?


오 맞아요 ㅋㅋㅋㅋ 그림이 적절해요ㅋㅋㅋ


Q. 앞으로 더 많이 배우고 개발한 프로그램들을 사업화해서 제가 이원재님을 고용해서 같이 일하기로 했는데요. 여기에 대해서 이용을 당한다거나 착취(?)를 당할지도 모른다는 걱정되는 느낌은 들지 않으세요?

처음에 부모님에게 앞으로 계획을 말씀 드렸을때 가장 처음 하시는 말씀이 그 말이었어요. 근데 제가 멘토링을 시작하고 알려주신 방법대로 개발해 나가고 피드백을 주시고 제가 긍정적인 생각의 순환을 하게되고 하는 일련의 과정들을 잘 도와주시고 여러가지 글도 보면서 저는 그럴 꺼란 생각은 안 들었거든요 그리고 제가 사회생활을 안 해봐서 모르는 것일 수도 있지만 사회생활을 하면서 제일 힘든점이 사람 문제라고 하는데 두 분과 같이 개발을 하면 되게 배울게 많고 많이 성장할 수 있고 또 빨리 커서 제 역할을 하고 싶다는 생각이 들었거든요. 걱정보다는 이런 생각들이 더 커요ㅎㅎ 그리고 그런 걱정들 때문에 지금 배울 수 있고 도전 할 수 있는 것들을 못 해보면 손해 잖아요.


긍정적인 사고방식의 순환


Q. 이번에 학교를 휴학하고 우리 하는 일에 집중해 보기로 했는데요. 한국 사람들은 27살 정도까지 졸업을 하고 30전까지 취직하고 35전까지 결혼을 하고 40까지 집을 사고 뭐 이런식으로 생각을 하거든요. 이원재님은 이제 이런 생각이나 걱정을 하나도 안 하는 건가요? 왜냐하면 자기가 하고 싶은 일을 찾았고 점점 능력을 개발하고 있으니까?

네, 이제 그런 데드라인을 두는 생각은 안하고 있어요. 제가 하고 싶은 일을 찾았고 좋은 분들과 같이 할 수 있으니까요!ㅎㅎ


Q. 앞으로 이원재님은 어떻게 살고 싶으세요?

프로그래밍 고수가 되고 싶어요. 제가 살면서 평소에 이렇게 계속 붙잡고 재미있게 할 수 있는 것을 찾은게 처음이라서 그냥 잘하고 싶다 고수가 되고싶다 라는 마음이 생긴거 같아요 좋아하는걸 잘하면 더 좋잖아요. ㅎㅎ

고수가 된 다음은 일단 고수가 되는 방법을 알고 싶어 하는 다른 사람에게 알려줄 것 같아요. 음 그때가서 또 다른 뜻깊은 일이 있다면 그것도 하게 될 것 같아요.


저도 약간 거꾸로 여쭤봐도 될까요? 저하고 같이 일하기로 했는데 제가 생각보다 못 쫓아오거나 기준님이 생각했던 사람과 다른 사람이거나 막 꾀부리는? 사람이면 어떻게 하지 라는 걱정은 안 하셨나요?


A. 저하고 이기환님은 사람의 실천을 중요하게 생각해요. 지금 우리가 대화를 하고 있는데 이 대화에서 나온 말은 전부가 아니고 일부일 뿐이구요. 이 대화에서 나온 사고방식을 실제 현실에서 하나씩 실천하느냐 마느냐로 사람을 평가하거든요.


쉬운 개념이에요. 사람도 수준, 퀄리티가 다 다르거든요. 그런데 그 사람이 똑똑하던지 아니던지 그 사람이 생각하고 말하고 하는 것을 얼마나 최선을 다해서 실천하느냐로 기준을 삼아서 평가를 할 수 있어요.


님이 친구를 평가할 때도 이렇게 할 수 있어요. 말만 앞세우거나, 허세가 심하거나, 거짓말을 하거나(특히 돈 문제) 그러면 친구로 사귀기 싫잖아요.


네, 맞아요 말만 앞세우면 친구로 사귀기 싫어요


이렇게 우리에게는 평가 기준이 있는데 이원재님은 현재 합격선을 넘었고 계속 수준을 높여가고 있는 중이에요. 잘하고 있다는 말이죠. 제가 가르친 부분을 왜곡하지 않고 거의 다 실천하더라구요. 물론 앞으로 더 잘할 수 있죠. 그러나 대부분은 사람들은 더 잘하냐 못하냐 문제가 아니라 왜곡을 하거나 필터링을 하거나 해서 실천을 안 하거든요.


1) 배운 것을 있는 그대로 실천한다 / 왜곡하고 필터링하고 안 한다

이 선을 기점으로 합격이냐 불합격이냐가 갈림


2) 1번을 준수하는 선에서 더 잘한다 / 덜 잘한다

이건 그냥 상대적인 차이일 뿐이다.


저는 7월 2째주에 이원재님이 처음 테트리스 코드 분석한 내용 적었을 때 합격이라고 생각했구요. 이기환님은 우연히 들어맞았을 수도 있으니 좀 더 지켜보면서 다른 작업 하는 것도 보자고 했었어요. 그런데 지금은 이기환님도 합격이라고 생각해요.


어제 이원재님이 자기 여자 친구와 대화한 것을 예로 들어서 모방과 창조에 대해서 적어 보았잖아요. 제가 가르친 것을 그렇게 받아들이면서 제가 가르치려고 한 사고방식을 이해하는 거죠. 그래서 이원재님은 합격선을 넘었고, 앞으로 그 수준을 높여나가기만 하면 되구요.


이제 다른 각도에서 질문을 해볼게요. 만약 이원재님이 제가 가르친 것을 다 실천하고 열심히 했는데 예를 들어서 사업이 크게 성공하지 못했어요. 결과적으로요. 이원재님이 개발한 것이 크게 성공하지 못했어요. 작게 성공하거나 아니면 돈을 못 벌었어요. 그러면 어떻게 될까요?


우리는 그런 결과로는 사람을 평가 안 해요. 시장에서 성공하느냐 마느냐 하는 부분은 시장의 고객들이 판단하는 거지 우리가 고객에게 강요할 수 없는 부분이잖아요.


그러나 우리는 우리가 하는 게임에 최선을 다할 수 있죠. 그런데 우리가 최선을 다 했는데 결과적으로 성공하지 못했다? 그러면 또 바로 다음 기회에 도전하면 되요.


이원재님은 제가 비지니스 계획 설명하는거 들으면서 "와, 대단하다. 이거면 사업적으로도 성공할 가능성이 있겠다."하는 생각 들었죠? 가능성 있거든요. 걱정할 필요 없어요. 시장 반응이 안 좋으면 또 추적해서 고치고 개선해서 내놓으면 되요. 제가 "자라"라는 옷 브랜드가 트렌드를 예측하지 않고 추적해서 대응한다고 얘기한거 기억나죠?


그래서 이원재님이 한 질문, "제가 잘못해서 실망을 안겨 드리면 어떡하나요?"에 대한 대답은


1) 이미 이원재님은 합격선을 넘어갔기 때문에 실망을 줄 일이 없다.


2) 사업을 할 때 결과적으로 잘 안되어도 이원재님이 잘못한 것이 아니다. 트렌드를 추적하고 피드백해서 성공하게 만들면 된다.


이렇게 대답할 수 있는 거죠.



마치며

제가 처음에 시작하면서 쓴 것처럼 이번 글은 이원재님을 막 대단한 사람인 것처럼 포장해서 띄우려고 쓴 것이 아니에요. 이원재님는 천재나 수재가 아니었어요. 다른 사람들과 똑같은 평범한 25살 대학교 3학년 학생이었어요. 깨달음을 얻기 전에 이원재님은 그다지 똑똑하지 않았어요. 다른 사람들처럼 쓸데없는 걱정하고 시간을 허비했어요. 이런 이원재님이 크게 달라진 것은 자신의 과거 사고방식의 문제점을 깨닫고 그것을 버리고 새로운 사고방식을 받아들이고 실천했기 때문이에요. 이원재님의 글을 읽어 보면 그 과정이 적혀 있어요.



누구나 다 이원재님처럼 할 수 있어요. 알면서 못 본 척하고, 자기도 모르게 필터링하고 왜곡하고, 결국 최종적으로는 실천 안 하기 때문에 못하는 거에요. 이것은 종이 한 장 차이에요. 저는 다른 사람들도 이걸 깨달았으면 좋겠어요.



21
16
  • 댓글 21

  • 이기준
    164
    2017-08-08 11:47:33.0 작성 2017-08-08 11:51:27.0 수정됨
    0
  • ktsedd
    3k
    2017-08-08 11:51:45.0

    오 서두가 교회에서 전도하러 온줄

    잘읽어볼게요

    1
  • 신입
    7k
    2017-08-08 14:53:16.0

    에디슨의 명언이 생각나네요

    '천재는 99% 노력과 1% 영감으로 만들어진다"

    0
  • D3Master
    492
    2017-08-08 15:04:29.0

    역시 끝판왕은 조물주 위에 건물주~

    0
  • 스즈흐
    316
    2017-08-08 15:13:28.0

    휴 회사에 사수가 없어서 저도 이런 멘토링이라도 받고싶네요 ㅠㅠ

    0
  • 꼬꼼이
    108
    2017-08-09 11:20:51.0

    좋은 글 감사합니다. 많은 자극이 되었네요. 

    저도 오늘부터라도 자기 관찰을 하며 습관을 만들어가야겠습니다.

    0
  • seychelles
    405
    2017-08-09 17:03:40.0

    좋은 글 감사합니다!


    서두에 배경을 좀 적어주셨더라면 좀 더 잘 이해가 될 것 같습니다.

    딱 이 글만 봐서는 이게 뭐지? 이런 생각이 들었었는데

    블로그에 들어가 보니 글쓴이분이 진행하시는 멘토링 프로젝트 과정에서 우수사례를 소개하려고 하시는 것이었군요

    0
  • 이기준
    164
    2017-08-09 17:05:30.0

    제가 첫댓글에 전체 프로젝트 내용을 볼 수 있도록 출처를 남겼는데요. 그걸로는 설명이 충분하지 않았나 보네요. 몇 페이지 읽으면 스토리가 설명되도록 되어 있어서 배경 설명을 따로 하지 않았어요.

    0
  • 땅콩버터
    137
    2017-08-09 17:44:32.0

    아까 공부에 대해서 질문을 올렸었는데 저를 많이 돌아보게 되네요.

    당장 시작 해야겠습니다.

    0
  • 근원으로
    89
    2017-08-09 18:44:06.0

    마음 가짐이 중요한 것 같습니다.

    "이건 안 될거야." "난 못 할거야" 에서

    "난 할 수 있어" 라고 생각하고 작은 것부터 시작하면

    정말 되더라구요. 개인적으로 저도 비슷한 기분을

    느낀적이 있어서 추천 드리고 갑니다.

    0
  • hex1990
    21
    2017-08-10 08:36:35.0

    학습 방법이 굉장히 좋은거 같습니다.

    참고해서 저도 해보겠습니다.

    좋은 글 감사합니다!

    0
  • theFluker
    125
    2017-08-10 11:54:31.0

    와우... 멘토링이 있으면 이런 발전속도가 나오네요

    0
  • acl58
    14
    2017-08-10 15:40:35.0

    현업에 있지만 초심으로 돌아가 열심히 해야겠다는 생각이 듭니다 ㅎ

    0
  • 장지락
    549
    2017-08-11 07:34:32.0

    현업에서 뛰고 날아다니는 천재들 만나보시고 이 글 다시 보면 어떤 느낌일까 매우 궁금해져요~ 실제 고난이도 개발 플젝에 주어지는 시간이 터무니 없이 짧은 경우가 많은데 이런 경우에도 그들은 기발한 아이디어로 문제를 해결하죠. 다소 일정이 지연되는 경우는 있어도 조직은 절대 그런 플젝 포기 안합니다. 다만 인정 안해주고 관리 잘 안해주면 인재들이 조직을 포기하고 떠나죠.

    0
  • 이기준
    164
    2017-08-11 10:32:25.0 작성 2017-08-11 11:41:54.0 수정됨

    /장지락

    댓글로 달아 주신 말씀 맥락이 뭔지 잘 이해가 안되요.

    현업에서 진짜 천재를 본 적 있느냐, 진짜 천재는 이거보다 훨씬 더 잘한다 뭐 이런 식으로 얘기하신 것인가요?

    제가 쓴 이 글과는 아무런 관련이 없는 얘기인것 같은데요. 일단 저는 원래부터 천재로 태어나거나 정해진 사람이 없다고 생각하구요. 꾸준히 소스코드를 분석하고 개선하는 습관이 좋은 프로그래머, 나아가서 뛰어난 사람(천재)을 만든다고 생각해요.

    "님이 현업에서 날고 기는 천재를 경험해 보지도 않고 남을 가르치는 글을 쓰는 것 같은데.. 나중에 진짜 천재를 만나보고 님이 쓴 글을 다시 읽어 보면 어떤 느낌이 들지 궁금해져요." 이런 뉘앙스가 느껴져서 약간 거북해요. 

    제가 링크한 블로그에 들어가면 제가 뭘 개발하는지 어떻게 개발하는지 프로젝트들의 깃허브 링크와 개발 일지가 전부 공개되어 있어요. 그리고 제가 가르치는 내용도 전부 오픈소스를 전제로 해서 공개하면서 진행하고 있구요. 

    저는 자기가 뭘 개발하는지, 어떻게 하는지 과정을 공개하지도 않으면서 현업 수준을 운운하는건 아니라고 생각하거든요. 그런건 공허한 무협지 상상 같은 거죠. 화려한 기술과 지식을 언급하고 전설같은 카더라 무용담을 자랑하는.. 그런데 말로는 무엇인들 못하겠어요. 실천으로 증명을 못해서 그렇지. 

    그에 비해서 깃허브 주소 공개하고 날마다 하루 하루 코드 분석하고 개선한 것을 일지로 적은 것은 겉으로 보기에는 "그래서 뭘 어쩌라고?"하는 뚱한 느낌이 들 수도 있겠지만 이건 진짜거든요. 카더라가 아니라. 그리고 이걸 몇 년 동안 쌓으면 그 차이는 정말 커지는 거죠.

    앞으로 제 글 내용과 상관 없는 댓글은 정중히 거절하면서 이만 줄일게요.



    0
  • 장지락
    549
    2017-08-11 14:39:20.0

    제 댓글의 맥락은 아래와 같습니다.

    • (매우 유능한) 천재형 개발자는 만들어지는 것인가?
    • 아니면 타고난 것인가?


    위 두 가지의 물음에 관한 겁니다.


    그리고 커뮤니티에서 또는 회사 조직에서 사람들은 모두 각기 생각이 다릅니다.

    타인의 생각이나 글에 '거북하다'라고 하시면 자기 검열해서 쓰라는 것인지요?

    0
  • 이기준
    164
    2017-08-11 15:42:32.0 작성 2017-08-11 15:56:43.0 수정됨

    /장지락

    만약 님이 "저는 천재형 개발자에 대해서 이렇게 생각합니다."이러고 말았으면 제가 굳이 댓글을 달 필요가 없었을 거에요. 그러면 그건 님의 생각이고 제가 상관할 부분이 아니니까요. 그런데 님 뭐라고 했었죠?

    "현업에서 뛰고 날아다니는 천재들 만나보시고 이 글 다시 보면 어떤 느낌일까 매우 궁금해져요~"

    저한테 왜 현업에서 뛰고 날아다니는 천재를 만나보라 말아라 하세요? 그건 님이 상관할 바가 아닌 것 같거든요. 거기에 대해서 거북하니까 그런 오지랖 부리지 말아 달라고 한거에요. 글의 주제와는 상관없는 내용으로 남에게 이래라저래라하는거 실례 아닌가요?

    "그건 님이 천재를 현업에서 직접 안 봐서 그런거고 앞으로 님이 인생을 좀 더 살아 보시면 알겠죠." 이런 느낌이더라구요. 그래서 그런 말은 하지 말아달라고 한 거에요. 님이 천재형 개발자에 대해서 뭐라고 생각하던 제가 거기에 대해서 뭐라고 안 해요. 저는 님이 무슨 생각을 하던지 거기에 관심이 없거든요. 님도 적당한 선을 지켜서 타인을 배려해 주세요.

    0
  • 장지락
    549
    2017-08-11 16:20:14.0

    제 처음 댓글이 댁을 비난한 거라고 생각하나 보죠? 비난의도 1도 없었지만 이젠 생기네요. 어쨌든 좀 더 긍정적으로 살아도 됩니다.

    "현업에서 뛰고 날아다니는 천재들 만나보시고 이 글 다시 보면 어떤 느낌일까 매우 궁금해져요~"

    위 댓글 "...만나보시고.. 보면... 궁금해져요"은 가정 후 궁금증을 표한 것이지 "..만나라!"라는 요청/명령으로 이해하니 놀랍네요.

    얼굴 안 보이는 온라인 상이라도 "... 오지랖 부리지 말아 달라..." 이런 표현들은 적절치 못 합니다.

    0
  • 이기준
    164
    2017-08-11 16:46:42.0 작성 2017-08-11 17:15:17.0 수정됨

    /장지락

    제가 하지 말아 달라고 했는데도 계속 하시네요. 오지랖은 참견하다는 뜻의 순우리말이에요. 님이 참견하니까 참견하지 말라고 한 거구요. 그거 듣고 님이 기분 나쁘더라도 그건 제 잘못이 아니죠. 님이 먼저 참견을 해서 그런 말 들은 거니까요.

    "현업에서 뛰고 날아다니는 천재들 만나보시고 이 글 다시 보면 어떤 느낌일까 매우 궁금해져요~"

    님은 "제가 현업에서 보니까 뛰고 날아다니는 천재들이 많이 있었어요. 그래서 제 생각에는 천재형 개발자는 이렇다고 생각해요." 이렇게 주장할 수도 있었어요. 그러면 제가 아무말 안 했을 거에요. 그건 님의 자유니까요. 

    근데 무슨 참견을 하고 싶었는지 저에게 "천재를 만나보고 다시 읽어보면 어떤 느낌일지 궁금하다." 이러더라구요.

    저는 님이 만나 보라는 님 상상속 현업의 천재들에게 관심이 없고 님의 궁금증 물어보는게 거북하거든요. 그래서 하지 말아 달라고 한 거구요.

    하지 말아 달라고 한 번 정중하게 얘기 했는데 또 무슨 검열이니 어쩌고 하니까 오지랖 부리지 말아 달라고 한 거에요. 

    제가 한 번 입장을 바꿔서 이렇게 말한다고 가정해 보세요. "장지락님, 정신과에 가서 남의 일에 쓸데없이 참견하는 강박증이 있는지 없는지 한 번 검사 받고 오시면 결과가 어떨지 느낌이 매우 궁금해져요~" 어때요? 아주 무례하지 않나요? 님이 저에게 궁금증을 표시한게 이렇게 무례하게 여겨질 수도 있다는 것을 이해해 주세요.

    그러면 이제 그만하시죠. 더 이상 시비 걸지 말아 주세요. 저는 문제 없다고 생각하는데 만약 제가 적절치 못한 언행을 했다면 아마 이 사이트 관리자님이 알아서 조치해 주실 거에요.


    0
  • 장지락
    549
    2017-08-11 17:10:13.0

    이기준/

    참 본문하고 매치 안되는 사람일세.... 순 우리말이라서 괜찮다니...

    어쨌든 그대 글은 이제 안 읽을 테니 이제 그만 합시다! 쯔쯔

    0
  • redblacktree82
    2
    2017-08-11 19:27:53.0

    정말 좋은 글입니다. 저도 컴공3학년에 현재 군복무 중이지만


    전역하고 정말 어떻게 할지 고민이 많은데 도움이 되는 글입니다.

    0
  • 로그인을 하시면 댓글을 등록할 수 있습니다.