+ 인턴 후기가 velog에 많아졌다. 하지만, 네이버는 아무도 안쓴게 '내가 뭔가 후기를 쓰면 안된다는 조약에 싸인을 했었나' 생각을 하게 하지만, 여기에 사내 비밀정보는 없어서 남겨본다. (밥이 맛있다 정도?) 어차피 부서마다 다를테니 그냥 재미있게 봐주셨음 한다.
아직 나는 학생이라고 생각했지만, 캠프가 끝나고 막상 인턴을 해볼 수 있다니 겁나면서도 이번 아니면 기회가 없겠다 싶어 시작을 했다. 졸업이 5학기나 남은 나를 왜 뽑은건지 아직도 의문이 들지만, 이왕 해본거 기록을 남기면 나중엔 잘 써먹겠지.
19.07 부터 20.03 - 부스트캠프와 인턴을 마친 뒤의 회고, 잡담이 워낙 많으니 미래의 나는 꾹 참고 읽자.
캠프를 같이 하며 좋아했던 두 분의 인터뷰이다. 이 글을 본다면 부스트캠프에 대해 더 잘 이해할 수 있을 것 같다.
코딩을 해보니 앱도 만들고 앱을 만드니 서버도 필요하고... 를 반복하다 웹좀 배우자는 생각에 시작했다.
귀여운 부덕이, 말 안걸고 욕 많이 함 (미안)
캠프는 키워드를 주고 직접 찾아서 적용하는 방식의 수업을 진행한다. 처음엔 '왜 수업인데 안알려주죠?' 했지만, 어차피 코딩하면서 만나는 문제는 기존에 알려진 문제가 아닐테니 혼자서 해결했고, 오히려 키워드를 알고 있으니 방향은 쉽게 잡혀서 더 잘 알게됐다.
캠프동안 Javascript 를 사용했다. 특히 Nodejs의 비동기가 어떻게 이뤄지는지 같은 원론적인 부분부터 코드 잘 짜는 것 까지 다 배우는데, 깃을 통해서 어떻게 협업할지 배우는게 가장 좋았던 것 같다. 다 좋았지만 commit 메세지를 잘 쓰는 방법이 가장 기억에 남는다.
특히 기술 셋에 제한이 없었는데 나같은 경우에는 도커를 굉장히 많이 써봤다. (캠프에 도커 열풍을 불러일으킨 나) 배워야 하는것만 배우는게 아닌, 더 하고싶은게 있다면 할 수 있는게 너무 좋았다.
멤버쉽 과정에선 페스타 클론 프로젝트를 했는데, 인복이 좋았던건지 좋은 팀을 경험했다. 특히 이정도로 기술 이야기와 기능에 대한 토론을 깊게 해본 경험이 없어서 정말 신선했다. 이런 사람들을 다신 못만날 것 같다.
나는 백엔드랑 쿠베에 집중했는데 완벽하진 않았지만 실 서비스를 생각하며 프로젝트를 진행했다는 것에 만족한다. 결과는 잘 나왔고, 기업 네트워킹 자리에서의 데모도 잘 끝낸 것 같다. (이렇게 많은 스타가 찍힐 줄은 몰랐다)
캠프가 끝나고 기업 네트워킹을 통해 인턴 생활이나 취업을 할 수 있었다. 대부분의 캠퍼분들은 취준하시던 분들이어서 처음에 취업에 관심이 없던 나도 덩달아 취준의 늪(?) 에 빠지게 된 느낌이었다. 그렇게 네이버에 지원했다.
질문은 프로젝트와 CS에 관한 질문을 하셨다. 면접은 굉장히 프리하게 진행됐다.(리더님이 비교적 프리하셔서 그런가) 오히려 생각했던 전형적인 질문은 안하셨다. 내가 자바를 싫어한다고 생각하셨나?
프로젝트는 정말 깊게 물어보셨다. 한시간 내내 내가 캠프에서 생각했던 모든 것들을 칠판 가득히 그림 그려서 말씀드렸던 것 같다. 가장 기억에 남는 면접 내용은 Redis 기능 하나 이름이 생각 안나서 레퍼런스 켜고 말씀드린 것.
CS는 배우지 않은 부분까지 (생각해보니 난 아직 학교 수업에서 언어 말고 배운게 없다.) 어영부영 준비는 했지만, 막상 가서 면접을 보니 매우 많이 부족했다고 느낀다. Stack 두개로 Queue 를 만들어보라는 질문도 받았는데, 캠프에서 팀원분이 말하던 내용이 떠올랐다.
팀원1 : 아 혹시, Stack 두개로 Queue 만드는거 생각나요?
나 : 그냥 큐 쓰면 되지 왜 굳이 스택 두개를 써야할까요...
다 끝나고 보니 충분히 스택 두개를 써야하는 상황도 있을 법 하다고? (마인드 컨트롤을 한다) 느낀다. 알고리즘 열심히 해야지.
면접이 조금 일찍 끝나서 면접관님에게 나중을 위해 뭘 하면 좋을지 조언을 부탁드렸는데 지금처럼 하되, 기초를 단단히 다져놓으면 좋다고 하셨다.
APP 만들땐, 기초가 크게 필요없다고 생각해서 공감 못했지만, 프레임워크나 모듈을 사용하지 않고 과제를 하며 기존에 없던 것들을 구현하다보니 기초 지식이 많이 필요했었다. 이젠 CS도 많이 해야지.
면접을 심하게 망쳤다고 생각했는데 붙었다. 다행이다.
코로나 때문에 재택을 한달이나 했다. 사실 회사 의자가 좋기도 하고 사무실에서 일할 때 코딩이 제일 잘되었지만, 3주밖에 못가본게 아쉽다.
그 부서에서 인턴을 하는 사람은 나밖에 없어서 혼자 과제를 했다.
사실 멘토님과 많은 이야기를 하면서 프로젝트의 방향을 계속 잡아나가고, 많은 부분에 대해 도움을 받기도 했지만, 정작 인턴 동료는 없어서 외로웠다.
밥은 정말 맛있었다. 정말
이게 회사밥이래 말이 됨? 실화임?
서비스가 아닌 다른 것을 만드는 과제를 수행했고, 요구사항도 추상적이었다. 그 외에 더 말하면 당연하지만 안될 것 같다.
처음에 주제에 대한 설명을 듣고 보니, 요구사항과 제약사항이 적어서 초반엔 조금 방황했었지만, 과제를 진행하며 선택해야 하는 부분들에 대해 멘토님과 얘기하면서 요구사항을 구체화 해보니까 괜찮은 결과가 나왔다.
다른 인턴을 하던 친구들과 비교해서 과제가 불친절하다고 생각했지만, 오히려 꽉 짜여진 기획과 요구사항이 주어졌다고 생각하면 여러가지 시도해볼 시간도 없이 코드만 생산했을 것 같다.
끝나고 멘토님과 이야기를 해보니 일반적인 현업 프로세스가 위와 비슷하다고 했다. 애매모호한 요구사항과 예상치 못한 상황에 치고 들어오는 추가 사항들, 그리고 구현하다가 새로운 시나리오가 나오면 다시 상의를 하는 등, 유동적으로 움직인다고 하셨다. 그런 프로세스를 경험하기엔 좋은 주제였다고 생각한다.
내가 너무 성능에 집착했던 것 같다.
캠프 최종 플젝에서 내가 맡은 기능이 예약 관련 부분이었는데, 예약 트래픽이 폭증하더라도 버티는 것을 만드는 것이 목표였지만, 근본적인 트래픽 폭증을 제어하지 못한게 아쉬웠는데, 그 때문에 성능에 집착했다.
그래서 스트레스 테스트를 중심으로 진행했다. 그렇게 온갖 삽질을 하다 마지막주 쯤에야 생각난게, 내 프로젝트는 여러 요청을 테스트하려면 스트레스 테스트 툴이 필요하지만, 기본 기능을 테스트하기 위한 단일 요청은 간단한 CI 로도 가능했던 것이다.
테스트를 그렇게 많이 짰었는데 이 생각을 못한게 너무 아쉽다. 기본적인건 꼭 테스트 시나리오를 짜둬야겠다.
초반 테스트 그래프가 매 테스트 마다 훅 튀는 경향이 있어서 시니어분들과 이야기를 해봤는데, 'TCP 혼잡 제어 때문일 수 있다' 며 말씀을 해주셨다. 난 그냥 혼잡제어 같은게 있구나 하면서 넘겼던 것을 그래프를 보면서 예측하신 점이 놀랍다. 확실한 원인 파악은 못했지만, 나도 개발을 하며 발생한 현상을 통해 CS의 이론적인 부분을 확인하거나 추측해볼 수 있는 시각을 가질 수 있게 되길..
대기업에서 백엔드 하려면 Java가 필수더라. 특히 Spring 같이 기업 입장에선 누가 짜도 비슷할 프레임워크를 쓰는게 좋겠지만, 나는 아직 조금 자유로운 언어로 여러 패턴을 경험하고 싶다. Java는 틀에 박힌 과도한 설계를 강요하는 느낌을 받아서 사용이 꺼려진다.
코로나 때문에 한달 넘게 집에서 재택 과제를 했던건 정말 아쉬웠다. 4층 카페에서 파는 토피넛 라떼가 너무 먹고싶었지만, 인턴 마지막날 품절되어 먹질 못했다. 다음에 취직을 하게 된다면 토피넛 라떼를 반드시 먹을것.
중간중간 과제 발표를 했는데, V앱에서 발표를 진행했다. (생각보다 댓글 읽는게 재미있었다. 드립을 많이 쳐주셔서 ㅋㅋ) 만약 졸업하고 취업을 못한다면 개발 유튜버나 해볼까
사람들이 정말 좋았다. 내가 인사도 잘 못했지만, 잘 챙겨주시고, 관심가져주시고 (엉엉 고마워요) 했던 것들이 너무 감사하다. 아쉽게 다시 볼 기회가 사라졌지만, 어떤 기회라도 다음에 뵙는다면 이제까지 얻어먹었던 커피라도 사야겠다.
개발을 향한 열정이 너무 멋지네요. 잘 보고 갑니다~~