회고를 시작하며..
2023년 11월부터 2024년 4월까지 Naver BoostCamp AI Tech 6기에 참가하여 교육을 듣다보니, 2024년 상반기에는 개발 직군 코딩테스트를 보거나 면접 본 것 말고는 별다른 활동이 없었다. 면접에서 좋은 결과가 있었으면 좋았겠지만, 살면서 첫 면접이었기 때문에 스스로 생각하기에도 부족한 부분이 많이 보였고, 이를 보충해나가고자 노력중이다.
2022년부터 과거의 나는 AI 개발자가 되기 위해 열심히 살았다. 근데, 최근에는 데이터 엔지니어로 진로를 변경하게 되었다. 가장 큰 이유는 아무래도 AI 분야에 대해서 흥미가 사라진 것이 아닐까 생각한다.
Frontend / Backend / Server 개발자 등 굉장히 많은 직무 중에서도 왜 데이터 엔지니어일까를 생각해보면...
나에게 현재 주어진 기회에 최선을 다하며 살다 보니 데이터 엔지니어에 흥미가 생겼다.
현대자동차 소프티어 부트캠프
입과 전 (2024.05 ~ 2024.06)
2024년도 2분기에 현대자동차 소프티어 부트캠프 모집 공고를 보고, 신청할지 말지 굉장히 많이 고민했다. 가장 큰 이유는 일단 2년 간 공부하던 AI 분야가 아니라는 부분과, 입과해서 잘 할수 있을지에 대한 의문점이 가장 컸다.
또한, 당시 상반기 공채 결과를 기다리면서 "붙었을까? 떨어졌을까?"하는 생각을 하루에도 100번은 하면서 흔히 말하는 현타가 왔다. 이때 뭐라도 안하면 좀 정신적으로 힘들 것 같아서 일단 신청하기로 결정했다.
프로그램은 지원서 작성 -> 1차 SW 역량 테스트 -> 2차 SW 역량 테스트 -> 입과 순으로 진행이 되었다.
1차 SW 역량 테스트에서는 2시간동안 5문제를 GROOM?인가하는 플랫폼을 활용하여 시험을 봤다. 백준 티어 플레 5인 상황에서 1시간 30분만에 4.5솔 정도하고 미리 나왔다. 난이도는 대략 실버 상위 ~ 골드 하위 문제였던 것 같다.
2차 SW 역량 테스트는 네트워크 / 컴퓨터 구조 / 알고리즘 / 개발 언어 등 컴퓨터 공학 4년동안 배우는 CS 지식에 관한 객관식 / 주관식 혼합형 시험이었고, 난이도는 ... CS 지식을 대충 알고 있다면 굉장히 어려웠을 시험이다. 가채점 결과로 대략 절반보다 약간 높게 맞았는데, 운이 좋게 입과를 하게 되었다.
(입과 후 멘토 분들에 의해 지원 History를 들어보니, 석사분들이 굉장히 많이 지원했는데 SW역량테스트에서 대거 탈락했다고 한다.)
입과 후 (2024.07~2024.08)
처음 생각했던 부트캠프는 "교육 -> 실습 및 과제" 이런 느낌을 생각했는데, 실제로는 실습 및 과제가 90%인 자율참여형 교육이었다. 다른 교육생분들도 처음에는 "이게 맞나?" 하는 생각이 주로 들었는데, 하다 보니 오히려 팀원들과 기술에 관련해서 질의하는 시간이 많았고, 자율참여형 교육의 장점을 누릴 수 있어 굉장히 좋았다.
(본인이 안하려고 하면 진짜 아무것도 안해도 누가 뭐라하지 않는 그런 교육이기도 합니다. ^^)
입과 후 1달 간 Local 환경에서 Hadoop / Spark 클러스터를 구축하는 실습을 수행했다.
Docker Hub에 있는 Apache 공식 이미지를 활용하지 않고 Docker 이미지로 직접 환경을 구축하는 실습은 많이 어려웠다. 처음에는 "그냥 가져다가 쓰면 되는 것 아닌가?" 하는 생각이 굉장히 컸지만, 직접 구축하면서 오류를 해결하다보니 실력도 많이 향상된 것 같고, Docker와 굉장히 친해진 느낌을 받았다.
또한, 과제로 주어졌던 ETL 파이프라인을 구축하면서 최대한 효율적으로 짜려고 굉장히 노력했다. 특히, 멀티프로세싱을 적극적으로 활용하려고 노력했었고, 효과는 굉장했다. 가능하면 멀티프로세싱을 사용하도록 하자..!!
마지막 1달은 최종 프로젝트를 수행하는 시간이었다. 프로젝트 주제는 "SNS 상에서 신차 출시에 대한 소비자 반응 모니터링 시스템 개발"이었고, 팀 당 3명씩 배정받아서 수행했다.
1달 간의 엄청난 노력 끝에 최종 프로젝트 우승 할 수 있었고, 기쁨을 감추지 못했다. "살면서 가장 열심히 살았던 분기가 언제인가요?" 라고 물어봤을 때 2024년도 3분기라고 바로 말할 수 있을 만큼 열심히 살았다.
돌이켜 보면 데이터 엔지니어에 흥미도 생겼고, 점점 취업하고자 하는 간절함이 늘어서 그런지 잠을 하루에 3시간정도 자고 코딩해도 재미있었다. (피곤하긴 했습니다 ㅎㅎ;)
부트캠프 이후
9월 달은 "지원서 작성의 달" 이다. 기억에 남는게 면접 준비, 지원서 작성 그리고 코딩테스트 준비 말고는 없다.
글 쓰기 -> 밥 먹기 -> 카페가서 글쓰기 -> 쉬기 를 반복했다고 말할 수 있을 정도로 시간이 빠르게 갔다. 그 와중에 주말에는 친구들과의 여행도 좀 다녀오고, 술도 한 잔 하면서 쉬엄 쉬엄 보냈던 것 같다.
그리고 대망의 글또 합격 소식을 받았다.!! 친구가 하는 것을 보고 지원했는데,
- 내 생각을 정리할 수 있다.
- 같은 분야를 공부하는 타 동료 개발자 분들과 소통할 수 있다.
- 소모임 같은 것이 존재하는데, 원하면 자유롭게 참여가 가능하다.
이 세 가지가 굉장히 매력적이었던 것 같다.
4분기 계획 및 목표
6개월이라는 글또 마지막 기수에 참가하게 되면서 미루고 미뤘던 기술 블로그를 작성하기로 계획했다. 어떤 부분들을 다룰 지에 대해서 1주일 간 고민을 해 본 결과, 데이터 엔지니어링 기술 스택 및 사이드 프로젝트 관련하여 기술 블로그를 쭉 작성해 볼 것이다. 데이터 엔지니어링에 관심을 가진지 3달 정도 밖에 되지 않았지만, 부트캠프를 수료하며 성공적으로 프로젝트를 완수하고 수상도 했으니, 그 기운을 쭉 받아 몰입해볼 생각이다.
3달 간의 큰 목표는 아래와 같다.
- Apache Spark 최적화에 관련된 지식 학습.
- Apache Airflow 중급 개발자로 성장. 그리고, 나만의 데이터 ETL/ELT 파이프라인 템플릿 개발.
- Apache Kafka에 대한 개념 스터디 수행.
- 1주일에 5회 이상 알고리즘 풀이 수행.
사이드 프로젝트를 수행하며 위 목표를 이뤄나가고자 하는데, 어떤 프로젝트를 수행할 지, 몇 명이서 할지는 아직 결정되지 않았다. 그리고, AWS를 사용할건지, Local에서 Test용으로 수행해볼 건지 고민이 된다 (돈은 없지만 우리에겐 프리티어가 ...).
대략적인 프로젝트 주제는
- KOSPI 시가 총액 상위 5개 종목에 대한 주가 모니터링 및 동향 예측 시스템 개발.
- 파이프라인을 짜보고 있는데 쉽지 않은 것 같다. 이해가 부족한 상황에서 세부적인 부분까지 고려하려다보니 진전이 없어서 먼저 공부해 볼 예정이다.
- 실시간 데이터 수집 및 처리는 Apache Kafka와 Streaming으로 처리할 계획이다.
- 동향 예측 시스템은 간단하게 LSTM + a의 모델을 활용하여 배치 단위로 수행할 예정이다.
- NYC TLC 데이터셋을 활용한 배차 시스템 개발.
- NYC TLC 데이터셋은 빅데이터 처리의 가장 대표적인 데이터셋이며, 이를 활용해 볼 생각이다.
- 시간, 위치, 날씨 등의 변수를 고려하여 특정 Time에 각 Taxi Zone의 수요 예측을 수행하고, 이를 바탕으로 간단한 알고리즘을 구현해 볼 생각이다.
- 아직 정해진 것은 없지만, 꽤 재미있어 보인다.
- 국내 / 해외 IT 기업 뉴스 모니터링 시스템 개발.
- 면접 준비할 때, 자기소개서 작성할 때 가장 먼저 드는 생각은 "왜 지원했는지 어떻게 기술할까" 였던 것 같다. 이런 고민을 해결해줄 수 있는 시스템이 있다면 좀 좋을 것 같다고 생각해서 계획에 추가했다.
- 재미있는지는 모르겠는데, 만들어두면 유용할 것 같다.
좋은 기회가 된다면, 위 주제말고도 글또 팀원분들과 프로젝트를 수행해보고 싶다.
'일상' 카테고리의 다른 글
2024년 회고 (3) | 2024.12.31 |
---|---|
2024년 10월을 되돌아보며... (4) | 2024.11.10 |