6장. 해산의 고통
Part2. 자의식 정착기
20. 해산의 고통
처음이자 마지막 게임 작품을 만들고 각자 병역 의무로 인해 팀 전신마취 스튜디오는 자연스러운 해산을 하게 된다. 군대에서 프로그래밍을 못하는 것은 더 큰 간절함을 가지게 된다. 선배에게 부탁한 알고리즘 경시대회 문제를 손코딩 해보지만 결과를 알 수없고 디버깅할 수없다는 사실에 간절함만 더욱 커질 뿐이다.
2년이라는 시간이 지나 군대에서 해산하여 다시 "간절히 원하고 원하던 프로그래밍을 다시 해보자!!" 그 마음은 첫 중간고사가 시작되자마자 다시 입대하고 싶다는 생각을 하고 있다. 나는 어찌된 사람일까?
IT시장의 2년은 무어의 말처럼 2배로 성능이 좋아진다.
2년이 주는 의미는 강렬하다.
2년이 지난 뒤 C#이라는 언어를 새롭게 알게 된다.
C++ ++을 아래에 추가하여 C#이 되었다는 이야기가 있다.
간절함과 이기심 사이 어딘가에 고통이라는 감정이 있는 것 같다.
우리에게 고통이 주는 의미는 무엇일까? 고민하며 성경을 찾아보았다.
성경에서 말하는 첫 번째 고통은 아담과 하와의 범죄의 징벌로 해산의 고통을 주셨다.
"여자에게 이르시되 내가 네게 임신하는 고통을 크게 더하리니 네가 수고하고 자식을 낳을 것이며 너는 남편을 원하고 남편은 너를 다스릴 것이니라 하시고" (창세기 3장 16절)
"여자가 해산하게 되면 그때가 이르렀으므로 근심하나 아이를 낳으면 세상에 사람 난 기쁨을 인하여 그 고통을 다시 기억하지 아니하느니라" (요한복음 16장 21절)
또 해산은 "모였던 사람이 흩어짐"이라는는 의미를 가지고 있다.
우리는 외로움으로 모이게 되고 그 모임에서 상처를 받고 반복적인 해산의 고통을 체험하며 살아가게 된다.
군대에 있을 때는 군대가 고통이고 그토록 원했던 공부가 시험을 볼 때 공부가 고통이다.
늘 지금 이 순간이 고통이다라고 말하는 것과 같다.
하지만 고통이 지나고 나면 그 고통을 기억하지 않고 웃으며 이야기할 수 있다.
21. 멘토링
C# 언어가 대세가 될 것이라는 달리기를 가르쳐준 선배의 말에 C#을 공부하고 있다. 그리고 선배의 추천으로 멘토링 프로젝트에 지원하여 뜻밖에 배움의 기회가 된다. 프로젝트가 시작되어 멘토 교수님을 만나러 가는 중이다. 두근 거림에 짧은 인사를 나누고 복어탕을 좋아하냐고 물으시며 잘하는 집이 있으니 저녁을 먹자고 하신다. 우리는 멘토를 따라갈 뿐 선택권이 없다. 복어탕 식당으로 가는 길은 말 한마디 없이 조용하다. 그리고 멘토 교수님은 말을 꺼낸다.
"복어는 독이 있는 생선이라서 자격을 가진 자만 요리를 할 수 있고 요리사가 실수하면 독에 걸려 죽을 수 도 있어~~."
우리는 어떤 반응을 보여야 할지 대략 난감이다. "멘토와의 첫 대화는 죽을 수도 있다"였다.
긴장을 하며 먹었던 탓에 복어가 무슨 맛인지도 모르고 먹었고 죽을 수도 있다던 멘토 교수님은 그 이후로 만나질 못한다.
멘토링은 기업이 멘토였고 기업에서 e-mail로 과제를 내주고 그것을 수행하는 것이 전부이다. 방향성을 제시해 주지만 개념이 안 잡힌 상태의 우리는 혼란스럽기만 하다. 그렇게 우리는 "이게 맞아~ 맞겠지? 맞을 거야??" 하며 과제를 수행했고 최종과제를 제출하게 된다.
C#은 완전히 다른 형태의 언어이다. 저수준 언어인 Assembly에서 고수준 언어로 발전한 C, C++ 보다 더 높은 수준의 언어로 발전하였다. 높은 수준의 언어답게 코드의 명령어는 더 명확해졌으며 메모리할당 및 관리도 가비지 컬렉션이 자동으로 관리해 준다.
그리고 많은 사람들에게 프로그래머의 길을 포기하게 만들었던 포인터의 의존성이 많이 없어졌다.
사람은 보이는 것에만 보고 믿고 받아들이는 경향이 있다. 이 시각은 포인터를 배우는 사람에게 매우 어려운 개념이 되어버렸다.
22. 베이스 코드
방학 동안에 잠시 베이스 기타 학원을 다니게 된다. 교회와 CCM 동아리에서 베이스 연주자였지만 지금은 손이 제대로 움직이지 않으며 새로운 연주자의 실력이 더 좋아 보이고 내가 설 자리는 없다. 중. 고등학교 때도 안 다녔던 학원을 다시 간다. 실용음악학원이어서 입시를 준비하는 학생들이 참 많다.
이곳에서는 내가 나이 많은 초보아저씨이다. 베이스 선생님은 코드 악보를 보며 정확하게 치는 연습을 해보라고 하신다. 나는 코드 악보를 보며 연주를 하고 있지만 선생님은 마음에 들지 않는 표정이다. 기타 학원은 일주일에 2번 1시간의 수업을 하지만 수업은 거의 내가 집에서 연습해 온 연주를 선생님이 검사하는 것이 전부이다. 분명 연주 실력이 늘었지만 내 기대와는 다르다고 느끼고 있으며 방학기간인 두 달을 채우고 그만두게 된다.
분명 베이스 기타의 실력이 늘어가고 있지만 드라마틱한 성장을 하지 못하는 모습에 스스로 한계에 부딪혀 지쳐갔다. 음악에 대한 타고난 재능이 없기 때문이라고 말하고 있지만 음악에 대한 열망이 없다. 결국 내가 가야 할 길은 음악이 아니라는 것을 알기에 나의 몸은 각성하지 못하여 더 나아갈 수 없는 상태가 되었다.
23. 캡스톤 디자인
이제 졸업학기를 남겨두고 박사 과정을 하고 있는 선배에게 제안을 받고 있다. 자신이 쓴 논문을 구현할 수 있는 기회를 주겠다고 한다. "무슨 말인지 잘 이해가 되질 않는다.?????"
선배는 자신의 논문을 설명해 주면서 기술적인 검토가 다 끝나있으니 개발만 하면 되는 아주 쉬운 일이라고 한다. 나는 "뭐가 쉬운지 모르겠다."
하지만 좋은 기회가 될 수 있다는 생각에 제안을 수락하여 멘토링에 참여했던 멤버 그대로 프로젝트를 진행하기로 한다. 논문에 내용은 Ubiquitous Sensor Network를 이용한 Health-Care 시스템이다. 대략적인 시스템은 이렇다.
기저 질환으로 인해 갑작스러운 발작이나 기절을 했을 때 휴대하고 있는 센서를 통해 환자 상태를 감지하고 GPS로 위치정보를 중앙 병원에 전송하는 시스템이다.
하지만 이번에도 우리가 개발하는 동안 아무런 가르침이 없었고 논문을 자체 해석하여 스스로 개발하고 있고 우리의 진행 사항만 체크하고 있다.
"우리는 불만이 가득하다. 이렇게 관심 없이 맡겨두고 교수님 연구소의 성과로 가져가려고 하는 것처럼 보인다." 하지만 졸업 작품을 대신하기로 한 것이기 때문에 해야 한다. 불만이 가득해도 우리 방식대로 해석하고 구현하여 캡스톤 디자인 대회에서 "금상"을 수상하게 된다.
우리는 이 땅에서 많은 것을 가지기 위해 배우고 또 노력하고 있다.
배움과 가르침은 무엇일까?
사회에서 인정받는 사람이 되기 위해서 더 많은 지식과 경험을 가져야만 경쟁에서 유리하게 작용하게 됩니다. 그런데 어떻게 배워야 하며 또 누구에게 가르침을 어떻게 배워야 하는지에 대한 정답이 없고 그 경험들은 운명인 것인지?? 스스로 만들어낸 것인지?? 잘 모르겠다.
다만 지금 상황을 보면 나는 가르침을 받아서 빠르게 성장하고 싶었지만 제대로 된 가르침을 받지 못했다고 느끼고 있다. 하지만 지금 가르치는 역할을 하는 멘토들은 나의 모습을 지켜보는 것만으로 가르쳤다고 말하고 있을 것이다.
나는 배운 것이 없다고(0) 말하며 리더들은 가르쳤다고(1) 하는 영원의 상태와 같다.
아래 통계를 보면 학습 성취율의 압도적으로 차지하는 것은 "체험"과 "가르치기"입니다.
다른 사람을 가르치는 기회는 쉽게 얻을 수 없으며 어려운 환경임에는 틀림없습니다. 스스로 할 수 있는 것은 오직 "체험" 뿐입니다. 그리고 우리가 "체험"하고 있는 일에 관심 가져주거나 지켜보는 사람이 있다는 것만으로도 배움을 유지하는 데 큰 도움을 주고 있다는 사실을 기억해도 좋을 것 같습니다.
퀘스트 보상으로 소프트 스킬 4개, 하드스킬 4개를 획득하셨습니다.
[INVENTROY]
(소프트 스킬)
간절함
배움
가르침
경험
(하드스킬)
C#
포인터
참조
가비지컬렉션
THE
LOVEBIT
CODE
사랑과 돈, 그리고
영원의 비밀
[쿠키]
포인터는 값을 저장하고 있는 변수가 아닌 메모리의 주소를 저장하고 있는 변수이다. 가장 간단한 설명인 문장조차도 어렵다. "메모리 주소를 저장해서 어쩌라는 거야??"
"만약 포인터 변수에 할당된 값 10을 변경하기 위해서는 포인터가 가리키고 있는 값을 수정하라고 해야 한다."
C#에서는 과감하게 포인터라는 개념을 없애면서 참조(Referecne)라는 개념을 도입하게 된다. 클래스로 생성된 변수는 참조타입이 되어 "메모리 주소와 값이 일치한다."라고만 인식할 수 있도록 하여 변수의 값이 주소인지 값인지 구분할 필요가 없어진다.
사람은 보이는 것에만 보고 믿고 받아들이는 경향이 있다. 이 시각은 포인터를 배우는 사람에게 매우 어려운 개념이 되어버렸다.