블로그를 시작한 지 거의 한 달이 다 되어가는데 시간은 진짜 빠르게 지나가는 것 같다. 2019년 1월 21일에 입대를 하고 2020년 8월 27일에 전역을 하게 되었는데 벌써 2021년의 끝이라는 게 실감이 잘 나지 않는다. 그리고 엊그제 전역한 내가 이제 취업준비를 시작해야 한다는 것이 슬프지만 나의 인생 2막이 펼쳐질거라는 것의 기대감도 있다. 이제 새로운 2022년을 맞이하기 전에 나의 1년은 어땠는지 회고를 한번 해보려고 한다. 그리고 내년에는 무엇을 해야 할지도 생각해보자.
무엇을 해야할까
작년에 8월 말에 전역을 하고 3달 간은 펑펑 놀았던 것 같다. 보통 군대를 전역하고 놀지 않는가? 그래서 일단 대책 없이 놀았었다. 코로나로 인해 여행을 가지는 못한 게 아쉽기는 하다. 그래도 최대한 군대에서 생각한 하고 싶던 것들을 하면서 놀았다. 그렇게 놀다 보니 12월이 되어 있었고 나는 생각에 빠졌었다. 이제 대학교 3학년인데 이렇게 놀기만 할 수는 없어서 아직 명확하지 않은 내 진로를 생각해보았다. 이때 처음으로 생각한 진로는 AI 쪽에서의 개발자가 되고 싶었다.
이렇게 생각한 계기는 군대에서 동기가 한 책을 가지고 있었는데 케라스 창시자에게 배우는 딥러닝이라는 책이었다. 처음 이 책을 호기심에 읽어봤고 흥미가 느껴져서 AI 쪽으로 가볼까 하는 생각도 했었다. 그래서 AI 쪽에는 무슨 직종이 있을지 찾아보았고 AI 엔지니어나 연구원, 데이터 사이언티스트 등 이러한 직종이 있다는 것을 알아냈다. 그런데 회사에서 이 직종들을 뽑을 때는 석사 이상의 사람들을 많이 구한다고 해서 이때는 대학원에 갈 자신도 없고 거기서 계속 공부만 할 자신도 없었기에 마음을 접었었다.
일단 시작한 토이 프로젝트
그래서 무엇을 해야 할까 고민하던 와중 친구 한 명이 있었는데 그 친구가 토이 프로젝트를 같이 해보자고 제안을 해왔다. 일단 뭐라도 경험을 해봐야 진로를 정할 수 있을 것 같다고 생각해서 이 친구의 제안을 받아들여 내 첫 프로젝트가 시작되었다. 팀원은 5명이서 진행되었고 웹 개발하는 것에 중점이 된 프로젝트였는데 모든 팀원들이 경험이 다 없었고 언어의 기초 문법밖에 모르는 상태에서 시작되었다. 그래도 어느 정도 웹 개발이란 것에 개념이 있는 친구의 주도 하에 프로젝트를 진행했고 1주일에 한 번씩 회의를 하면서 주제 선정, 역할 분담, 프레임워크 선정 등 차근차근 진행해나갔다.
그렇게 우리는 마켓 컬리라는 전자상거래 사이트를 클론 코딩하기로 결정을 하였고 거의 맨땅에 헤딩하는 식으로 진행했기 때문에 구글링도 열심히 하고 삽질(?)도 많이 해보면서 얻는 게 많았던 프로젝트였다. 이때 나는 백엔드를 맡으면서 프레임워크로 파이썬의 Django를 사용했는데 정말 어려웠었다. 또한 DB에 대해 지식이 없었던 나는 굉장히 많이 구글링을 했고 삽질(?)도 엄청 했다. 그래도 기능을 구현해 나갈 때마다 기분이 매우 좋고 뿌듯함을 느꼈다.
프로젝트는 대략 3달 동안 진행되었고 각자의 사정이 있어서 완벽히 완성은 해내지 못했다. 그래도 완성한 부분까지는 배포까지 마치면서 마무리하였다. 지금 다시 코드를 살펴보면 어떻게 이렇게 코딩했을까? 하는 생각이 든다.
1년 중에서 얻은 게 제일 많았다고 생각되는 프로젝트였다. 이때 깃허브라는 것의 존재를 알게 되었고 협업을 한다는 것이 얼마나 중요한지 깨달았고 처음에 설계를 잘해놔야 나중에 힘들어지지 않는다라고 느끼게 되었다. 그리고 CS 지식이라는 것이 얼마나 중요한지를 깨닫게 되었다. DB의 지식이 없으니 어떤 식으로 구현을 해야 할지 이해하는 게 힘들었고 네트워크 지식이 없으니 배포를 할 때 많이 힘들었다. 그리고 하나 더 제일 중요한 거는 구글은 모르는 게 없다인 것 같다.
다시 대학생으로 돌아와서
토이 프로젝트를 마치고 대학교 3학년으로 학부 생활을 시작했는데 프로젝트에서 CS 지식의 중요성을 깨닫고 열심히 강의에 집중을 하면서 공부를 했다. 특히 강의 중에 데이터베이스 강의에서는 공부를 할 때 이전 프로젝트에서 구글링 하고 삽질하면서 얻은 실전 데이터가 도움이 많이 됐다. 데이터베이스에 대해서 이해하는데 큰 어려움이 없었던 것 같다. 그리고 웹 프로그래밍이라는 강의도 있었는데 이전에 웹 개발 프로젝트를 했었어서 언어는 Java를 사용했지만 웹 개발이라는 큰 틀은 벗어나지 않기 때문에 강의를 수강하는데 큰 어려움이 없었다.
그 외에도 비대면으로 인해 교수님께 질문하기도 어려웠는데 이때는 구글이 나의 선생님이 된 것처럼 검색을 통해 많이 공부했던 것 같다. 정말 많은 사람들이 블로그를 통해 정리된 글을 썼고 이때 나도 블로그를 한 번 해볼까 하는 생각을 했었다. 그래서 한 번 블로그를 만들려고 어떤 블로그 사이트가 있는지도 찾아보고 실제로 블로그를 만들어서 게시물도 올렸었다. 그런데 작심삼일이라고 오래가지는 못했다. 아마 학부 생활도 벅차다고 느껴서인 거 같기도 하고 글을 어떤 식으로 작성해야 할지 감도 안 와서 점점 손을 놓았던 것 같다. 그래도 이번 블로그는 열심히 해야지. 그렇게 특별한 일 없이 나의 3학년 1학기는 학점 4.2로 마무리되었다.
다시 한번 데이터 쪽으로..?
학기가 끝나고 방학 때는 무엇을 할까 고민하던 중 데이터 청년 캠퍼스라는 사업을 진행한다고 듣게 되었고 한번 데이터 쪽 분야로 도전해볼까? 하는 생각이 들었다. 사실 학부 생활을 하면서 데이터 쪽으로 가고 싶다고 생각하게 되었고 그 계기가 친구 중 한 명이 데이터를 분석해서 그래프로 시각화하는 과제를 나한테 도와달라고 부탁했었는데 이때 Pandas와 matplotlib를 처음 쓰면서 데이터를 가공하여 시각화하는 작업을 했는데 흥미도 느끼고 재미도 느꼈었다. 그래서 데이터 쪽 분야를 알아보던 중 데이터 엔지니어라는 직무에 대해서 알게 되었고 이거다!라고 생각되어 현재 목표하고 있는 직무가 되었다. 다시 돌아와서, 나는 데이터 청년 캠퍼스라는 사업에 신청을 하였고 합격하여 참여하게 되었다. 자세한 후기는 포스팅을 하였으니 가서 확인하길 바란다.
그렇게 데이터 분야에 대해서 별 다른 지식 없이 데청캠(데이터 청년 캠퍼스)에 참여하게 되었고 여기서 데이터 엔지니어가 하는 일에 대해서 배우게 되었고 어떤 기술을 쓰고 어떤 역량이 필요한지도 알게 되었는데 Hadoop이나 Spark, Kafka, Airflow, Hive 등 많은 기술 스택들이 있고 데이터 엔지니어는 이러한 기술들을 조합하여 데이터 파이프라인을 구축한다던가 대량의 데이터들을 ETL(Extract, Transform, Load)하는 능력의 중요함을 느꼈고 여러 용어들도 알게 되었다. 데이터 레이크(Data Lake)라던가 데이터 웨어하우스(Data Warehouse), 데이터 마트(Data Mart) 등 데이터 세계에서의 용어가 은근히 많았고 용어들을 이해해야 다른 기술들을 이해할 수 있었다.
데청캠에서 강사분들 중 한 분은 현업에서 실제 일하고 있으신 분이었고 실무에서 알아두면 좋은 기술들에 대해서도 알려주셨다. 특히, Docker에 대해 알려주셨었는데 이건 정말 유용한 기술인 것 같다. OS 수준에서의 가상화를 지원하는데 정말 편리하다. 지금까지도 나는 도커를 사용하고 있어서 이건 정말 좋은 정보였다. 또한, 데이터 관련 클라우드 서비스에 대해서도 알려주셨는데 종류도 엄청 많고 다양해서 어떤 것을 쓰고 하는 것은 데이터 엔지니어의 역량인 것 같다.
그 외에도 딥러닝, 머신러닝에 대해서도 강의를 들었는데 왜 석사 이상들을 뽑는지 이해가 되었다. 수학적, 통계적 지식도 필요하고 프로그래밍 스킬도 필요한데 무엇보다 대량의 데이터들이 있어야 하는 기술들이기 때문에 학부 수준에서는 데이터들을 구하기 쉽지도 않고 이런 기술을 수행할 개발 환경을 개인이 갖추기도 어렵기 때문에 그런 것 같다. 그래도 데이터 엔지니어라는 직무는 이런 연구나 분석보다는 개발의 성향이 강하기 때문에 석사 이상만을 고집하지는 않는다고 해서 안심했었다.
산학 프로젝트(데청캠)
데청캠에서 교육들을 다 듣고 기업과 협력하여 프로젝트를 하게 되는데 나는 AgencyTeam이라는 회사와 협력하여 프로젝트를 하게 되었고 3명의 팀원들과 함께 진행을 하게 되었다. 내가 PM(Project Manager)을 맡게 되었고 그동안의 경험을 살려서 최대한 열심히 했다. 아무래도 기업과 협력하는 프로젝트라서 기업 측에서의 요구사항에 최대한 맞추어서 진행을 하였고 매주 미팅을 진행하며 개발 상황에 대해서 브리핑도 하고 기업측에서 원하는 부분이 맞는지 계속 확인하면서 진행을 했는데 이때 요구 측과의 소통이 굉장히 중요함을 알게 되었다.
결국은 요구사항에 맞는 제품이 나와야 하는 것이기 때문에 요구 측에서 마음에 들지 않으면 소용이 없다고 생각한다. 그래도 결과물에 대해서 기업 측 분들이 만족해하셔 가지고 다행히 프로젝트를 무사히 마무리하게 되었다. 막상 완성하고 보니 뭔가 이거보다 더 잘할 수 있을 거 같은데라고 생각하게 되어서 약간 아쉬움이 남기는 했다. 역시 이래서 유지보수에는 끝이 없는 것 같다. 그래도 이전 프로젝트에 비해서는 깔끔하게 코드를 작성하려고 노력을 했다.
이 프로젝트를 하면서 느꼈던 부분은 기술적인 문제보다는 클라이언트 측과의 소통이 중요하다는 것을 알게 되었다. 기술적인 문제는 어떻게 해서든 해결을 할 수 있지만 소통에 문제가 생기면 이것저것 꼬일 수가 있는데 만약 클라이언트 측의 이해와 개발 측의 이해가 다르다면 결국 다시 지워버리고 개발해야 하는 상황이 생길 수도 있다. 이런 상황은 피해야 하지 않을까?
혼자서 개발할 때는 이런 문제에 대해서는 생각하지 못했지만 결국은 내가 취업을 하고 회사에서 일을 하게 될 텐데 프로젝트를 시작하게 된다면 그 프로젝트를 원하는 측에서의 요구사항을 제대로 파악해야 좋은 결과물을 만들 수 있다고 생각한다. 어차피 개발이란 것도 팀으로 하고 사람 대 사람으로 이루어지는 것이기 때문에 개발 능력도 중요하지만 이런 소통능력도 중요한 것 같다. 좋은 기회였고 배운 것도 많았고 내 진로에 대해서 어떻게 나아가야 할 것인지 좋은 가이드가 되었던 것 같다.
뜻깊은 한 해였다
현재는 2학기 학부생활을 마치고 계절학기를 진행하고 있다. 2학기 때는 학부 강의들에 집중했기 때문에 별다를 게 없었다. 강의로 빅데이터 공학이라는 4학년 강의가 있길래 데이터 엔지니어와 연관 있는 강의라서 듣게 되었는데 생각보다 데이터랑 관련된 기술이 엄청나게 많은 것을 알게 되었다. 교수님이 말씀하시길, 이러한 기술들에 대해서 자세히 알지는 못해도 그때그때 적절한 기술로 뭘 사용하면 좋을까를 알면 그때 가서 자세히 공부하면 된다라고 말씀하신 게 기억에 남는다.
이제 3학년을 마치고 4학년이 되는데 슬슬 취업준비를 해야 한다. 여전히 나는 데이터 엔지니어를 꿈꾸고 있고 한 단계씩 차근차근 진행하고 있다고 생각한다. 현업에서 쓰는 기술들, 예를 들어 하둡이라던가 스파크라던가에 대해서 조금 더 공부를 하려고 한다. 데청캠에서 현업 엔지니어분이 알려주신 공부 하면 좋을 프레임워크를 위주로 공부하려고 한다. 알려주신 게 Hadoop, Spark, Airflow, Kafka, Hive 이 정도인데 전부 다 할 수 있을지는 모르겠지만 설치와 사용법 정도로 익혀보려고 한다. 2022년은 좀 바쁜 해가 될 것 같다. 그래도 블로그는 꾸준히 포스팅하려고 한다. 내가 공부한 것을 정리할 목적으로라도 한번 열심히 해보자.
'My Space > 회고' 카테고리의 다른 글
2022년 회고 (0) | 2023.01.09 |
---|---|
네오위즈 데이터 엔지니어 인턴 후기 (0) | 2022.09.28 |
2021 데이터 청년 캠퍼스 후기 (0) | 2021.12.28 |