[개념]

웹훅(webhook)이란?

chatgpt에 따르면,

참고,

https://frtt0608.tistory.com/143

 

웹훅[Webhook]이란 무엇일까?

✅ Webhook 웹훅은 웹페이지 or 웹앱에서 발생하는 특정 행동(이벤트)들을 커스텀 Callback으로 변환해주는 방법으로 이러한 행동 정보들을 실시간으로 제공하는데 사용됩니다. 보통 REST API로 구축된

frtt0608.tistory.com

 

[사용 예시]

디스코드와 깃헙간에 웹훅을 걸 수 있습니다.

 

디스코드에서

https://discord.com/api/webhooks/url

 

이런 형태의 웹훅 url을 복사할 수 있습니다.

 

Payload url에 복사한 후에 반드시 링크 뒤에

/github을 붙여 주어야합니다.

 

이제 커밋을 할 때 마다 디스코드에 커밋메세지가 알림이 옵니다.

 

알고리즘 스터디를 한다던지, 팀원 간 어떤 프로젝트를 할 때에 어떤 사람이 어떤 커밋을 해오는지 실시간으로 모니터링이 가능합니다.

지난 글들에서는 열심히 다른 친구들의 잘못된 점을 회고했었다.

오늘은 국비에서의 최종 팀 프로젝트 팀플, 국비에서의 나의 잘못을 돌이켜본다.

 

 일단 가장 큰 잘못은 전공자 시절에 코딩테스트를 충분히 준비하지 못해서 취업을 못해서 이런 국비를 가야 했다는 점이다. 적어도 싸피나 우테코에 갔다면, 적어도 이런 고통과 시련을 겪지 않았을지도 모른다.

 

할 수 있을거라고 생각했다.

 사실 나는 너무 많은 것들을 기대하지 않았는가 한다. 나는 앞에서도 몇 번을 언급했지만, 전공자이고,  IT학원의 시스템을 어느 정도 빠삭하게 알고 있었다. 물론, 나는 비전공자들에게 전공자로서 어떤 기대를 하지 않겠다고 마음 먹었었다. 그 현실을 어느 정도 잘 알고 있었다. 실제로, 국비 초기에 이 어린 아기 새들은 구구단조차도 코딩하지 못하는 초심자들이었다.

단시간에 그들이 나와 비슷한 시선에서 국비를 바라볼 수 있을 거라고 생각했었다. 그건 매우 큰 착각이었다. 적어도 나는 수년간 이 분야를 공부하면서 이 분야를 바라보는 관점과 통찰력이 이 친구들과는 레벨이 달라도 한참 달랐다. 공부법에서도 그렇고, 내가 알고 있는 IT안에서의 세부 분야들, 내가 가지는 IT취미들만 해도 그들이 내가 이해하는 IT라는 분야라는 관점은 많이 다를 것이다. 이건 절대 오만해서가 아니라, 투자한 시간 자체가 상당히 많이 차이 나기 때문에 어쩔 수 없는 것이었다. 정말로 내가 다짐한 것 그 이상으로 이 친구들은 성장하지 못했다. 물론, 이 친구들은 단시간에 많은 성장을 했다고 볼 수 있다. 그리고, 어느 정도 당연한 결과였다. 내 생각과 달리 이 친구들에게 어떤 기대심리를 조금은 가졌고, 이것은 나의 잘못이 맞을지도 모른다.

 

나는 더 친절하지 못했다.

 물론, 24시간 대기하면서, 언제든 질문하라고 했었다. 전화번호도 공개하며, 어떤 팀이든 국비의 모든 사람에게 나를 오픈했다. 그런데 정작 그들에게서 오는 메시지나, 전화는 한 통도 없다. 국비가 끝난 지금도 그렇다. 먼저 연락하는 사람은 항상 나다. 이 현상은 사실 이해할 수 없다. 보통은 무언가 얻고자 하는 사람이 좀 더 잘 아는 사람에게 관심을 가지고 친해지고 싶어야 한다고 생각한다. 물론, 이게 나의 잘못은 아니다. 그러나, 우리 팀원들에게만큼은 좀 더 관대하게 행동했을 수도 있지 않을까 한다. 나는 이전 글에서 많이 아는 자의 정보를 남에게 베푸는 게 절대 당연하지 않다고 얘기했었다. 왜냐하면, 나도 이 분야를 알아 오면서 인고의 세월 동안 인내하며, 공부해 온 분야이기 때문이다. 그런데 이런 좋은 정보들을 아무런 이득이 없이 그냥 알려주는 게 너무나도 싫었다. 무엇보다도 나를 대하는 팀원들의 태도가 싫었다. 그들이 나에게서 알고 싶다면, 그들이 나에게 잘해야 한다고 생각을 했었다. 물론, 이건 어느 정도 맞다고 생각하면서도 지난날 힘들게 알아 오고, 공부해 왔던 나도 나지만, 적어도 팀원들에게만큼은 관대하게 내가 나서서 찾아가서 알려줄 수도 있지 않았나라는 생각도 든다. 그들의 입장에서 생각해보자. 나의 올책이 적 시절을 떠올려보면, 누군가에게 질문이 하고 싶어도, 무엇을 질문해야 할지 몰랐다. 그리고, 그런 질문을 할 수 있는 실력이 있고, 질문할 사람이 있어도 그 사람에게 민폐는 되지 않을까?라는 생각에 차마 질문하지 못하는 생각도 가졌던 적이 있던 것 같다. 가령, 내년에 결혼하는 우리 매형은 인공지능 7년 차다. 그런데 혹여나 일하는게 바쁠까봐 질문하지 않는다. 나는 호기심이 많은 청년이다. 뭐든 질문이 하고 싶지만, 회사에서 팀장으로 일하는 매형이 매일 회사에서 팀원들에게 스트레스를 받으며 일하고 있을 텐데, 내가 내 호기심을 채우기 위해서 쓸데없는 질문들을 많이 한다면, 그것대로 피곤할 것이라는 생각도 들었다. 그들도 대략 이런 느낌이었을 것이다. 하지만, 여기서 내 잘못을 얘기하고 있지만, 이 글을 읽는 누군가에게 말한다. 같은 프로젝트를 하는 팀이 있고, 공동의 목표를 추구하는 프로젝트가 있다면, 망설이지 말고 팀장과 리더에게 언제든 질문하라고 말하고 싶다. 만약, 팀장과 리더가 질문이 귀찮다고 욕하면, 그건 잘못된 팀장과 리더이다. 당신들이 모르는 건 죄가 아니다. 모르는 걸 알려고 하지 않으면 그게 바로 죄다. 망설이지 말자.

 

화법의 중요성

 나는 목소리가 크고, 말하다 보면 흥분하는 스타일이다. 이건 정말 내가 진정으로 고쳐야 할 점이다. 말하다 보면 내 감정이 드러나는 순간들이 있다. 그렇다고 해서 내가 알아차리고 화내지 않으려는 자신을 발견한면, 이미 늦었다.상대방이 이미 내가 화가 나서 상처받는 순간들이면, 어김없이 나에게 흥분하지 말라고 말하고 있다. 실제로 팀플에서 이런 일이 있었다. 부끄러웠다.  아...물론, 나는 신나서 과하게 흥분하는 화법도 있다. 이것도 조금 고칠 필요가 있다.

 

 

그래서 요즘 이 책을 읽어보고 있다. 자신의 단점을 제대로 알고, 극복해 보자. 누군가 자신의 단점에 대해서 얘기하고 있다면, 울컥하지 말고, 상대방의 얘기를 귀담아듣고서 더 나은 사람이 되어보자. 아... 그리고 만약 상대방의 단점을 보았을 때, 팀원들 앞에서 리더에게 말하는 것 보다는 따로 개인적으로 메시지를 주면 더 좋지 않겠느냐는 생각이 든다. 팀원이 상사에게 팀원들 앞에서 훈계하는 그런 회사는 들어 본 적이 없다. 물론, 내가 그 팀원에게 화를 내는 이유도 다 이유가 있었다. 그리고 나는 말을 조곤조곤 말하는 연습도 할 필요가 있다. 리더란 팀장이었던 내 파트너처럼 인상 좋고 따끔한 말 한마디 할 줄 모르는 사람이 아니다. 때로는 나처럼 팀원에게 꾸짖을 줄 알아야 한다. 다만, 그 화법에 대한 연구는 좀 더 해보아야 할 문제다. 아... 참고로 여기까지 읽고 너의 화법 때문에 질문이 없었던 게 아니냐는 의문도 있을 수 있다. 그런데 아쉽게도 그게 아니다... 애초에 질문조차 없었고, 이런 화법은 대부분 팀이 너무 참여도가 낮다고 생각되거나, 갑갑한 마음에 나오는 화법이었다. 내가 내 약점을 말하고 있다고 해서 편견을 가지고 판단하고 있었다면, 당신도 그 점을 고쳐야 한다.

 

갈등의 문제

 이전 글에서 팀 내의 갈등에 대해서 많이 다룬 것 같다. 모든 갈등의 문제는 리더에게서 시작되지는 않지만, 명령을 내리는 자리에 있는 사람들의 의사결정은 때로는 묵직해 할 때가 있다. 팀원들의 지방방송에 휘말려서 제대로 결정을 못 내렸다는 건 그 사람의 지도력에 문제가 있을 수 있다. 팀의 의사는 존중하되 때로는 리더는 팀의 미래를 위해서 좀 더 빠르고, 정확한 결정을 해야 한다. 팀원들이 이게 좋지 않냐, 저게 맞냐 따져도, 결국은 누군가 강력한 의사결정을 해야 하는 순간이 있다. 그렇지 않으면, 결국 문제가 발생하거나, 또 다른 갈등을 가져올 수 있다.

 

싫은 것은 확실하게 얘기할 필요가 있다

 이전 글에서 나는 내 외모에 대한 희화화가 있었다고 했다. 나는 싫은 티를 많이 냈지만, 국비가 끝나는 날까지 그 이모티콘은 계속 쓰였다. 이건 사실 팀원들이 주의해야 할 문제이고, 나의 문제가 아니다. 다만, 내가 강력하게 '그렇게 하지 마세요'라고 말하지 못한 것이 나의 문제일 수 있다. 물론, 어떤 가해자와 피해자가 있을 때, 사회적으로는 통상적으로 가해자의 잘못을 얘기한다. 다만, 피해자가 그것에 대해서 강력하게 하지 말라고 말할 수 있어야 한다. 나는 이 점을 너무 쉽게 생각했다. 무언가 장난으로 받아주지 않으면, 내가 꼰대 같고, 보수적일 거라는 시선 때문에 참아 왔지만, 결국은 그건 나의 스트레스로 직결될 수 있다. 꼰대로 보이고, 보수적으로 보이는 것은 중요치 않다. 내가 싫으면 싫다고 말하는 건 나의 권리다. 내 외모가 비하당하는 것을 허용하는 건 굉장히 괘씸한 일이기 때문에, 내가 하지 말라고 말할 수 있는 권리는 앞에서 말한 꼰대, 보수적이라는 단어들을 묵살하고 남을 나의 권리이다. 그리고 이 글을 읽는 누군가에게 말한다. 팀플을 할 때에 쓸데없이 상대방의 외모를 지적한다든지. 상대방의 성격으로 별명을 만든다든지. 상대방이 갤럭시를 쓰던, 아이폰을 쓰던, 그런 게 왜 중요한가? 팀플을 하는 데 있어서 쓸데없는 논제를 얘기하는 것을 자제하는 것을 추천한다. 물론, 팀플이 끝나는 시간에 팀플 외적으로 가벼운 대화들, 상대방과의 선 넘지 않는 대화들이 이루어질 수 있다. 상대방의 입장을 고려해서 선을 넘지 않는 것이 좋다. 이 모든 것이 갈등의 씨앗이 될 수 있다.

 

 

 

ps. 이러한 나의 잘못에 대한 회고는 팔이 안으로 굽는 경향이 있다. 다만, 여기서는 명백히 내 잘못보다는 다른 이들의 잘못이 더 크다고 판단하고 있다. 그렇다고 해서 내 잘못을 회피하려는 것이 아니다. 이런 식의 기록은 진정 내가 고쳐야 할 점을 찾는 데에 많은 도움이 된다. 과연 그 누가? 자신의 잘못에 대해서 깊이 회고하고 바꾸려고 할까? 나는 이 과정을 꿈이 생기고부터 꾸준히 실천해 나가고 있다. 사람은 하루아침에 바뀌지 않는다. 매일 하나씩, 하나씩 바꿔나가야 하는 것이다.

오늘은 국비에서의 최종 팀 프로젝트 팀플에 대한 회고이다.

먄약에 나와 이 프로젝트 했던 팀원들이 이 글을 읽게 된다면, 처음부터 끝까지 조금 편안한 마음으로 읽어주었으면 한다.

 

팀을 어떻게 결성했는가?

 나는 어찌 되었든 이 비협조적인 친구들 중에서 최종 프로젝트를 할 팀원들을 골라야 했다. 

무조건 잘한다고 팀원으로 고르지 않았다. 나는 최종 프로젝트 3주 전부터 내가 팀장을 할 생각에 조금씩 준비를 해나갔다.

미리 혼자서 여러 가지 아이디어를 내고 테이블을 미리 짜놓기, 기획서를 어떻게 짤 것인지 구체적으로 고민했다. 나는 2년간 학원에서 근로장학생으로 일한 경험이 있었기 때문에, 또는 전공자였기 때문에 어떤 식으로 풀어나가야 하는지 어느 정도 알고 있었다. 이러한 작업이 있으면, 팀의 진행도가 좀 더 수월할 수 있고, 우리가 부딪칠 난관을 좀 더 빠르게 극복해 나갈 수 있다.

 우리들은 초심자이지만, 팀원들의 실력도 다들 다르기 때문에, 우리가 나갈 방향들을 팀장인 내가 미리 제시하면 더 좋을 것으로 생각했다. 이러한 부분들은 팀원들이 좀 더 적극적으로 참여할 수 있는 자극제가 되리라...

 

하지만,

나는 내가 팀장을 하지 않기로 했다.

 

 나는 수많은 국비에서 전공자들이 팀장이 되어서 고통받는 것을 자주 보아왔다. 혼자서 버스를 태우는 모습도 많이 봐왔다. 만약에, 내가 모든 총대를 메고, 이 팀을 이끌면 그게 과연 팀을 위한 길인가? 아니면 나만의 독주가 될 것인가? 생각했다. 나는 팀이란 모두가 하나의 목표를 가지고 같이해야 할 공동체라고 생각했다. 물론, 팀장을 한다면 어디서든 내가 팀장을 해보았노라고 당당히 말해볼 수 있기 때문에 좋은 경험일 것이다. 나는 모두가 적극적으로 참여하는 팀플을 원했다. 그래서 나를 대신할 팀장을 위해서 투표를 진행했고, 같이 이끌어 나갈 팀장을 선정했다. 한편으로는, 내가 팀장이 되길 바랬다. 하지만, 결과는 그렇지 않았다.

 

정말 왜 팀장을 하지 않았나?

 단순히 모두가 적극적으로 하길 바라서 팀장이라는 자리를 다른 사람에게 넘기는 것이 뭔가 석연치 않은 것으로 보일 수 있다. 하지만, 나는 팀장보다는 리더로서 이 팀의 중추적인 일을 자처할 생각이었다. 초심자에게는 직책이라는 것이 딱히 중요하지 않다고 생각했다. 나는 이미 마음가짐이 팀장인데 굳이 내가 팀장을 할 필요가 없다는 생각이었다. 단순히 어떠한 직책을 다른 누군가에게 부여해서 그 사람이 더 적극적으로 할 수 있다면, 그게 오히려 팀에 더 좋은 영향을 미칠 것이라고 예상했다. 또한, 팀에서는 누군가는 악의 축을 담당해야 한다고 생각했다. 팀을 이끌기 위해서는 팀장의 채찍과 당근이 필요한 시점들이 있다. 이러한 과정에서 때때로 팀장은 팀원들에게 갈등을 얻고, 이것이 팀을 좋지 않은 길로 이끌기도 한다. 나는 나를 대신할 팀장은 좋은 이미지로 남고, 나는 팀원을 독려할 때는 독려하고, 쓴소리는 내가 하는게 더 좋다는 판단을 했다. 방향성을 제시할 때도 나는 나를 대신할 팀장에게 내 의견을 제시해서 이 팀장이 자신의 의견으로 팀을 이끌 수 있도록 도와주었다. 물론, 팀에 리더가 2명이라면 문제가 생길 수 있다. 오히려 의견 충돌이 일어나서 팀이 가야 할 방향성이 제대로 이루어지지 않을 수도 있다. 그러나 우리는 사전에 많이 말을 나눈 파트너였기 때문에 이것이 가능했다. 우리 둘은 국비 내에서도 알아주는 적극적인 모범생이었기 때문에 서로를 의지할 수 있다고 확신했다. 인제야 얘기하지만, 나는 내 파트너가 팀장으로서 최종적으로 상을 받으리라는 것도 이미 예상하였다. 나는 킹 메이커를 할 생각으로 임했고, 그것은 성공했다. 결정적으로 모든 타이틀을 전공자인 내가 가져가고 싶지 않았고, 그것은 어느 정도 성공적으로 작용했다.

 

모든 계획이 완벽했다.

 앞에서 말한 대로 나는 모든 계획을 미리 기획했다. 사실 누군가 생각하길, 이 작은 국비에서 1등을 하는 것이 어떤 의미가 있느냐고 말하는 사람들도 있을 것이다. 물론, 내가 전공자이기도 하고, 비전공자들이 대부분 인 이 국비에서 내가 잘한다고 티 낼 필요도 전혀 없었다. 그러나, 나는 무엇이든 의미 부여를 하는 것이 좋다고 판단했고, 단순히 즐길 생각을 하고 있지 않았다. 그것이 열심히 하고자 하는 비전공자들에게도 예의라고 생각했다.

 

성공적이지는 않았다.

 안타깝게도 우리의 프로젝트는 내가 생각했던 것보다 더 많은 난항을 겪어야 했다. 우리 팀은 모두가 실력적으로 좋은 팀원들로 구성되지 않았다. 초기에 내가 계획할 때는 리더급 3명과 풀러 2명, 팔로워 3명을 계획했었다. 그러나, 예상과 다르게 흘러갔다. 실제로 리더급이라고 생각했던, 한명은 원래 계획되어 있던 인원이 아니었으나, 강사님의 추천으로 팀원으로서 추가했다. 실제로는 풀러급이었으나,  겉으로 보이는 열정을 보고 리더급으로 추가했으나, 팔로워보다도 못한 능률을 보였다. 또 다른 리더급이라고 생각했던, 전공자 역시도 내가 생각했던 것 보다 많이 비협조적이었다. 그리고 의외로 풀러 한명이 리더급의 실력을 갖추고 있었다. 팔로워 한명은 내 기획이 최종 프로젝트 전부터 이뤄지고 있다고 생각했는지 지레 겁을 먹고 다른 팀으로 가버렸다. 그래서 최종적으로 리더급 3명 풀러 2명 팔로워 2명으로 시작하게 된다.

 사실 이건 크게 중요하게 생각하지 않았다. 팀에서 누가 못하고, 누가 잘하고는 크게 개의치 않았다. 우리는 크고 작은 갈등이 많이 있었고, 논란의 빌런도 한 명 있었다. 결국에는 마지막에 퇴출까지 하는 팀플에서는 좋지 못한 선례로 남았다.

 

 결론적으로, 우리는 한 명의 팀원을 퇴출하고도, 최우수상을 받았다. 나는 이것 역시 예상했었다. 나는 반장으로서도 그렇고, 이 국비의 모든 분위기와, 진행도를 모두 파악하고 있었고, 우리가 얼마나 잘 진행하고 있는지 다 알고 있었다. 그러나 아쉽게도 내 기준에서는 실패한 팀플이라고 말하고 싶다.

 

어떤 점들이 힘들었나?

 일단, 내가 최종적으로 골라낸 팀원들 조차도 많이 비협조적인 친구들이었다는 것이다. 가령, 내가 생각했던 최종적인 팀 프로젝트는 이러했다. 매일 수업이 끝나도 디스코드라든지 줌 회의를 통해서 적어도 밤 10시~12시까지는 모여서 각자 코딩을 하는 것이었다. 또는, 주말 마다 보여서 우리의 부족한 점을 논의하고, 부족한 점을 채워나가는 것이 나의 목표였다. 하지만, 그것은 제대로 이루어 지지 않았다. 이 친구들은 팀 프로젝트를 할 준비가 안된 친구들이었다. 정말 놀 거 다 놀고, 잠잘 거 다 자면서 참여하고자 했다. 내가 분명 24시간 대기하고 있기 때문에 언제든 질문해도 좋다고, 항상 긍정의 표시를 했지만, 국비 내내 나에게 따로 질문을 해오는 이는 단언컨대 한 명도 없었다. 팀플을 하는데에서 있어서도 기본적인 매너가 있어야한다. 만약, 그날 오지 못할 것 같으면, 예고하는 것이 좋다. 그렇지만, 그런 사소한 매너 조차도 없이, 무단으로 결석하는 팀원들도 많이 있었다. 무단으로 결석하고서 미안하다고 말하는 팀원도 없었다. 앞에서는 나의 목표라고 했지만, 결국은 그것이 팀의 목표가 되길 바랬지만, 원하는 대로 되지 않았다. 내가 그러자 하면, 오히려 나는 욕을 먹는 이상한 일들이 벌어지고 있었다. 나는 팀이 원망스러웠다. 그러나, 나는 팀이 힘이 들 때 쯤이면, 내 돈도 아끼지 않았다. 우리는 회사에서처럼 월급을 받고 일하는 팀이 아니기 때문에 당연히 어떠한 성과에 대한 보상은 개인적인 성취에 대한 기쁨 외에는 없었다. 그래서 나는 팀이 힘들다고 느껴지는 시점마다 맛있는 걸 선물해 주면서 그들에게 당근과 채찍을 휘둘렀다. 사실 이것도, 오프라인이라면 술을 마시면 다 해결될 문제였을지도 모른다...

 결정적으로 이것보다도 다른 가장 힘든 점은 앞에서 말했던 빌런의 문제였다. 모든 팀플에서는 크고 작은 갈등이 존재할 수 있다. 그렇지만, 성공적인 자소서, 면접에서 갈등을 극복한 경험을 얘기하기 위해서는 그러한 갈등을 성공적으로 해결한 스토리로 끝나는 것이 매우 좋다. 그러나, 우리는 우리가 할 수 있는 수단과 방법을 아끼지 않고, 그 팀원에게 다가갔지만, 실패했다. 이 건에 대하여 어떤 이는 그게 최선을 다한게 아니지 않을 수 있지 않느냐는 반응들을 들어보았다. 그런데 이러한 부분들은 본인들이 직접 겪지 않고서는 논할 수 없는 무언가라고 나는 확신할 수 있다. 어떻게든 다가가려는 사람과 어떻게든 멀어지려는 사람을 어떻게 붙여 둘 수 있을까? 이건 정말 말도 안 되는 무언가였다. 이러한 문제들에 있어서는 누구든지 딴지를 걸 수 있는 무언가이다. 정말 그렇다. 왜냐하면, 나라면 해결할 수 있지 않을까라는 허황된 믿음들을 가지고 있는 사람들이 있다. 어쩌면 내가 말하는 태도에서는 이미 약점으로 꼽고 있을지도 모른다. 내가 앞에서는 빌런이라고 칭했기 때문에 나의 문제였을 것이다... 라던지... 다시 말하지만, 나는 이런 식의 상대방의 말은 들어보지 않고, 본인만의 편견을 가지고 고정관념을 가지는 사람들도 기피하고 싶다.

 다만, 이렇게 얘기하고 있다고 하여 나는 그러한 의견들을 전부 묵살하고 싶지는 않다. 이렇게 내 블로그에 기록하는 이유는 언젠가 다시 있을 그러한 상황들에서 좀 더 유연하게 대처하기 위해서이다. 과거를 회상하며 내가 진정 반성하면서 다시 그 상황이 왔을 때 어떻게 대처할 것인지 고민할 수 있는 좋은 기록이라고 생각하기 때문이다. 나는 이전보다 더 좋은 리더가 되기를 희망한다. 끊임없이 자아 성찰하며, 더 나은 결과를 만들기 위해 오늘도 그때를 기억하며 회상한다.

 

그럼, 그 팀원이 우리에게 했던 일들을 다시 떠올려보자.

사실, 이런 나쁜 기록은 대개 자신의 블로그에 기록하지 않는 게 좋다. 어떻게 보면, 대외적으로 내 생각을 담고 있는 블로그이자, 어떠한 포트폴리오로서는 쓰일 수 있는 것이기 때문이다. 그러나, 그 팀원의 행동을 기억하며, 나라면 어떻게 했을까? 혹은 이 팀원이 많이 힘들어서 그런 일들을 한 것이 아닌지, 리더로서 반성해 본다.

 

 일단 그 팀원은 거짓말을 입에 달고 살았다. 겉으로는 굉장히 그림을 잘 그리고, 열정적인 친구였다. 또한, 자기주장이 상당히 강하고, 무엇이든 잘 해낼 것 같은 그런 친구였다. 그러나, 거짓말을 많이 하는 사람들의 공통점은 언젠가 들통이 난다는 것이다. 본인이 마치 리더급의 실력을 갖춘 것처럼 행동하였지만, 결론적으로 속 빈 강정이었다. 우리는 초기에 우리가 만들 아이디어를 선정하기 위해서 각자 아이디어를 내보기로 했다. 그 과정에서 이 친구가 생각해 낸 아이디어가 좀 더 창의적이고, 획기적이라고 생각해서 선정되었다. 본디 팀 프로젝트는 공동의 목표를 가지고 같이 만들어 나가야 할 산물이기에 누구의 의견도 존중받을 수 있어야 한다. 그런데 이 친구는 자신의 아이디어에 대한 강한 집착을 가지고 있었다. 우리는 그 아이디어에 대한 어떤 의견을 추가할 때 극도의 예의와 존중을 가지고서 그 친구에게 조심스럽게 얘기해야만 했다. 이건 굉장히 잘못된 것이었다. 물론, 최초에 아이디어를 낸 사람의 의견은 매우 중요하다고 볼 수 있다. 그러나, 그것이 너무 강한 집착으로 이어지면, 우리는 공동의 목표가 아닌 그 친구에게 끌려다녀야 하는 불상사가 일어난다. 물론, 강력한 리더가 자신의 의견을 가지고 팀을 앞으로 끌고 나가도 좋다. 문제는 이 친구는 거짓말에 능숙하며, 자신의 능력을 우리에게 속였다. 전공자인 나로서는 이 친구가 계속 거짓말을 한다는 것과 속이고 있다는 것을 다 알고 있었지만, 다른 이들은 눈치채지 못했다. 결국, 첫 번째 큰 갈등은 이 친구와 나의 갈등으로 이어졌다. 이 갈등을 통해서 나는 확신 할 수 있었다. 이 친구는 매우 피곤한 친구였다. 크고 작은 것에 트집을 잡으며 마치 본인이 하지 않은 것도 다 했다고 하면서, 나를 이 팀에서 나쁜 이미지로 매도해 갔다. 나의 외모를 희화화한 이모티콘을 만드는가 하면, 내가 마치 본인에게 계속 시비를 건다는 미투? 비슷한 행위들을 저질렀다. 나는 알고 있었다. 상대방은 여성이었기 때문에 무조건 내가 먼저 사과를 해야 모든 것이 해결된다는 사실을 말이다. 그렇게 첫 번째 갈등이 끝났다.

 우리는 알아야 한다. 만약, 팀을 모은 진정한 리더가 만약 이상한 가스라이팅을 시달리고 있다면, 자신의 역량을 다하고 싶지 않을 것이라는 이상한 생각을 가질 수 있다는 것을... 나는 국비가 끝나는 시점까지 수십번, 수백번 이 국비에서 내 역할을 다하지 않고 싶다는 고민할 때가 있었다. 실제로, 내가 더 좋은 기능을 만들 수 있음에도 그 기능을 어느 정도 제한해서 만들기도 했다. 물론, 나는 충분히 국비에서 잘할 능력이 있었기 때문에, 이 팀이 우승팀으로 만들 정도의 성과는 내고 있었다. 나는 OCR기능과 채팅 기능이 들어간 기능을 만들었다. 그래 이 얘기를 듣고 나면, 너는 속 좁은 인간이 아니냐고 그럴 수 있다. 그런데 잘 생각해 보자. 나는 회사에 다녔던 경력자는 아니지만, 이 국비 안에서는 경력자에 속한다. 이 친구들보다 월등히 아는 것도 많고, 많은 것을 해낼 수 있는 사람이었다. 만약 많이 아는 존재가 있다면, 그 존재는 자신이 아는 것을 순순히 다 알려줄 거라는 착각과 기대는 가지지 않는게 좋다. 그 많이 안다는 존재는 수많은 시간을 이겨가면서 공부해 왔기 때문에 마냥 쉽게 알려주는 그런 존재들이 아닐 수 있다.

 그런데 이런 친구를 굳이 가스라이팅을 하며 기분이 나쁘게 만드는 팀원을 보며 내가 최선을 다하길 바라는 것은 잘못된 생각이 아닐까? 나는 이런 가스라이팅을 당하면서도 나의 파트너인 팀장에게도 얘기했지만, 안타깝게도 내 파트너는 공감을 잘 못하는 성격이었다. 안타깝게도 우리의 팀원들은 본인들의 기능에만 관심이 있었을 뿐, 팀의 갈등에 관해서 관심이 없었다. 정말 화가 나는 순간들이 많았다. 정말 나의 잘못이었을까?

 수십번, 수백번 생각할 때 쯤에 나를 그토록 힘들게 했던 그 팀원의 거짓말이 들통나기 시작했다. 기능 개발이 진행되고 있지 않은데 마치 개발이 다 되어가는 것처럼, 진행이 되는 것처럼 거짓말을 했다. 그 친구는 팀 내에서 꽤 중요한 기능을 맡고 있었다. 게시판이었다. 사실 게시판은 포트폴리오로 쓰기에는 특별히 대단한 기능이 아니다. 게다가 게시판은 수업 내내 강사님과 수십번을 만들어 본 그런 기본적인 것이었다. 다만, 우리의 주제는 커뮤니티 사이트였기 때문에 매우 중요했던 기능이었다. 그러나, 그 친구는 그 게시판 조차 제대로 만들지 못했고, 결국은 다른 팀원의 코드를 그대로 복사해서 쓰고서, 다른 채널로 가서 한동안 오지 않았다. 자신이 잘한다고 얘기했던 것들이 결국은 거짓말쟁이임을 들통나는 순간들은 참으로 부끄러웠으리라... 그러나 나는 그 순간들에도 그 친구가 정말 미웠지만, 나는 내가 리더라는 점을 망각하지 않았다. 그 친구에게 제자리로 돌아올 것을 계속해서 얘기했고, 그 친구가 힘들어하는 점을 같이 힘들어하려고 노력했다. 그 친구가 어려워하는 부분들도 계속 설명도 하고, 알려주었다. 그러나, 결국은 그 친구는 아무것도 하지 않고서 끝에는 퇴출당하고야 말았다. 나에게 아무도 미안하다고, 그동안 고생했다고, 진심 어린 따뜻한 말 한마디 해 오지 않는다. 나는 매우 슬펐다. 우리는 상을 받았지만, 프로젝트가 끝나고도 한동안 화가 나서 어떤 프로젝트도 하지 않고, 명상의 시간을 가졌다. 보아라... 이것이 팀플이다... 나는 사실 많은 국비들에서 더 심한 싸움도 많이 목도해왔다. 그런데 그런 갈등의 중심에 내가 있으리라고는 상상도 못했다.

 

 팀 프로젝트는 본인의 기능만 다 만든다고 해서 전부가 아니다. 팀 프로젝트를 해보면 자신의 기능 개발에 집중하다 보면, 팀원들이 무엇을 하고 있는지 확인하지 않는 팀원들이 많다. 그저 자신의 할 일은 자신의 기능만 잘 개발하면 되는 것으로 생각한다. 그런데 실제로는 그것은 좋지 않은 행동이다. 내가 기능을 성공적으로 잘 만들어도 내가 만든 어떤 특정 함수 때문에, 다른 팀원의 기능이 동작하지 않을 수 있다는 문제도 있고, 무엇보다도 우리가 목표로 했던 애자일 방식에도 맞지 않다. 실제로 내가 한참 전에 만든 기능이 다른 팀원이 만든 기능으로 인해서 내 기능이 작동하지 않는 불상사가 있었다. 하지만, 그 팀원은 자신의 잘못을 전혀 인지 못하고 있었고, 마지막 까지도 그저 자신이 양보했다고 생각하는 듯 했다. 그런 충돌된 기능이 있다면, 그 팀원이 나와의 공조를 요청하고, 같이 해결해 나가려고 노력해야 한다. 그런데 그 고민이 나만의 것으로 느껴졌다. 내가 이런저런 대안을 제시해도 같이 고민을 하고 있는 것인지 의문이 들었다. 그리고 우리 팀원의 갈등이 있으면, 나의 갈등이라고 생각하고, 적극적으로 관심을 기울일 필요도 있다. 그렇지 않으면, 팀은 여전히 제자리걸음을 하고 있거나, 무너지고 있다는 것 조차도 모른 체 팀이 끝이 날 수도 있다는 것을 알아야 한다. 가령 힘들어 보이는 팀원이 있다면, '괜찮아요? 무슨 일이 있었어요? 한번 들어줄게요 얘기해 봐요.' 이런 말들을 걸어주는게 정상적인 팀원들의 반응이 아닐까? 팀의 무관심은 정말 지옥과도 같았다.

 

 모든 갈등을 기록하지는 않았지만, 여기까지 하겠다. 여기는 내 일기장이다. 단지, 공개되어 있을 뿐, 국비에서 어떤 갈등이 있는지 알아볼 수 있는 예시쯤으로 생각하길 바란다.

 

기술적 갈등은 없었나?

 우리가 직면했던, 갈등은 여러 가지 있었다.

 첫 번째로, 위에서 말했듯이 어떤 기능 간 갈등이 있었다. 내가 맡았던 가계부의 영수증 스캔 기능과 게시판의 글 작성에서 이미지 첨부 기능 간의 충돌이 일어나는 오류가 발생했다. 영수증 스캔을 위한 OCR 기능을 위한 'MultipartEntityBuilder' 와 이미지 첨부를 위한 'MultipartResolver' 간의 충돌로 인한 오류였다. 이 점을 해결하기 위해서 노력했지만, 우리는 기능 개발을 하기에 빠듯한 시간을 보내고 있었기 때문에 나중에 개발된 이미지 첨부 기능이 제외되었다. 프로젝트 마감이 다가 왔기 때문도 있었고, 나의 멘탈을 흔들고 있는 누군가 때문에 제대로 집중하지 못했다.

 두 번째로, 프론트 쪽에서 갈등이 생겼다. 내가 처음부터 기획할 적에 우리의 본질은 백엔드였기 때문에 과한 디자인을 넣지 않을 생각이었다. 때문에, 나는 정말 단순하게, CSS와 HTML을 작성하도록 유도할 생각이었다. 무엇보다도, 여기서도 문제의 그 팀원이 자신이 디자인을 맡겠다고 나에게 요청해 왔고, 그녀가 하리라고 생각했다. 물론, 나는 전체적인 디자인적 인 큰 틀을 분명 얘기해 왔지만, 다들 귀담지 않았고, 그것이 문제의 시작이었다. 그렇게, 우리가 디자인을 제대로 정하고 가지 않아서 후반부에 또다시 갈등을 가져야했다. 일단, 문제의 팀원은 자신이 거짓말해 온 것이 부끄러웠는지 다른 채널에서 나오지 않았고, 우리는 또다시 고민했다. 그리고, 충격적인 사실은 우리 팀원들 중에서 프론트를 공부했던, 디자이너가 있었다는 사실이었다. 나는 이점이 너무 아쉬웠다. 국비라면, 다양한 분야에서 공부했던 비전공자들이 모인다. 그렇다면, 자신이 잘하는 분야가 하나쯤이 있을 수 있다. 그런데  왜 자신 있게 내가 이 분야를 잘 안다고 말하지 못하는 것일까? 

 그 팀원은 마케팅 분야에서 5년 넘게 일한 베테랑이면서, 프론트도 우리 중에서 가장 잘 아는 친구였다.  그렇기에 초반 아이디어에서도 그렇고, 프론트에서도 충분히 자신의 의견을 피력할 기회가 있었다. 그러나 그러지 않았고, 이러하니까... 당연히도 백엔드로서의 가치보다도 우리의 포트폴리오가 미적으로 예뻐야 한다는 생각을 가졌을지도 모른다. 물론, 그 친구의 백엔드로서의 역량은 팔로워였기 때문에 충분히 이해가 가는 부분이었다. 아마도, 미적인 부분을 챙겨가면서 자신이 맡은 기능을 제대로 다해낼 자신이 없어서 그랬으리라... 그러나, 팀원들은 결국은 미적으로 포기하지 못하는듯했다. 나는 백엔드라면, 기능 개발에 더 충실해야 한다고 말하고 싶었지만, 그 친구의 능력을 절충하여 우리는 좀 더 미적으로 괜찮은 프로젝트로 거듭났다. 이 과정에서도 우리는 꽤 많은 시간을 빼앗겼다. 물론, 결론적으로 우리는 미적으로 괜찮은 프로젝트를 얻을 수 있었다. 그러나, 한편으로는 그 팀원이 조금 미적인 부분을 포기하고, 자신의 기능을 좀 더 채워나갔으면 더 좋지 않을까라고 하는 아쉬움이 남는다. 아마 프로젝트가 끝나고도 본인이 디자인을 다 해냈다고 뿌듯해하는 것 같았지만, 본질적으로 그게 우리의 목표가 아니었다고 지적하고 싶었다.

 세 번째, 우리는 깃헙으로 고통받았다. 이 부분은 나도 전공자임에도 불구하고, 관련 경험이 많지 않았다. 내 파트너인 팀장이 주도적으로 깃헙을 관리했다. 확실히 우리는 제대로 된 협업을 위해서 룰들을 정했다. 하지만, 우리는 깃헙이 익숙지 않았고, 많은 실수를 했다. 누군가  메인 브랜치에 합쳐서 브랜치가 꼬이면서 다시 레포를 만들어야하는 불상사도 있었고, 각자 기능을 커밋하고, 머지하는 과정에서 잘못 합쳐져서 혹은, 코드에 대한 충돌들을 수없이 겪어야 했다. 물론, 이건 매우 소중한 경험이었다. 그러나, 팀장이었던 내 파트너는 자신이 팀장을 했던 것을 굉장히 후회하는 듯하였다. 우리가 기능 개발을 하는데 다소 지체하도록 만드는 악영향도 있었지만, 현업에서의 협업 도구들을 경험해 보는 것은 값진 경험이다.

 네 번째, 기술 욕심에 대한 갈등이 있었다. 나의 파트너인 팀장과 나는 기술적 욕심이 상당히 많았다. 그래서 어떤 것이든 만들고 싶다는 생각하고 있었다. 첫 기능을 내가 먼저 만들고, 나는 내가 만들 기능을 고르고 있었다. 고민 끝에 채팅 기능을 만들기로 했다. 사실 이 기능은 초기에 계획한 기능이 아니었다. 그러나, 이미 다들 뭔가 만들려고 다 붙잡는 분위기였고, 내가 고를 수 있는 테이블이 없었다. 게다가 나는 팀 내에서 경험이 많은 사람이었기 때문에 좀 더 어렵고, 좋은 기능을 만듦으로서 팀원들에게도 좋은 경험을 안겨주고 싶었다. 물론, 기술적 욕심을 너무 안 가지는 팀원들도 있어서 이것대로 스트레스가 있었다. 너무 쉬운 기능만 붙잡고서, 포트폴리오로서는 전혀 쓸모없을 것 같은 기능들만 늘어지는 현상들에 대해서였다. 실제로 강사님도 그 점을 지적해 주셨지만, 본인들의 포트폴리오를 챙기려는 생각이 있는지 의심스러웠다. 왜냐하면 팀플이라고 해도 결국은 기업들에 면접을 가면, 각자 본인들이 만든 기능들에 관해서만 설명하기 때문이다. 그래서 결국은 팀플이면서도 개인 프로젝트가 될 수 있는 것이기 때문에, 반드시 핵심적인 기능 한 개 정도는 본인이 담당하려고 하는 것이 좋다. 이 점을 꼭 유념해야 한다. 본인이 실력이 없다고 생각해도, 어려운 기능 하나 쯤은 도전하려는 정신을 가지는 게 좋다고 생각한다. 기억하자. 다른 사람이 본인을 챙겨줄 것이라는 망상을 해서는 안된다. 물론, 나는 리더로서 이 부분이 항상 걱정되었다.

 

 그 외에도 우리는 꽤 많은 충돌이 있었다. 우리는 애자일 방식을 가지며, 매일 우리가 하는 것들에 대해서 기록하고, 소통하는 기록을 남기려 했다. 그러나, 내 생각처럼 협조적으로 항상 기록을 남기는 것만은 아니었다.

 

 다시 말하지만, 나는 위의 수많은 갈등에도, 때로는 모든 갈등을 팀원들에게 다 얘기하지는 않았다. 그래서 팀 프로젝트가 끝나서도 제대로 경황을 몰랐던 팀원들도 있었으리라고 생각한다. 그리고 위에서는 내가 마치 열심히 하지 않은 것처럼 얘기하는 부분들도 있지만, 그건 어느 정도 맞으면서도 아니었다. 나는 수많은 국비에서 일어나는 일들을 많이도 들어왔다. 많은 팀장들과, 리더들이 자신의 갈등과 고통을 이겨내지 못하고, 쓰러지는 모습을 보아왔다. 나는 그 수 많은 모습들을 보면서 나에게 그런 일들이 생겨난다면 반드시 극복할 비전이 있었다. 나는 단 한 가지 목표만을 생각하며 인내했다. 결국은 '살아남는 자가 강한 자'다. 우리 팀이 1등 할 수 있다면, 내 고통이 모두 극복되리라는 믿음을 가졌다. 실제로 그 성취는 어느 정도 나를 만족 시킬 수 있었다.

 

그러나, 나는 여전히 그때 그 프로젝트를 떠올리면, 고통스러운 순간들이 있다. 다음에는... 다음에도 이런 일이 있다면, 나는 더 나은 방법으로 극복하리라... 오늘도 다짐한다. 내가 더 넓은 마음으로 그 팀원에게, 팀원들에게 다가갈 수 있었다면, 더 성공적인 프로젝트로 남았으리라... 이상 자아 성찰을 하며 이 글을 마친다.

 

ps.

 무언가 이 글에서 알게 모르게 내 감정이 좀 드러났다. 그래서 다음 글에서는 팀플을 하면서 내가 고쳐야 할 점이 없었는지 다시 회고하는 글도 써 볼 생각이다. 이러한 회고는 근본적으로 내가 고쳐야 할점을 좀 더 객관적으로 뜯어 볼 수 있는 기회가 될 수 있다고 생각한다. 나도 인간이다. 예수나, 부처님 또는 성인군자가 아니다. 언제든 잘못된 생각과 고정관념에 사로잡혀서 진정한 내 모습을 못 보고 있을 수 있다. 나에게도 잘못된 관점이란게 있을 수 있고, 리더라는 사람은 여러 가지 인사이트를 가지고 여러 가지 관점을 가지는 존재여야 한다고 생각한다. 나는 더 나은 존재로 거듭나고 싶다.

 

 참고로, 이 모든 갈등이 비단 우리 팀플에서만 일어난 것이 아닌 여러 국비에서도 일어나고 있고, 일어날 수 있다. 회사에서도 마찬가지이며, 우리 국비 내에서 우리 팀에만 일어난 일이 아니란 점을 기억하자. 어떤 팀에서는 리더가 둘이나 의도적으로 악의를 가지고 팀플에서 탈출하는가 하면,어떤 팀의 팀원은 팀원들에게 속이고, 에버랜드로 놀러 가는 발칙한 행동도 했었다고 한다. 이 모든 걸 너는 어떻게 다 알고 있느냐고? 나는 이 국비에서 모두의 팀장이라고 할 수 있을 정도로 모든 팀의 진행과 분위기를 거의 완벽하게 알고 있었다. 팀에서 좋지 않은 고민을 하는 팀장과 리더들에게 말한다. 이겨내라. 성공적으로 프로젝트를 마치면, 너는 한 단계 더 성숙한 단계로 거듭날 수 있을 것이다.

 

 게다가 나는 아직 수료 이후에도 팀원들 간의 연대를 놓치지 않고, 있다. 연락이 닿은 모든 팀원에게 내가 아는 새로운 정보가 있으면, 알려주려고 노력하고 있다. 취업을 성공한 팀원들에게는 책도 선물하면서... 다가가기 힘든 사람도 꾸준히 대화를 걸어보라. 언젠가 문이 열릴 것이다. 물론, 그 친구에게는 연락하지 않는다. 이것이 나의 한계다.

나는 컴퓨터 공학과를 4년제를 졸업하고, 6개월간 온라인 국비에 참여했다.

멀티캠퍼스 백엔드 개발 국비였다.

 

아마도 국비를 갈려고 생각하는 비전공자들이나, 전공자들이 많은 도움이 될 글이 아닐지 하는 생각이다.

 

시간이 꽤 지난 상태에서 쓰고 있는 글이지만, 혹시나 우연히 우리 국비 동기들이 이 글을 읽게 된다면 이건 그저 나의 일기장이라고 생각하고 무겁게 보지 말고 가볍게 지나가는게 좋다고 생각한다.

 

내가 멀티캠퍼스 온라인 국비를 선택한 이유?

 나는 앞서 2년간 근로장학생을 하면서 학원에 다녔다. 어느정도 IT학원에 대한 생태계를 잘 알고 있었고, 어떤 식으로 운영이되는지 꽤 잘 안다고 생각한다. 그리고 나는 전공자였다. 이런 전제로 나는 어떤 국비가 좋은지 어느 정도 알고는 있었다.

물론, 마음 같아서는 SSAFY나, 우아한테크코스와 같은 질 좋은 부트캠프로 가면 더 좋았으리라...

하지만, 나는 그 정도의 코딩테스트를 할 실력이 없었다. 항상 말했듯 나는 학점만 좀 높은 말하는 감자이기 때문이다. 물론, 비전공자들 사이에서는 좀 많이 아는 전공자로 통할 수 있다.

 사실 원래 다녔던 학원에서 국비에 와서 팀장으로 진행해 보지 않겠냐고 제안아닌 제안도 왔었다. 그런데 그렇게 하지 않았다. 나는 기본적으로 어떤 국비든 잘 소화해 낼 자신이 있었다. 기본적인 도메인 지식이 그래도 있었다. 아니? 설명은 잘 하지 못한다. 하지만, 무엇을 어떻게 해내 가야 하는지 길을 남들보다 좀 더 잘 알고, 잘 찾을 자신이 있었다. 왜냐하면 나는 삽질의 달인이니까... 나는 밤을 새워서라도 무언가 만들 열정과 정신력을 가지고 있었다.

 그래서 왜 온라인 국비를 들었냐고? 위에서 말한 내용들이 이걸 다 얘기 해주고 있다. 나는 온라인 국비를 들어도 충분히 잘 소화해 낼 자신이 있었다. 나는 무언가 나에게 주제가 던져졌을 때, 수단과 방법을 가리지 않고, 시간을 박아가면서 해결해 낸다.

 아? 이것과 별개로 몇 가지 이유가 더 있었다.

 첫째로, 돈이었다. 나는 국비가 필요하지 않았지만, 취업 준비 생활을 이어나가기 위해서는 자금이 필요했다. 오프라인 국비의 경우 국민취업지제도를 하면서 들으면 1유형의 경우 50만원의 돈을 매달 6개월 동안 지원받을 수 있다. 그러나, 나는 그 정도의 돈에 만족하지 않았다. 온라인 KDT 국비를 들으면, 출석률만 다 채운다면, 매달 약 30만원의 돈을 더 챙겨갈 수 있다.

아마 국비를 들을 생각으로 이 글을 읽고 있는 누군가가 있다면, 당신은 행운아다. 맞다. 이 정보는 국민취업지원제도 상담사들 조차도 잘 알지 못하는 꿀팁이기 때문이다. 실제로 국비가 진행될 때까지도, 상담사들은 이 국비를 통해서 정말로 내가 80만원이라는 돈을 지원받을지 의심하였다. 알고 있었으면서 모르는척했는지도 나도 모른다.

 둘째, 온라인 국비라는 점이다. 엥? 위에서 다 설명했잖아? 맞다. 하지만, 진짜 이유를 설명하지 않았다. 본질적으로 온라인 국비라는 특성상 여러 번 들을 수 있을 거라고 생각했다. 나는 코로나 시기에 대학을 다니면서 좋았던 점이 있었다. 교수님의 어려운 강의를 여러 번 들을 수 있었다는 점이다. 기본적으로 대학 강의들은 한 번만 듣고서는 도저히 어려운 내용들의 과목들이 많다. 그런데 나는 무려 이런 강의를 한 강의당 수십번씩 돌려보면서 들을 수 있었다. 만약, 우리 학교 교수님들이 이 글을 본다면, 이렇게 말하고 싶다. '네 맞아요! 교수님들의 온라인 강의가 정말 도움이 많이 되었습니다!'라고, 절이라고 하고 싶은 심정이다. 물론, 실제 규정상으로는 녹화가 금지되어 있다고 한다. 강사님의 재량으로 고화질의 녹화본을 제공받을 수 있다. (나는 녹화를 금지하던 말던, 이런걸 제공하기 이전에 그냥 녹화했다. 이유는 간단했다. 나는 공부를 할 목적으로 녹화할 뿐, 누군가에게 공유할 생각은 전혀 없다. 녹화를 하지 말라는건 여러 가지 이유가 있겠지만, 나의 입장도 있기 때문에 그냥 가볍게 무시했다. 녹화에 대해서는 학원의 입장, 개인 초상권을 가진 개개인의 입장들이 있다는 점을 유의하면서 공부할 목적으로만 녹화할 것을 당부한다. 만약, 이 녹화본이 어디론가 유출이 되었을 때에는 꽤 복잡한 문제가 발생할 수 있다는 점을 유의해야만 한다. 그런 불상사가 일어나서는 안된다.)

 아무튼 이런 이유도 있었지만, 무엇보다도 온라인 국비이기에 나는 다른 딴짓도 할 수 있었다. 가령, 개인적으로 혼자하고 싶은 공부도 할 수 있었다. 사실 국비라고 해서 모든 내용이 다 들어야 좋고, 그런 내용이 아니다. 이미 아는 내용들도 수두룩하고, 국비에서 들으라고 하는 언제 찍었는지도 모를 굉장히 오래된 강의 영상들...;; 나는 이런 영상들을 정말 솔직하게 하나도 듣지 않았다. 물론, 규정상 들었다고 해야 하는 처지이기에 거짓말을 아낌없이 해야 한다. 이렇게 개인 프로젝트를 병행한다던지, 전공자로서는 굉장히 효율적인 시간을 보낼 수 있었다.

  셋째, 멀티 캠퍼스여서였다. 나는 특정 지역 학원들의 오프라인 국비들이 어떤지, 대략적인 정보를 알고 있는 사람이었다. 따라서, 나는 잘 골라 갈 수 있다고 생각했다. 기본적으로 코딩테스트로 갈 수 있는 부트캠프를 제외하고서, 갈 수 있는 국비들을 추려보았다. 그러다가 멀티캠퍼스를 선택한 것이었다. 이유는 SSAFY에서 진행하는 회사가 같아서였다. 물론, 질적으로 국비의 성격은 매우 다를 수 있다. 그러나, 기본적인 운영 방침은 비슷하리라고 보았다.  정말 그러한지는 나도 정확히 모른다.

 

실제로 SSAFY 홈페이지 가보면, 멀티캠퍼스에서 위탁 실시한다고 적혀있는 것을 알 수 있다.

 

이게 바로 내가 믿음을 가졌던 근본적인 이유였다.

 넷째, 멀티캠퍼스 강사들에 대한 정보가 있었다. 나는 생각보다 몇 년간 이 길을 걸으면서 많은 정보력을 갖추고 있었다. 그래서 어떤 국비의 어떤 강사님이 잘 가르친다는 얘기를 꽤 잘 아는 편이었던 것 같다. 물론, 내가 겪게 될 일은 잘 알지 못했다. 그저 몇몇 알려진 강사님들의 정보를 듣고서 모든 강사님이 그럴 것으로 생각한 내가 바보였지만, 결론적으로는 일이 좋게 풀렸다고 생각하는 편이다. 

 다섯째, 충분한 장비가 있었다. 대게는 오프라인 국비를 듣게 될 경우, SSAFY의 경우처럼 싸트북을 대여 받을 수 있다거나, 오프라인 강의실에는 기본적으로 컴퓨터들이 다 준비가 되어있다. 나는 기본적으로 온라인 강의를 들어도 대처가 가능할 정도로 컴퓨터가 여러 대 있었고, 여분의 모니터가 많이 있었다. 실제로 이런 점이 많이 도움이 되었다. 개발을 하다보면, 가끔은 인터넷 창을 난잡하게 켜놓고 있기도 하고, 무엇보다도 나는 하고 싶은게 너무나도 많았다. 개인 프로젝트도 하고 싶고, 다른 공부도 병행할 예정이었다.

 

자... 여기까지는 온라인 국비를 갔던 진짜 이유였다. 꽤 장황한 설명을 했다. 

 

 

내가 수료했던 멀티 캠퍼스는 정말 어땠을까?

나는 국비를 진행하기에 앞서서 이미 국비는 어떤지 많이 알고 있었다.

학원의 시스템이라든지, 국비에 올 친구들이 어떤 사람들인지, 강사님은 대략 어떤 사람일지 정도였다. 그리고 무엇보다도, 어떤 커리큘럼으로 배우고, 어떤 도구들을 배울지 그런 모든 점을 다 파악하고 있었다.

 

https://www.hrd.go.kr/

 

https://www.hrd.go.kr/

 

www.hrd.go.kr

 

일단 이 사이트를 통해서 어떤 국비에 어떤 강사님이, 어떤 커리큘럼으로 진행될지가 국비가 진행되기 이전에 등록된다.

만약, 사전에 어떤 책들이 제공되고, 어떤 후기가 남겨져 있는지 확인하고 싶다면, 이 사이트를 확인하면 된다.

 

기본적으로 꽤 자유롭게 리뷰를 쓰고 있기 때문에 꽤 정확하지 않을까 싶기도 하지만, 그저 참고하는 용도로 쓰는 걸 추천한다. (개인적으로 리뷰가 정확하지 않을 수도 있다고 생각한다. 듣기로 좋은 리뷰를 남기라고 강요하는 국비도 있다는 소문을 들었기 때문이다. 이 역시 정확하지 않다. 아무튼 참고만 하자.)

 

본론으로 돌아가서, 일단, 이 국비는 기본적으로 코딩테스트를 치고 들어가는 국비가 아니었다. 그런 점에서 이미 어떤 사람들이 모여서 진행될지는 장담할 수 없다. 확실히 코딩테스트와 면접으로 걸러져서 오는 우리가 아는 부트캠프들과는 질적으로 많이 다른 사람들이 온다는 점은 분명히 말해 줄 수 있다. 절대로 이 사람들을 나쁘게 생각해서 말하는게 아니다. 단지, 객관적으로 얘기해주는 점이라는 걸 알아주었으면 한다.

 

아무튼 이 국비에는 대부분이 비전공자일 확률이 매우 높다. 성실하게 듣는 친구들도 있고, 아닌 친구들도 있겠지만, 대개는 전공자인 나의 관점에서 엄청난 열정을 가진 사람들은 없었다. 밤을 새워서, 이 국비를 불태우겠다는 의지를 가진 투지의 사람은 정말 없었다.

 

정말 아쉬웠던 점

 일단, 온라인 국비여서 치명적인 단점이 있었다.

 첫째, 사람들 간 친해지기가 매우 어렵다는 사실이다. 기본적으로 무언가 팀플을 진행할 정도의 의사소통이 오가려면 서로 간의 의지를 확인하고, 친해져서 팀을 꾸려나가야 한다는게 내 생각이었다. 그런데 이 친구들은 기본이 안 되어 있는 친구들이 대부분이다. 만약에, 나라면 정말 열심히 하고, 성실히 할거야라는 아이콘의 누군가를 본다면, 당장 그 친구와 친해져서 무언가를 하고 싶었을 거라고 생각한다. 그러나, 정작 친해져야 할 일은 나의 몫이었다. 어떻게든 친구를 많이 사귀기 위해서 미친 듯이 채팅을 쳐가면서 같이 팀 프로젝트를 할 팀원을 몰색해야 했던 것이다. 정말 피곤한 일이었다. 만약, 오프라인이었다면, 수업을 마치고 술 한잔하면 모든게 해결될 무언가였을 지도 모른다. 실제로 오프라인 국비에서는 강사님과의 만담을 이어갈 수 있는 여건도 될 수 있고, 비교적 많이 친해져서 형, 동생 하는 그런 그룹들을 많이 볼 수 있었다.

 아무튼, 이런 것들은 내가 국비를 다닐 적에 이루어질 수 없는 무언가였다. 정말 답답한 시간을 보내야만 했다. 이런 활발함 때문이었을까? 강사님이 반장을 시켜주셨다. 딱히 큰 직책을 주신 건 아니었지만, 나도 모르게 강사님을 도와서 국비에서 크고 작은 일을 돕고 있었던 것 같다. 가령, 어떤 사람들 간의 갈등이라든지, 팀의 문제, 국비의 본질적 문제들을 소통할 수 있었다.

 둘째, 일관성이 없다. 학원 측에서 민원을 의식해서 그럴까? 이 국비라는 배는 굉장히 위태로운 순간들이 있었다. 강사님이 바뀐다든지...학생들이 쓸데없는 논쟁을 맹신한다든지...처음 시작하는 학생들은 정보가 너무나도 없기 때문에 어떠한 말에도 갈대처럼 쉽게 흔들리곤 한다. 너무 쓸데없는 고민에 휩싸여서 우리가 해야 할 본질을 망각하는 친구들이 굉장히 많다는 것이다. 우리는 처음에 7년 차 스타트업을 전전하던 강사님을 배정받아서 수업을 들었다. 하지만, 이분은 강사로서의 경력이 없었기 때문에 우리들을 잘 이끌지 못했고, 민원이 들어왔고, 결국 퇴출 당하였다. 정확히는 모르겠지만, 퇴출이란 표현이 맞는 것 같다. 개인적으로는 나는 이 강사님도 좋았다. 왜냐하면, 자발적으로 공부하는 서울 아케데미 42를 연상케 하는 꽤 재미있는 방식의 수업 방식을 추구 했었기 때문이다. 하지만, 이 비협조적인 친구들에게는 썩 좋은 방식이 아니었다고 생각한다. 기본적으로 스스로 공부할 의지를 가진 친구들이었다면, 이미 나?처럼 활발한 친구들이 활개하고 있었으리라고 생각되기 때문이다. 정말로 그러했다. 그냥 던져진 아기새들은 어떻게 공부해야 할지 몰라서 그저 삐약삐약 울고 있었다. 그 흔한 구구단을 짜는 코드조차도 제대로 만들지 못하고 있었다. 어찌 되었든 ... 강사님이 퇴출당하면서 우리는 위기를 맞이해야했다.

정확히는 잘 모르지만, 이 강사님은 IntelliJ를 사용하여 스프링부트, JPA를 우리에게 가르치려고 했던 것 같다. 실제로 추천하는 강의도 그 유명한 김영한 강사의 강의를 추천하는 것으로 보아서는 우리에게 가르치려는 방향이 그게 맞는 것 같다.

 내가 앞에서 말했듯이, 정보가 부족한 학생들은 말 한마디, 한마디에 쉽게 휘둘리곤 한다.  이것이 실제로 작용하는 순간들이었다. 다음에 오신 강사님은 우리를 eclipse를 사용하여 스프링프레임워크를 가르치려 하셨다. 아마도, 이전에 설파된 말들에 이미 현혹된 친구들은 못 배울 것을 배운 것처럼 행동하기 시작했다. 물론, 앞에서는 싫은 티를 내는 정도였지만, 내가 누구였나... 나는 굉장히 활발하고, 이 반의 거의 모든 분위기를 알 수 있을 정도로 이 친구들이 무슨 생각을 하는지 다 알고 있었다. 그렇게 하나, 둘 이 국비를 떠나간다... 취업이라는 속 좋은 말로 말이다. 아마도, 이 사람들은 IntelliJ를 사용하여 스프링부트, JPA를 계속 가르쳤다면, 적어도 취업으로 도망가지는 않았을 거다. 결국은, 최종 프로젝트 때까지도 참 재미있는 상황을 맞이했다. 어떤 팀은  IntelliJ를 사용하여 스프링부트를 하고 있고, 어떤 팀은 eclipse를 사용하여 스프링 프레임워크를 하고 있었으니 말이다. 물론, 이게 무슨 문제냐 싶겠지만, 우리는 초심자이기 때문에 통일된 환경에서 배울 필요가 있었고, 공통의 개발환경을 가질 필요가 있었다. 이 점이 초기 개발과 마지막까지 어떻게 작용하는지 잘 생각해 보자. 이제 초심자에 불과한 우리가 팀원들 간에 다른 개발 환경을 가지고 개발하게 될 경우 굉장히 치명적일 수 박에 없다는 사실을 알아야 한다. 우리가 기간이 SSAFY처럼 1년 정도의 기간으로 진행되는 것이었다면, 충분히 납득할 수 있는 분쟁이었다고 생각한다. 하지만, 우리는 6개월이라는 짧은 시간 안에 많은걸 해내야만 했다. '사공이 많아서 배가 산으로 올라간다'는 말이 있다. 이게 정말 그런 거였다. 나는 우리 프로젝트가 최우상을 받았지만, 이건 실패한 프로젝트라고 말하고 싶다... 

 

 

 이렇게 바뀌었으면 좋겠다

그래서 생각했다. 이런 비협조적인 친구들을 뭔가 이어주려면 학원 측에서 특단의 조치를 해야 했다는게 내 생각이다. 어떤 사람들간 친해질 수 있는 시스템적인 무언가가 있어야 하지 않냐는 것이다. 서로 전화번호를 전부 공유하게한다던지...어떤 매개체가 있어야 한다는 것이다. 이런 것들이 개인정보라는 것들에 얽매여서 이렇게 보수적인 시스템으로 운영될 무언가라면 우리는 보다 성공적인 팀 프로젝트에 많은 제약을 받을 수밖에 없다는게 나의 생각이었다.

 또는, 그런 제약이 정말 해결될 수 없는 그런 문제라면, 다른 식으로 해결 해 볼 수 있지 않겠느냐는 것도 나의 의견이다. 보통, 비전공자들의 취약점이 뭘까? 바로 연대성, 커뮤니티, 연속성 등등의 문제가 있다. 왜일까? 보통 전공자들의 이점은 이러하다. 같은 대학이라는 커뮤니티에 속해있기 때문에, 남들보다 정보를 얻는 데에 있어서 상당한 이점으로 작용한다. 때문에, 어떤 정보에 접근하는 데에 있어서 그렇게 힘들이지 않고도, 선후배간, 얻어갈 수 있는 점들도 많고, 또는 교수님들에게서 얻어갈 수 있는 정보라던지... 이런 것들이 사회로 나아감에 있어서 향후 수십 년간 죽을 때까지 많은 연대를 가질 수 있다. 이런걸 초점으로 멀티캠퍼스 같은 곳에서 대형 커뮤니티를 만들어서 소통의 장을 좀 더 구축한다면, 좀 더 좋지 않을까 하는 생각이 들었다.

 물론, 이 이전에 본질적으로... 학원도 학원이지만, 이런 국비에 참여하려는 사람들의 마음가짐이 좀 더 적극적이었으면 하는 바람이다.

+ Recent posts