20220423 위코드 4주차!
서론
위코드가 시작한지 벌써 4주가 지났다. 시간이 어떻게 지나갔는지 모르겠다 ㅋㅋㅋ 그래도 만족스러운 부분은 엄청 빠르게 지나가는 시간속에서 어느정도 내 템포를 찾은 느낌이다. 무엇보다 장고 세션이 시작되었는데, 그동안 애매하고 막연하게만 느껴지던 개념들이 조금씩 정리되는 느낌이라 조금 만족스럽다. 요약하자면 살짝 버겁긴 하지만 버거움의 가치가 느껴져서 꽤 즐겁기도 하다.
사실 지난번에 기간일기를 쓸 때, 아마 부트캠프가 끝날 때까지는 글을 쓰지 않을 줄 알았다. 지금도 솔직히 3주간의 감상같은 걸 녹여내는 글에 시간을 할애하는게 아깝기도 하다. 그럼에도 억지로 글을 쓰는 건, 학습의 방향성이나, 개인적으로 개발자로서의 마음가짐에 좀 변화가 있어서 지금 이순간의 방향전환이나 마음가짐을 기록해 두고 싶기 때문이다. 솔직히 시간이 지나면 훨씬 더 바쁠거고 그러면 절대 기록을 남기지 않을 걸 아니까 억지로라도 쓸 수 밖에 없다. ㅋㅋㅋ 피곤하다 ㅠㅠ
고민과 불안
사실 부트캠프를 시작하면서 적응하거나 혹은 단순히 공부하는 것 외에도 고민이 좀 많았다. 위코드를 들어가기전의 나는 파이썬과 장고가 꽤 매력적이라고 생각을 했고, 그래서 파이썬과 장고에 대한 해박함과 능숙함이 내 장점이 되었으면 하는 마음이 있었다. 사실 장고의 오픈소스를 들여다 보는게 너무 방대하다보니까 겁이 나는 건 사실이였지만, 그래도 하나하나 알아가는 게 꽤 재밌었으니까. ㅋㅋㅋㅋ 면접관이 장고에 관한 지식을 물어보면 그거아닌데요? 라고 반박하면서 면접관 놀라게하는 망상도 좀 한적있다 ㅋㅋ
근데 지금와서 생각해보면, 참 시야가 좁았다. 아니 솔직히 말하면 역시 불안했던 것 같다. 그놈의 불안.. 여담이지만 최근에 알랭 드 보통의 불안이라는 책을 읽었는데 뭔가 더 불안한 것 같다ㅋㅋㅋ 불안의 이유와 해결책에 대해 작가의 견해가 나열된 책이였는데 초반에는 오.. 하면서 볼만한 내용들이 좀 있긴 했지만 뒤로 갈수록 그다지 재밌진 않았다.. 암튼 여전히 취업은 막연하고, 웹개발 생태계에서 배워야 할것들은 산더미다보니까 그냥 내가 익숙하고 할만하다고 느끼는 파이썬이랑 장고꽉 붙잡고 안정감을 느끼려했지 않나 싶다.
여담이지만 이 불안이라는 게 참 미묘하다. 사실 나는 불안이 내가 다룰 수 있는 꽤 좋은 동력원이라고 생각했다. 특히 요새 진짜 열심히 하는게 스스로 느껴지는데 거기에 불안의 지분을 부정할 수 없기도 했고. 근데 불안같은 것에 잡아먹힐 시기는 지났다고 생각해서 그냥 옆에 끼고 더 열심히 공부하자고 생각했었는데.. 음.. 이미 먹혀져 있었나 보다. 지나고 보니까 시야가 참 좁았고, 그 좁은 시야가 불안함속에서 정신없이 달리다 보니까 그랬다는 것까지 인정하고 보니까 참 기분이 복잡미묘하다.
방향성
뻘소리가 좀 길었다. 아무튼 파이썬과 장고에 매몰되어 있다가, 다행이 위코드 첫주에 멘토분들께 상담을 받은게 크게 도움이 됬다. 한분이 아니라 여러분에게 상담을 신청해서 받았는데, 다른 어투로 비슷한 맥락의 이야기를 들을 수 있어서 꽤 도움이 많이 되었다. 그냥 들으면 사실 조금은 확신하기 힘든 내용을 여러 멘토님이 공통적으로 이야기 해주시니까 뭔가 의구심없이 깔끔하게 믿어진 느낌이다.
상담내용을 요약하면 파이썬이나 프레임워크는 그저 도구나 기술이라는 것을 인정하고, 3개월간의 시간동안 우선적으로 배워야 하는 것은 결국 백엔드 생태계를 전반적으로 경험하고 알아야 한다는 것이였다. 애초에 위코드에서 3개월간의 기간동안 가르치려 하는 것이 특별한 프레임워크나 언어의 숙련보다는 전반적인 시스템이라고 하셨다. 이 부분부터는 추측인데, 그 과정에서 직접 코딩으로 만든 결과물이 백엔드 시스템에 녹아들어야만 내게 와닿기 때문에 결과물을 만들기 위한 도구로서 장고가 필요하고, 그 장고를 다루기 위한 도구로써 파이썬의 숙련도를 요구하는게 아닐까 싶다. 위코드에서 장고라는 프레임워크를 사용한 이유도 비슷한 맥락인 것 같다. sql이나 db를 잘몰라도 장고의 orm기능을 바탕으로 쉽게 db내역을 다룰 수 있으니, db가 전체적인 백엔드 시스템속에서 어떤식으로 흘러가는지를 느끼되 db학습에 크게 시간을 할애하지 않을 수 잇으니까.
사실 위코드의 기간 내내 항상 의구심이 들었던 건 파이썬이랑 장고도 이렇게 쩔쩔매는데, 다른 언어와 프레임워크를 배운다는 말을 그렇게 쉽게 해도 될까? 라는 점이였다. 마치 아주 쉽게쉽게 다른 언어와 프레임워크를 배워서 회사에 취직한다고 하니까.. 심지어 마지막 달에 나가는 기업협업에서도 다른 언어나 프레임워크를 사용할 수 있다고 말을 하더라고.. 그래서 그 부분에 대해서 의구심이 좀 있었는데 이상하게 상담을 받으면서 그 의구심이 사라졌다. 뭐 확실하고 명쾌한 대답이나 해결책을 들어서 그랬다기 보다는 그냥 대놓고 위코드에서 우리가 가르쳐 주는 건 '백엔드의 전반적인 시스템이에요~'라고 하니까 그렇지 싶다. 만약 위코드에서, 우리는 백엔드 전반적인 시스템 + 파이썬/장고의 능숙함 두가지를 목표로 해요~ 라고 하면서 '다른 언어도 배우기 쉬워요~ 같은 말을 계속 했으면 솔직히 환불때렸을 것 같은데, 그냥 우리의 목표는 애초부터 '백엔드 시스템을 전반적으로 배우는 거에요~ 그거뿐이야!' 라고 말하니까 오히려 수긍이 되는 느낌이다.
그리고 지금 몸 담고 있는 위코드에서 그렇다고 하니, 나도 그냥 그러한 방향으로 목표를 바꾸기로 했다. 최근에 인프런 이진석 강사님의 장고 강의를 두번째 다시 들으면서 장고의 깊은 내용(?)에 숙련되는 걸 목표로 하고 있었는데 그 부분에 대해서 좀 놓아주기로 했다. 대신에 좀 시야를 넓혀서 의도적으로 다른 부분으로 눈을 좀 돌리고 있다. 도커라든지, aws라든지.. 위코드 오고 가는길에도 일부러 장고영상보다는 도커나 aws에 관한 영상이나 글을 보려고 하는 중이다. 사실 그거보다 넷플을 볼때가 더 많긴 하지만 ㅋㅋㅋ.. 아니 근데 최근에 넷플에서 갑자기 데어데블이 사라진 게 굉장히 서운하다. 5년동안 봐야지봐야지 하다가 최근에 보기 시작했는데.. 있을 때 잘할 걸.. 8화에서 끊겼는데 굉장히 서운하다.지금 완전 한창이였는데 ㅠㅠ
또 말이 샜다 ㅋㅋㅋ 아무튼 그렇다. 장고랑 파이썬 양손에 각각 꽉쥐고 안놓으려고 발버둥치다가, 이제는 놔주고 좀 여유로워진 시야와 시간에 이것저것 담아보려고 한다. 물론 그렇다고 결국 내가 다루게 될 언어와 프레임워크를 놔서는 안된다고 생각한다. 특히 장고를 활용한 api를 최근에 다루기 시작하면서 자연스럽게 drf에도 눈이갔는데, drf를 조금 뜯어보니까 결국 html form기반의 장고개념과 컨셉을 그대로 활용하더라. 아니 솔직히 drf의 viewset이나 router같은 것들을 정확하게 이해하려면 장고의 cbv같은 개념에 대한 깊이있는 이해가 필수인 것처럼 느껴지더라. 뭔가 cbv위에 한번 더 덨씌워지는 개념이랄까? 현업에서 활동하는 장고개발자들은 결국 drf를 사용하게 되는 것 같은데, 그렇다면 결국 장고라는 프레임워크에 대한 깊은 이해도 필요하지 않나 싶다.
개발자로서의 색깔
그리고 한가지 더. 개발자로서의 성장을 위해 '나'를 조금 더 들여다 보게 되었다. 그전까지는.... 단순히 사회와 직장이 요구하는 특징만을 가진, 반대로 필요하지 않은 많은 부분들이 거세된 어떤 이상적인 개발자가 되어야 겠다는 생각이 있었다. 좋은 직장에 취업할 수 있는 사람은 기업에서 요구하지 않은 얼마나 많은 부분을 잘라냈고, 또 기업에서 요구하는 얼마나 많은 특성을 이식켰는지로 판가름 난다고 생각했다. 최소한 그렇게 되려고 노력하는 것이 더 좋은 개발자가 되는 길이라고 생각했다..
근데 이런저런 일을 겪으면서 그렇지 않다는 생각이 들었다. 내가 생각하는 이상적인 개발자는, 나에 대한 존중이 반드시 필요하겠더라. 내가 어떤 개발자인지, 내가 개발자로서 내가 가진 강점이 무엇이고 또 무엇을 싫어하는지 깊게 고민하고 명확하게 인지한 상태에서 내가 좋아하는 방식으로 내가 좋아하는 일을 할 수 있는 길을 걷는 것이 개발자로서 대상하기 위해, 그리고 내가 행복하기 위해 너무나 중요하다고 생각이 들었다.'
그래서 그때부터 내가 개발자로서 가진 강점이나 특징이 무엇일지, 어떤 개발자가 되고 싶은지를 정말 깊게 고민했다.
일단 첫번째로 떠올랐던 점은 내가 개발을 즐거워한다는 것. 그리고 개발을 즐거워하는 것이 개발자에게 얼마나 중요한 것인지를 안다는 것. 그리고 그것을 되게 소중하게(?) 지켜나가야 한다는 마음이 있다는 것이였다.
그냥 개발이 재밌어서 개발자가 되고 개발을 즐거워한다는 걸 당연하게 여기는 게 아니라, 개발을 즐거워함으로써 언제나 잘하고 싶고 적용해보고 싶어서 안달나있는 게 스스로 얼마나 큰 장점인지를 분명히 인지하고 그런 마음을 지켜나가기 위해 노력한다는 것. 특히 즐거운 개발을 위해 학습의 난이도를 낮추려 노력하는 점은 스스로 매우 뿌듯하다. 또 개발을 즐거워 하는 마음이 지루함이나 피곤함에 짓눌려서 사라져버릴뻔 한 적이 있어서, 학습량을 내 선에서 적절하게 조절해나가는 것도 개발자로서의 큰 장점이라고 생각한다.
두번째는 몰입할줄아는 것. 이건 개발자로서의 어떠함이 아니라 그냥 내 개성이다. 무언가 하나에 꽂히면 끝까지 그걸 물고 늘어지는데, 그게 개발까지 이어지더라. 그리고 그게 어떤 새로운 기술을 습득하거나 적용할 때 큰 장점이라고 생각한다. 다만 이것에 대해서 좀 깨닳은 부분이 있는데, 늘 몰입하는 개발자가 아니라 필요할 때 몰입할 줄 아는 개발자가 되어야 겠다는 생각이 들었다. 때때로 하나에 꽂혀서 몰입하다보면 주변상황을 일절 고려하지 않고 무시해버리는 경향이 있더라고. 다른사람과 함께 일하는 게 필수인 개발자로서 이러한 부분은 언젠가 독이 되겠다 싶은 생각이 들었다. 그러니까 이러한 부분을 잘 발전시켜서, 내가 정말 몰입해도되고 또 해야만 하는 그 순간에 해야할 일을 물어뜯을 줄 아는 사람이 되고 싶다.
마지막으로 막연함을 너무너무 싫어한다는 것. 내가 하고 있는 것의 의미를 알때 목적의식이 분명해지고 작업이나 학습의 효율이 나온다고 생각해도 되겠다. 그 전에 다녔던 직장에서 상사나 기획의 의도가 불분명한 경우가 있었는데, 그 막연함이 너무너무 싫었다. 심지어 때로는 그냥 일의 정확한 의도나 목적이 없는 경우도 있더라ㅋㅋㅋ.. 아무튼 그런 애매하고 답답한 상황을 너무 싫어했는데, 그러한 점을 오히려 백엔드 개발자로서 잘 승화시켜볼 수도 있을 듯 하다. 결국 어떤 개발을 하든, 지금 하는 개발의 정확한 목표나 의도를 명확히 알고자 하는 욕구가 있다는 뜻인데 이건 사실 백엔드 개발자로서 당연히 필요한 소양이다. 따라서 이러한 불편함을 이정표 삼아, 어떤 것을 개발하든지 간에 기획을 먼저 곱씹을 줄 아는 개발자가 되려 한다.
마치며
솔직히 글이 참 마음에 안든다. 너무 중구난방이고 일관성 없는 게 뭔가 이것저것 많이 배워서 정신없는 내 현재 상태를 대변한 것 같기도 하고ㅋㅋㅋ 그래도 때로는 서투름도 훈장이라고 생각한다. 어려운 환경에서 최선을 다할 때 필연적으로 발생하는 게 또 서투름 아니겠는가 ㅎㅎ 스스로 노력하고 있다는 걸 알고 있고, 믿고있기 때문에 지금의 서투름도 나중에 보면 뿌듯함의 근거일거라 믿는다. 그럼 이만!