코드스쿼드 2023 마스터즈를 6월 30일에 수료하게 되었다.
수료 후 회고를 작성하려 했지만, 여러 일정들로 인해 미루다 보니 어느새 3개월 가까이 지나 버렸고
더 이상은 미룰 수가 없어 회고를 작성하게 되었다.
마스터즈 시작
마스터즈 합격 후 잠깐은 정말 기뻤고, 안도감이 들었었다.
앞이 안 보이는 상황에서 조금은 벗어난 것 같았기 때문이다.
그러나 조금 시간이 지나니 두려운 마음으로 바뀌어 갔다.
마스터즈 6개월 과정이 끝나고도 내가 백엔드 개발자라고 부를만한 실력이 되지 않는다면 어떡할까 걱정되었기 때문이다.
적어도 마스터즈 과정이 끝났을 때 '조금 더 열심히 할걸' 같은 미련이 남지는 않게 해야겠다는 목표를 가지게 되었다.
그래서 시작 전에는 아무것도 하지 않고 쉬면서 에너지를 비축했다.
마스터즈 과정은 크게 CS16, 백엔드 기본과정, 팀 프로젝트로 이루어져 있다.
이 중 가장 어렵고 난해했던 파트가 CS16 과정이었다.
CS16
CS16의 CS는 Computer Science의 줄임말이고, 16은 16가지의 CS분야를 탐색한다는 의미이다.
저번 기수까지는 CS10으로 진행되었는데 올해 마스터즈는 6개의 분야를 더해 CS16이 되었다.
전체 마스터즈 기간 중 30%나 되는 9주간을 CS만 해야 하는 것이다.
나는 문과 비전공자이기 때문에 스스로도 CS가 많이 부족하다고 느꼈었고, 부족함을 채우기 위한 기회라고 생각했다.
분야별로 주제가 나오며 이를 구현하며 학습하는 방식으로 진행되었는데, 정말 어려웠다.
어렴풋이 들어봤던 주제를 Java를 통해서 구현하려니 어떻게 해야 할지 감을 잡기 어려운 주간이 많았고
몇몇 주간은 거의 구현을 못했었다. 키워드 학습에 집중하면 어떻게 미션을 구현시간에 쫓기고, 구현에 집중하려 하니
모르는 학습 키워드가 너무 많아서 의도대로 구현하고 있는지 의심스러웠다.
프리코스를 거치며 나름 Java에 조금은 자신이 생겼었는데 그 자신감이 와르르 무너지는 기간이었다.
만약 이때로 다시 돌아간다면, 그냥 분야별 CS 전공 책을 읽고 미션 구현은 나중으로 미룰 것 같다.
사실 지금도 자신이 없다...
백엔드 기본 과정
CS16이 끝나면 백엔드 기본 과정으로 넘어가게 된다.
CS16까지는 온라인으로 과정이 진행되지만, 기본 과정부터는 코드스쿼드 교육장에 직접 나가게 되었다.
나는 집에서 나가야지만 집중이 잘 되는 스타일이기 때문에 기본과정을 더 기다렸던 것 같다.
지금까지 온라인에서만 만나던 동료들과 대면하여 같이 학습하니 훨씬 학습 효율이 좋았었다.
그리고 교육장에는 모니터와 같은 장비가 있어 더 편하게 미션을 진행할 수 있었다.
기본과정에서는 크게 3가지의 개인 미션을 진행하며 OOP, Spring, was 등의 주제를 학습하게 된다.
미션에 어느 정도 가이드라인은 있지만, 어떻게 구현할지는 자유기 때문에 정말 다양한 스타일의 로직과 코드를 경험해 보는 기간이었다.
미션 중 가장 기억에 남았던 것은 웹서버 구현하기였다.
미션을 진행하면서 어떻게 Spring이 구성되어 있는지, 어떤 방식으로 동작하는지에 대해서 많이 생각했고 찾아보게 되었다. 동료들 중에는 정말 Spring과 같은 형식으로 구현한 동료도 있었고, 독창적인 형식으로 구현한 동료도 있어서 보는 재미가 있었다.
이때쯤부터 많이 친해지기도 해서인지 서로 어떻게 구현하고 있는지, 어떤 어려움이 있는지, 구현한 방식에 문제점은 없는지 서슴없이 물어보며 대화를 많이 하게 되었다.
가끔 기술적인 토론이 생기기도 했는데 각자 나름 근거를 가지고 있어서 슬쩍 듣는 것만으로도 많은 도움이 되곤 했었다.
팀 프로젝트
팀 프로젝트 때는 2개의 주제를 백엔드 2명과, 프론트 2명 + IOS 2명이 팀을 이루어서 프로젝트를 진행하게 된다.
마스터즈 기간 동안 학습한 내용을 바탕으로 결과물을 만들어 내는 기간이다.
나는 프로젝트 기간동안 정말 많이 성장했다.
한 주가 지나갈 때마다 성장한 것을 느낄 수 있을 정도로 빠르게 성장했었다.
벽돌을 쌓을 때는 가장 밑에서부터 행으로 쌓아야 한다는 원칙은 개발 학습과도 비슷하게 이어진다는 생각이 들었다.
Java 실력이 부족하다고 느꼈을 때, Java만을 깊게 파는 것이 아니라 Java, Spring, CS 등을 적절히 공부하며 행을 만들어나가면, 이것들이 쌓였을 때 전반적인 실력 향상이 가능하다고 생각한다.
그래서 이전 학습과정에서 얻은 지식과 경험이 팀 프로젝트를 통해 더 높아지고 견고해지는 결과를 만들었다고 생각한다.
특히, 팀 프로젝트를 진행하며 나는 인프라에 대해서 크게 흥미를 느끼게 되었다.
대부분의 시간을 프로젝트 요구사항에 부합하는 아키텍처에 대해 고려하고 이를 클라우드를 통해 구현하는 데 사용했다.
인프라 작업을 할 때면 시간이 가는 줄도 모르고 몰입했었고 재미있었다.
이런 나의 성향이 시간은 촉박하고 구현해야 할 기능은 많은 프로젝트에서 팀원들에게 부담이 되었을 것이다.
이를 이해해 주고 내가 인프라에 집중할 수 있게 DB와 API 등을 작업해 주었던 이린과 고뭉남에게 진심으로 감사를 전한다.
특히 고뭉남은 AWS 비용이 발생할 수 있음에도 "형 하고 싶은 거 다 해 비용은 다 같이 내자"와 같은 마법의 멘트로
비용 걱정 없이 내가 하고 싶은 모든 것을 할 수 있게 해 주었다.
팀 프로젝트가 궁금하다면 여기
무엇을 얻었는가?
가장 좋아하는 분야를 찾아 목표가 구체화되었다.
나는 도시 건설 시뮬레이션 게임을 좋아한다.
도시를 내 생각대로 설계하고 구현하며 도시가 성장하는 과정을 관찰하는 것은 큰 만족감을 주기 때문이다.
처음 백엔드를 희망하게 된 이유도 백엔드 개발이 마치 하나의 계획도시를 만드는 것과 유사하다고 느꼈기 때문이다.
계획도시를 만들 때는 인구 수용량, 교통 관리, 산업 육성과 같은 다양한 요소를 고려하고 설계한다.
비슷하게, 백엔드는 비즈니스 로직에 따라 어떤 데이터가 필요한지, 트래픽을 어떻게 처리할지 고민하며 아키텍처를 설계하고 기능을 개발한다. 이렇게 설계된 로직을 기반으로 애플리케이션이 돌아갈 때 큰 성취감을 느끼게 된다.
이러한 백엔드에서도 특히 나는 인프라에 큰 재미를 느끼게 되었다.
수평적, 수직적 확장이 가능한 아키텍처를 고려하고, CI/CD 파이프라인을 만들고, ELB를 통해서 트래픽을 분배하는 과정이 너무 짜릿하게 느껴졌기 때문이다.
이러한 경험은 지금 학습 방향을 정하는데 큰 영향을 주었다.
AWSome Day와 Builders 컨퍼런스에 참석해서 모든 과정을 다 수강했고,
AWS Certified Developer - Associate 자격증 취득을 목표로 학습하고 있다. AWS Certified DevOps Engineer - Professional 까지는 꼭 취득해 보고 싶다....
DVA 취득을 위해서 Udemy 강의를 구매해서 위워크를 왔다 갔다 할 때마다 버스에서 듣고 있는데
너무 재밌어서 버스에서 내리고 싶지 않기도 한다.
또 항상 미뤄두었던 CS인 네트워크를 학습하면서 인프라 학습과 시너지가 나기도 해서 뿌듯함을 느끼고 있다.
나에게 맞는 학습 방법을 찾았다.
예전에 CS16 과정에서 마스터 JK가 정보의 원천에 접근하는 중요성에 대해 언급한 적이 있었다.
정보가 널리 퍼지면서 아래로 전파될 때, 잘못된 정보가 섞이거나 원래 의도와는 다른 해석이 되기 때문이다.
그때는 이 이야기가 크게 와닫지 않았다.
모르는 것은 구글 검색으로 쉽게 해결할 수 있었기 때문이었다.
그러나 마스터즈 과정을 진행하면서 내 의견을 뒷받침하기 위해 단순한 구글 검색 결과나 블로그 글로 상대방을 설득하기 는 어려웠다.
특히 AWS ECS와 같이 정보가 제한적인 경우에는 공식 문서를 찾아보는 것이 필수적이었다.
내가 공식 문서를 자주 읽지 않던 이유는 그 안에 '이렇게 해야 합니다'와 같은 즉각적인 해답을 제시하는가 아니라,
정보를 이해하고 활용하는데 시간과 노력이 필요했기 때문이다.
하나의 원리만을 알거나 문제의 해결 케이스만을 암기하면 비슷한 문제를 또다시 마주하게 되었다.
그래서 원리를 알고 다양한 시각으로 학습하는 것이 필요하다고 느꼈고, 나만의 학습 루틴을 만들게 되었다.
먼저 공식문서나 책을 읽고 혼자 정리한다.
그리고 chatGPT와 대화하듯이 내가 이해한 지식을 검증한다. 같은 주제의 다른 책으로 다시 학습한다.
그리고 마지막으로 이에 대해 잘 아는 사람에게 내가 이해한 지식에 대해 교차 검증을 한다.
이렇게 새로운 지식을 학습하거나 문제에 대한 학습 루틴이 만들어져서
조금 더 깊이 있고 폭넓은 학습을 할 수 있게 되었다.
좋은 동료들을 만났다.
마스터즈에서 만난 동료들은 지금까지 내가 만난 동료들 중 가장 열정적이고 수준이 높았다.
가끔씩 내가 이 사람들과 대화할 수 있다는 것이 자부심이 느껴질 정도였다.
마스터즈 코스에는 좋은 문화가 하나 있었는데, 누군가 앞서나갈 때는 그것을 배우려고 노력했고,
도움이 필요할 때면 다들 주저하지 않고 자기 일처럼 도와주는 것이었다.
내가 원하던 것을 구현해서 뿌듯함을 느낄 때 동료들이 자기 일처럼 공감해 주고 기뻐해줘서 뿌듯함은 배가 되었고
문제에 대해서 같이 고민해 주고 들어줘서 혼자서는 생각하지 못한 방식으로 문제를 해결하기도 했다.
이러한 문화로 도움을 주고받는 것에 대해서 크게 부담을 느끼지 않게 되었고 서로 더 성장할 수 있는 원동력이 되었다.
마스터즈를 진행하며 Lab4 스터디도 지속적으로 진행하여 DB 개론을 한번 훑어볼 수 있었다.
한주에 2장씩 진행하는 강행군이었음에도 불구하고 모두 최선을 다해서 스터디를 준비해 주었고, 그래서 DB에 대해서
배경지식이 생긴 것 같아 조금은 안도감이 든다.
혼자서 DB를 공부하려고 했다면 아마 성공하지 못했을 것이다.
이처럼 좋은 동료들과 함께해서 정말 즐거웠고 자극을 많이 받는 시간이었다.
앞으로도 잘 부탁드립니다!
마스터즈 끝
마스터즈를 처음 시작할 때는 6개월이라는 기간이 길지 않을 것으로 예상했지만, 생각보다 시간이 더 빨리 흘러갔다.
마스터즈를 시작하기 전보다는 내가 원하는 백엔드 개발자의 모습으로 한 단계 더 나아갔다고 느낀다.
앞으로는 마스터즈 기간 동안 듣기 어려웠던 Spring, JPA 강의를 듣고
동료들과 함께 기술 면접 스터디를 새롭게 시작할 계획이다.
마스터즈 이전에는 좋은 개발 문화를 가진 기업에 취업하는 것이 너무 어려운 벽 같다고 생각했다.
하지만 지금은 조금 더 근거 있는 자신감을 가지고 취업에 도전해보려 한다.
'코드스쿼드' 카테고리의 다른 글
코드스쿼드 프리코스 4주차 회고 (0) | 2022.11.27 |
---|---|
코드스쿼드 프리코스 3주차 회고 (0) | 2022.11.19 |
코드스쿼드 프리코스 2주차 회고 (0) | 2022.11.11 |
코드스쿼드 프리코스 1주차 회고 (4) | 2022.11.04 |