Tuesday, September 11, 2018

프로그래머가 되기 까지의 회고 (3) - 대학 입학 부터 군 입대 전까지

프로그래머가 되기 까지의 회고 (1) - 초등학교 시절
프로그래머가 되기 까지의 회고 (2) - 중고등학교 시절

----

그렇게 프로그래밍 하는 법을 기억은 하고 있지만 실제로 뭔가 해본 게 없는 체 대학에 입학하게 됐다.
진로 탐색을 하다 보니 컴퓨터공학과가 있다는 사실을 알았고, 게임 잡지나 컴퓨터 잡지를 둘러 봐도 프로그래밍을 하려면 컴퓨터공학과를 나와야 한다는 얘기를 접하다 보니 수능 점수에 맞춰서 컴퓨터공학과가 있는 대학으로 알아보고 진학하게 됐다.

사실은 프로그래밍 하는 거에는 크게 흥미가 있진 않았다. 초등학교때 학원 다니면서 배웠던 걸로 화면에 그림 그리고 적절한 로직을 짜면 되는 거 정도는 해봤기에 그런 것도 있었다. 사실 BASIC에서 짰던 허접한 게임 보다는 중고등학교 시절 열심히 그리고 재밌게 했던 화려한 그래픽의 컴퓨터 게임들을 실제로 만들 줄 아는 게임 프로그래머가 되어야 겠다는 생각을 해서 대학 진학을 한게 가장 큰 이유였다.

여러 학교에 지원했는데 최종적으로 한성대학교에 합격하게 됐고, 아빠 엄마도 나한테 과외 시켜준 적 한번 없고 학원도 제대로 보내주지도 못했는데 서울에 있는 4년제 대학교에 합격했다고 하니 좋아하셨던 것 같다. 난 이때 한성대학교가 서울에 있다는 사실을 처음 알았지만 학교 보다는 뭘 배우러 가냐를 더 비중을 뒀기에 학교 간판에 대해서는 신경쓰지는 않았다. 그러니까 좋은 학교를 먼저 선택한 후에 아무 과나 들어가는 친구들과 나는 목적의식이 다르고 내가 선택한 길이 옳다고 생각을 했다. 그리고 사실 수능 점수로만 따져서 갔다고 했을 때는 조금 더 좋은 학교에 갈 수도 있었다. 입학 후에도 동기들끼리 수능 점수 얘기할 때도 내가 과에서 수능 점수로만 Top5 안에 들었을 정도였으니까. 그때는 대학부심, 과부심 이런게 중요하다고 생각했고 조금 더 좋은 대학에 진학 못한게 아쉽다고 생각할 때도 있었는데, 지금 생각해 보면 조금 더 좋은 대학을 가는게 무슨 의미가 있고, 내가 남들보다 조금 더 잘나고 우위에 있다는 생각이 지금 다시 회고해 봐도 쓸데없는 생각이었다고 본다.

컴퓨터 공학과 라는 곳에 입학을 하다 보니 입학 전에 새 컴퓨터를 장만해야 공부할 수 있다고 엄마한테 얘기했다. 사실 중학교때 쓰던 286 PC는 초등학교 때 컴퓨터학원 다녔을 때 배운거 써먹고 공부하라고 사준 거였다면, 이번에 사준 컴퓨터는 정말로 대학에서 공부하는데 필요한 거라 목적성이 있어 얻게 된 컴퓨터였다. 6년간 잘 써왔던 286 PC에서 그 당시 인기 있던 586 PC로 업그레이드를 했고, 바로 그 PC에서 돌렸던 게임이 286 PC에서 돌렸던 것 보다 너무 잘 돌아서 좋았던 기억도 있다.

그렇게 대학에 가서 컴퓨터 공학과에서 배우는 과목들을 보니, 프로그래밍 수업은 C언어 배우는거 하나 정도였고 나머지는 다 이론적인 거나 수학 관련된 과목들이었다. 논리 회로, 공업 수학, Unix 시스템 이해, 선형 대수 등등의 과목이 있었는데, 수학은 고등학교때 잘 배웠던거 복습 반, 새롭게 배우는거 반 이정도였고 Unix라는 것도 처음 봐서 그때 까지 쓰던 DOS의 명령어들과 다른 것에 흥미가 있기도 했다.

<Unix console window 화면, 지금은 이런 화면으로 컴퓨터를 쓸 일이 거의 없지만 내가 처음에 BASIC으로 프로그래밍 했을 때만 하더라도 이런 화면으로만 썼었다. 지금도 Windows power shell로 unix나 linux system에 ssh로 접속하면 콘솔 화면으로 신나게(?) 컴퓨터를 사용할 수 있다. 문서 편집, 프로그래밍, 심지어 웹 브라우징 까지 모두 cmd로 가능하다!
출처: Unix wikipedia>

난 솔직히 같이 입학한 친구들 중에 프로그래밍에 대해 전혀 모르고 온 친구가 있다는 사실에 많이 놀랐다. 그러니까 나는 컴퓨터공학과에서 프로그래밍을 한다는 거 쯤은 알고 들어왔는데 동기들 중에는 컴퓨터 활용하는 법을 배우러 오는 곳이라고 잘못 이해한 친구도 있었고, 컴퓨터 타자 연습하는거 좋아해서 온 친구, 컴퓨터 조립하는 걸 좋아해서 들어온 친구, 컴퓨터라는 물건을 알고 있긴 했지만 한번도 써본 적도 없는 친구 등등 다양했다. 내가 그나마 조금 나은 케이스였던 것 같다고 그 당시 생각했지만 지금 생각해 보면 역시 부질없는 생각이었다.

가장 중요한 C언어 얘기를 해보면, 수업 시간에 코딩하고 실행하고 결과를 보는 실습을 하는데 그걸 따라가는 친구들이 몇 안됐었다. BASIC 아는 친구는 좀 있었는데, C는 나도 처음이었고 거의 대부분 C는 모른체 그렇게 수업을 들었다. 나도 변수, 반복문, 배열 까지는 BASIC과 큰 차이는 없어 보여 곧잘 따라하고 옆 자리 친구들에게 자랑도 했는데 지금 생각해 보니 그게 뭐 대단한거 했다고 자랑까지 했는지 조금은 부끄럽다.

게다가 C언어 말고 컴퓨터 쓰는 법 자체를 모르는 친구들이 꽤 되다 보니 그런 것도 옆에서 알려주면서 했던 기억이 난다. DOS와 Unix나 명령어는 다르지만 하려고 하는 목적은 같기에 교수님이 알려준 명령어를 잊지 않고 잘 기억했다가 실습시간만 되면 이것 저것 해보는게 재밌었고, 교수님이 뒤에서 지켜보다가 Unix 명령어를 막 쳐가면서 코딩도 하고 이것 저것 하는 모습을 보더니 눈썰미가 있는 학생이라면서 칭찬을 들었던 기억도 있다.

<Unix 실습 시간 외에는 Dos 환경에서 했기 때문에 프로그래밍은 Turbo C를 띄워서 했었다. 지금이야 워낙 IDE가 잘 되어 있어서 마음만 먹으면 얼마든지 쉽게 프로그래밍을 하고 배울 수 있다.
출처: turbo-c.soft32.com>

하지만 자랑질은 거기까지였고 역시나 포인터라는 이해하기 어려운 부분에 들어가면서 부터 그 후에 어떻게 코딩했는지 잘 모를 정도로 공부 안하고 포기했던 것 같다.

지금 대학생들은 안그러겠지만 나 때만 해도 공부하는데 집중한 친구들 보다는 놀고, 술마시고, 연애하는 걸로 입시 스트레스를 푸는 친구들이 많던 때였다. 나도 동아리 활동도 하고 과 친구들과 어울리고 하면서 술도 많이 마시고 많이 놀았었다. 얼마나 놀고 공부를 안했는지 학점 관리가 제대로 안될 지경이었고 F 학점도 있었다.

다시 기억해 봐도 대학 입학하고 첫 해에는 공부를 제대로 한 기억이 거의 없다. 그나마 있는 기억은 내가 남들보다 조금 더 많이 안다고 잘난척 한거 정도다. 결정적으로 그해 말 IMF 사태가 일어나면서 회사들이 줄줄이 부도 파산이 나고, 이제 회사 입사하려는 대학 졸업생 부터 20대 모든 남자들이 IMF 외환위기를 피해 모두 군대에 몰려 있다는 소식이 계속 들려왔다.

Thursday, August 30, 2018

성적 없는 성적표, 그리고 멘토링의 가치

지난 주 성적 없는 성적표라는 책을 읽었다.

성적 없는 성적표
성적 없는 성적표
『성적 없는 성적표』

『4차 산업혁명, 교육이 희망이다』를 펴낸 류태호 교수의 두 번째 저서다. 이전 저서가 4차 산업혁명 시대의 교육을 개괄한 개론이었다면, 『성적 없는 성적표』는 그 연장선에서 역량 중심 교육을 깊이 파고드는 일종의 각론이다. 저자는 먼저 역량 중심 성적표 도입을 준비하는 미국 교육계의 최근 동향을 자세히 설명한다. 그러고는 공교육 시스템의 기원과 미래 교육의 방향을 소개하면서 역량 중심 교육이 전개될 수밖에 없는 이유를 제시한다. 마지막으로 최신 기술을 활용한 교육 플랫폼, 빅데이터에 기반한...
Yes24 출처의 책 이미지와 내용은 위 부분을 참고하면 된다.

내가 지금부터 얘기 하려는 건 이 책에서 언급한 중요 내용이 내가 멘토링 활동을 하고 있는 가치와 일치한다는 점이다.

이 책의 내용은 4차 산업혁명에 대한 얘기와 그에 맞게 교육이 이루어 지려면 역량 중심의 교육이 이루어져야 한다는 주장이 주를 이룬다. 사실 이 책을 읽기 전에 같은 저자의 책 <4차 산업혁명, 교육이 희망이다>를 보고 개요를 파악해야 한다. 물론 나도 이 책을 먼저 읽은 후에 성적 없는 성적표를 읽었다.

여기서 언급하는 역량 중심 교육이 이루어 지려면 여섯 가지의 핵심 내용이 이루어져야 한다는 얘기를 하는데, 사실 책 읽다가 내가 하고 있는 활동의 가치와 너무 부합해서 놀라웠다.

게다가 나도 기존의 교육 방식 말고 프로그래머가 되려는 후배들에게 어떻게 하면 도움이 될 수 있을까를 몇 년 간 시행착오를 겪으며 활동을 해 왔다. 그리고 지금 하는 멘토링 과정에 이르러서야 뭔가 제대로 된 걸 하고 있다는 생각이 들었는데, 그 내용이 류태호 교수의 책에 고스란히 담겨져 있어서 사실 내가 제대로 하고 있구나 하는 느낌이 많이 든 건 사실이다.

역량 중심 교육 여섯 가지 핵심 내용

  • 학습자 중심
  • 과정 위주 평가
  • 수업의 개인화
  • 학습 시간의 자율화
  • 역량 평가의 공정성
  • 연속적인 역량 관리
여기서 역량 평가의 공정성을 제외한 다섯 가지 항목이 내가 하고 있는 멘토링 과정과 맞기에 그 내용을 내 멘토링 소개 페이지에도 업데이트를 했다.


자세한 내용은 위 링크 페이지에 적었기 때문에 한번 보면 좋을 것이다.

어쨌든 이 책을 읽고 느낀 바가 있어, 지금 하고 있는 활동을 꾸준히 그리고 부지런히 할 계획이다.

Tuesday, August 28, 2018

Interview review 2017 #5

Interview review 2017
1. 원격 지원 및 보안 솔루션 제품 개발 회사
2. Unity를 이용한 인테리어 디자인 앱 개발 회사
3. 의료 분야 외국계 회사
4. AR/VR 교육 컨텐츠 앱 개발 회사

-------

5. 쇼핑몰 회사

사실 쇼핑몰로 적었지만 타이틀만 살짝 바꾸면 어느 회사인지 알 수 있을 정도로 손가락 안에 꼽을 수 있는 회사들 중에 하나라는 걸 알 수 있기에 그냥 쇼핑몰이라고 부르겠다.

이 회사는 헤드헌터를 통해 면접을 진행했는데, 헤드헌터한테 먼저 연락온 건 아니고 내가 먼저 job description을 보고 연락을 했고 메일을 주고 받다 보니 그 회사인걸 알게 된 케이스이다.

사실 job description이 꽤나 마음에 들었는데, 이유는 쇼핑몰인데도 내가 주력으로 사용하는 C# 언어를 사용하는데다가 특이하게 xamarin 플랫폼을 사용해서 앱을 개발한다는 내용이 있었기에 호기심이 생겼다. 그리고 제일 중요한건 이 회사에 새로 나온 기술을 사용하는 팀이라면 기존에 있던 팀과 뭔가 다른 조그만 팀일 것 같은 느낌도 있어서 지원하게 됐다.

이력서 역시 회사 포맷에 맞는 이력서를 다시 써서 낼 법도 했는데, 그냥 내 자유 이력서 양식 그대로 진행한 점이 마음에 들었다. 하지만 면접날짜가 잡히기 까지 꽤 오랜 시간을 기다려야 했다.

드디어 날짜가 잡혔고, 그 때는 전 직장을 나와서 프리랜서 생활을 할 때였기 때문에 면접 시간은 편한 시간으로 잡아달라고 해서 오후 3시에 봤다.

회사 건물 1층 입구에서 대기하고 연락을 기다리고 있었는데, 나 말고도 면접을 보는 사람이 몇 있었고 로비에 대기 테이블이 면접자 대기 전용 공간인 것 같은 느낌이었다. 윗층에서 에스컬레이터를 타고 직원인 사람이 한 사람씩 내려와서 면접자를 찾고 같이 올라가는 식이었는데, 나도 곧 이름이 불렸고 면접 안내를 받았다.

6명이 앉으면 꽉 차는 작은 회의실에 대기하고 있으라 해서 몇 분 있었더니 손 코딩 테스트를 진행한다며 종이랑 연필을 줬다. 이건 헤드헌터에게 면접 안내 받을 때도 있던 내용이라 무슨 문제인지 봤더니 신입 개발자 뽑을 때 볼 법한 string 관련 문제 4개 정도가 주어졌다. 아주 어려운건 아니었는데 코드를 적을 수 있냐 없냐 정도를 테스트 한 것 같았다. 그리고 실제 면접 진행 때 코딩 테스트한 수준과 평가 방법에 대해 물어봤는데 어처구니 없는 대답을 들었다. 사실 이 코딩 테스트는 검토하지 않는다고 하길래 왜 그러냐고 다시 물었더니 그냥 절차상 그렇다는 대답을 한걸 보고 뭔가 이상하다는 생각이 많이 들었다. 내가 생각했던 그냥 코드를 적을 수 있냐 없냐 수준으로 코딩 테스트를 한 듯 보였다.

한 30분 정도 코딩 테스트를 진행하고 면접관 두 명과 쓸데없는 자기소개와 경력 위주의 한 일을 얘기하고 업무와 기술 관련된 질문을 하고 답변 하는 식으로 진행했다. 일단 면접관 두 명 중 한명의 태도가 상당히 안좋았는데 이유는 맥북을 들고 와서 계속 뭔가 타이핑만 하고 면접 진행에 집중을 잘 안한다는 점이었다. 그런데 또 웃긴건 면접 기록만 적는 역할만 했다기에는 직무와 관련된 적절한 질문을 하면서 진행했기에 안좋게 보인건 사실이다.

여기서 면접관들 태도 중에 하나 지적해 보자면 사실 면접은 모르는 사람들 끼리 처음 만나는 자리이기 때문에 서로에 대한 관심과 대화에 중심을 둬야 한다고 생각한다. 가끔 노트북PC를 들고와 화면을 쳐다보면서 면접을 진행하는 면접관을 보면 뭔가 잘못돼도 한참 잘못됐다는 느낌이 든다. 면접 평가 같은 건 면접 끝나고 해도 충분하고 노트북에 뭔가를 적을 꺼면 그먄 종이에 펜으로 적어도 되는데 굳이 노트북 PC까지 들고와서 면접에 제대로 집중하지 못하는 모습을 보면 안좋아 보인다. 사실 종이에 펜으로 뭔가 적는 행위도 눈에 거슬리긴 하다.

면접 분위기는 좋다고도 할 수 없고 딱히 나쁘다고 할 수는 없었는데, 경력 관련된 질문은 그럭저럭 괜찮게 넘어갔는데 기술 질문에서 뭔가 포인트를 잘못 짚고 있다는 느낌을 많이 받았다. 그러니까 면접관이 개발자인 것 같긴 한데 기술 질문이 "내가 이정도 알고 있는데, 너는 어느 정도 알고 있냐?"의 느낌으로 진행됐었다. 내가 몰라서 대답 못한 거면 그럴 수도 있다고 넘어갈 수 있지만, 뭔가 그 질문이 중요한건 아닌데도 약간 집요하게 물어보는게 그리 좋아보이진 않았다. 그리고 대답을 잘 해줘도 "뭐 대답이 그정도야?"의 뉘앙스여서 기술 질문의 깊이가 있다면 또 모를까 이 시점에서 그 동안 보여줬던 이 회사의 이미지가 별로라는 느낌을 많이 받았다.

그리고 사람을 뽑는데 필요한 기술 관련된 업무를 물어봤는데, 예상대로 주력 앱은 아니고 서브로 만들어서 지원하려는 앱을 개발하는데 필요한 기술이라고 해서 관심이 있긴 했으나 사실 여기까지 오다 보니 관심이 없어져서 그냥 면접 진행을 끝냈다.

사실 또 실망한 이유 중 하나가 있는데, 퇴사 이유에 대해 집착하지 않았으면 괜찮았을 수도 있었다. 면접관들이 왜 그런거에 관심이 많은지 모르겠지만 이런 질문 받고 얘기하다 보면 회사 다니다 나오는게 정말 죄를 짓는 것 같은 느낌을 많이 받는다. 이력서 상에 특별히 언급한 이유가 궁금하지 않다면 물어볼 거 없어서 퇴사 이유가 뭐냐는 질문은 안 하는게 좋을 것 같다.

면접 끝나고 헤드헌터와도 통화를 했는데, 사실대로 얘기해 줬다. 이 사람들이 면접을 대충 본다는 느낌을 많이 받았고, job description과 달리 기술 질문의 포인트가 뭔가 이상하다. 어쨌든 합격은 안될 것 같은데, 나도 좋은 인상은 못받았다고.

작은 회사라면 모를까 어느 정도 인지도도 있고 큰 회사에다가 회사 문화가 좋다는 얘기까지 들었던 나로서는 이 회사에서 진행했던 면접이 썩 좋지는 않았다.