본문 바로가기

Dego Log

💎 원티드 프리 온보딩 백엔드 인턴십 10월 💎

원티드에서 시작하는 프리 온보딩 백엔드 인턴십 10월이 드디어 시작되었다.

참여하게 된 계기는 취업 전에 개인 프로젝트로 포트폴리오를 채워나갔는데 이것만으로는 이제 부족하다는 것을 느꼈기 때문이다. 조금 더 다양한 사람들과 커뮤니케이션하면서 학습하고 싶다는 생각이 강했기 때문이다.

 

원티드 프리 온보딩 백엔드 인턴십에 참여하기 위해서는 사전과제를 수행하여 100명의 합격된 인원들만 참여할 수 있었고 사전과제에 대한 요구사항을 확인해 봤을 때 어려워 보이지 않았기 때문에 망설임 없이 만들어서 제출했던 것 같다. 만들고 리드미를 정리하는 데 있어서 기한은 2일 걸렸던 것 같다. 사실 1일이면 되겠지라는 생각을 했지만 개인 일정도 있다 보니 1일은 무리였었다. 그래도 마감 5일 전이어서 0.5점의 가산점을 받을 수 있는 기한 내에 제출을 해서 다행이라고 생각한다. 

 

그리고 결과는 다행히도 합격이었다. 간절한 마음으로 합격자 발표날만 기다렸었고 사실 합격하겠지 라는 생각을 하면서도 불안한 마음은 어쩔 수 없었던 것 같다. 이왕 시작한 거 예전에 팀플 했을 때처럼 다시 한번 열정 넘치게 해 볼 생각이다!

 

+ 원티드 프리온보딩 백엔드 인턴십 지원했을 당시 링크

https://www.wanted.co.kr/events/pre_ob_be_7

 

백엔드 | 프리온보딩 인턴십 10월 | 원티드

프리온보딩 인턴십은 동료들과 함께 다양한 기업의 기술과제를 수행하는 교육형 인턴십 프로젝트입니다. 취업(이직)을 희망하는 신입/주니어라면 누구나 참여 신청할 수 있습니다.

www.wanted.co.kr

 

+ 원티드 프리온보딩 백엔드 인턴십 사전과제 요구사항

https://bow-hair-db3.notion.site/1850bca26fda4e0ca1410df270c03409

 

프리온보딩 백엔드 인턴십 선발과제

프리온보딩 백엔드 인턴십 선발과제

bow-hair-db3.notion.site

 

 

💎 OT 진행

처음에는 멘토님의 이력들을 설명해 주었고 총 4주 차에 대한 일정 및 취업 전 이력서, 포트폴리오, 면접에 필요한 부분들을 콕콕 집어서 말씀해 주셨다. 여기서 가장 기억에 남는 부분이 아래 질문이었다.

Q. 여러분들은 개발을 잘하고 싶나 일을 잘하고 싶나?

 

여기에 대한 대답은 개발을 잘하고 싶다였다. 다만 멘토님의 답변은 달랐다. 개발만 잘하는 것은 한계가 있기 때문에 일을 잘하는 사람이 되어야 한다였다. 개발만 잘하는 것이 아닌 협업과 배우는 자세가 높아야 한다는 것이 어느 정도 포함되어 있는 것 같았는데 이 부분에는 너무 동의한다. 다만, 개발의 정도가 어느 정도 받쳐줘야 일을 잘하는 사람이 된다고 생각하기 때문에 두 마리 토끼를 잡는 것을 목표로 나아가 보고 싶다!

 

OT 진행 시 위에 내용이 끝나고 이제 같은 프레임워크 + 언어를 사용하는 사람들끼리 팀을 만들어 주셨다. 팀 배정도 너무 궁금했고 '제발.. 좋은 사람들이랑 팀 되었으면 좋겠다..' 이 생각이 200% 차지하고 있었다. 팀플이 있기 때문에 팀원들이 너무 중요하다고 생각하기 때문이다. 예전에 팀플 했을 때도 다행히 좋은 사람들과 함께여서 무난하게 팀플을 끝냈던 경험이 있어서 난 요번에도 좋은 사람들과 되겠지? 이러면서 기다렸다.

 

처음에 팀 배정을 받고 미팅룸에서 음성대화를 하면서 간단한 자기소개와 팀장 정하기, 깃&노션 팀페이지 등 만들고 팀 내부 규칙? 같은 것도 정했었던 것 같다. 사실 여기선 팀장이 그렇게 중요하지 않지만 한 번 해보고 싶기도 했다. 예전 팀플에서는 "팀원인데 팀장처럼 팀을 다 이끌어가네!"라는 말들을 다른 조의 팀원들한테 듣곤 했었다. 사실 그땐 개발을 막 시작하는 사람들끼리 모여서 서로서로 막막하지만 누군가는 나서서 팀원들의 의견을 모으고 결정해야 한다고 생각했다. 그리고 팀플 제출날 발표를 했는데 다른 조들한테 "잘했네!"라는 소리를 듣기도 했지만 나 스스로의 만족도는 100%가 아니었기 때문에 집 가면서 혼자 울기도 했다.. 😅 이때를 회상하면 약간 민망하다.. 그래도 이때의 내가 있어서 지금의 내가 살아남지 않았을까?라는 생각을 하면서 위안을 삼는다.

 

그래서 결론은 요번 팀에서 팀장을 맡았지만 트러블 없이 의견 조율을 하여 무사히 끝내고 싶은 마음이 크다! 확실히 취업 목적으로 모였고 기술과제도 제출하여 합격한 사람들이어서 자세도 다르고, 지식도 다르고 배울 점이 많을 것 같다.

 

 

💎 첫 기술과제 발표

드디어 궁금하고 궁금했던 기술과제가 발표되었다. 주제는 소셜 미디어 통합 Feed 서비스를 만드는 것이었다. 다만, 실제 SNS 외부 API를 사용하는 것이 아닌 사용한다는 가정하에 구현하는 것이었다. 대표적인 요구사항은 아래의 요구사항이었다. 요구사항 페이지가 스크롤이 정말 길긴 했다. 그만큼 자세하게 설명해 주려고 했던 점이 보였고 자세한 설명이라서 이해하기 편했던 것 같다.

 

A. 사용자 인증 시스템 : Token 인증 방식, JWT(Json Web Token), 암호화

B. RESTful API : RESTful API 설계, API Document, query parameters

C. 시계열 통계 생성

 

이제 위 3가지를 5명이서 분담하여 작업을 해야 했고 팀원들끼리 미팅룸에서 음성대화로 아래 순서대로 진행을 하였다.

1. 테이블 설계를 먼저 진행하고 2. 엔티티를 설계하고 3. 변수명 규칙, 파일&폴더 규칙, 4. 스케줄 정하기, 5. 스켈레톤 프로젝트 담당할 사람 정하기, 6. 역할 분담을 나눴던 것 같다. 정말 뻥 안 치고 4시간 정도는 대화했던 것 같다. 인원도 많고 각자 생각하는 의견도 많아서 오래 걸렸지만 각자의 의견들을 많이 얘기해 줘서 난 더 좋았다. 더 많은 정보를 알아갈 수 있고 이게 바로 팀플이지!라는 생각을 하는 사람으로서..😄 일단 나는 이번 기술과제에서 스켈레톤 프로젝트와 B와 관련된 요구사항을 맡기로 했다. 이렇게 결정된 이유는 아래에서 자세히 설명하겠다.

 

스켈레톤 프로젝트 누가 만들지?

우선 위 질문이 있었고 스켈레톤 프로젝트 만들긴 해야 되네? 어떻게 정하지? 이렇게 나왔고 난 사전과제로 제출했던 코드를 화상으로 공유하면서 설명을 하고 투표로 결정하자고 말했었는데 팀원들이 전부 동의를 해줬었다. 우선 내가 먼저 진행을 했고 어떤 구조를 생각하고 만들었는지, 그 기준은 무엇인지에 대한 설명을 했고 3:2의 아슬아슬하게 내가 맡게 되었다. 이유는 "Service와 Lib을 분리하여 사용한 점"과 "참고할게 많아 보인다는 점"과 "세분화시킨 구조"라고 3표를 준 팀원들이 말해주었고 이때 '전 회사에서 회사에 몸 바쳐 일했던 결과가 여기서 빛을 보는 건가?'라고 생각했다.. 😅 

 

스켈레톤 프로젝트는 팀원들이 바로 사용해야 한다고 생각했기 때문에 1시간 안에 만들어서 공유하겠다고 얘기를 했고 1시간 안에 만들어서 팀원들에게 공유했었다. 사실 개인 프로젝트도 바로 직전에 배포전 단계까지 만들기도 했고 내용을 블로그로 정리해서 머릿속에 아직 많이 남아있어서 금방 할 수 있었던 것 같다.

 

단, main branch에 push 한다는 걸 VSCODE가 master branch로 이름이 돼있어서 main branch가 아닌 master branch로 올라가 버린 이슈가 있었다. 사실 이때 개인적인 일 때문에 잠시 나갔어야 해서 해당 이슈 공유했더니 팀원 중 한 분이 그냥 branch끼리 머지 시켜버리면 될 것 같다고 해서 나갔다 와서 한다고 공유했다. 내 성격상 굉장히 마음에 걸려서 들어오자마자 고쳐서 다시 올리려고 했지만 팀원분이 대신해 주셨었다! 이때 정말 감사했다. 이런 게 팀플인가! 또 이 생각이 들긴 했다..😭

 

왜 B. RESTful API 관련 요구사항을 선택했는가?

기술과제를 전부 읽었을 때 나 이거 무조건 꼭 하고 싶어! 이런 내용은 크게 없었다. A. 사용자 인증 시스템은 해 본 경험이 있어서 제외하고 싶었고 C. 시계열 통계 생성은 이거 쿼리 지옥이겠네!라고 생각을 했고 B. RESTful API 요구사항에 외부 sns API를 실제 호출이 아닌 가정하에 호출하여 공유 카운트를 올리는 것이 있었는데 여기서 문득 외부 SNS API 호출을 어떤 식으로 하는 걸까? 과연 실제가 아니지만 어디까지 구현을 해볼 수 있을까? 비슷한 느낌을 낼 수 있을까? 이런 질문들이 마구마구 생겨서 해당 요구사항을 하고 싶다고 말했다. 다행히 역할 분담도 투표로 했는데 인기가 없긴 했었다.. 😅 바로 당첨!

 

 

💎 1주 차를 마무리한 소감은?

일단 참여하게 된 것에 대해서 감사하게 생각한다. 요즘 취업난이라고 많이 들었는데 이력서에 작성할 것도 많이 생기고 블로그도 작성할게 많아지고 있다는 점이다. 세션 수업에 대해서도 기대를 많이 했었는데 특정 프레임워크, 특정 언어를 공부하는 것이 아닌 CS 관련 지식을 쌓아가고 있는 것 같아서 너무 좋은 것 같다. CS 관련 지식이 부족하다는 것을 알고 있었기 때문에 이렇게라도 수업을 들어서 정리한다면 분명 먼 훗날 나에게 도움이 될 것이라고 생각하기 때문이다.

 

사실 아직 1차 기술과제를 진행 중이다. 기한은 5일이 주어졌기 때문에 아직 2일 남았다.. 요구사항 관련 내용은 마무리 지었지만 아직 팀 내부에서 결정할 것도 있고 PR도 마무리가 안되었기 때문에 마지막 날에 딱 끝나지 않을까 생각한다. 

 

사실 요번 팀 프로젝트를 진행하면서 느낀 점을 추후에 글을 올리겠지만 간단하게 적자면, 예전 개발을 막 시작했을 때는 막 아무거나 썼는데 이제는 실무에서 배운 것과 최근에 개인 프로젝트로 공부했던 것들이 내가 왜 이렇게 코드를 작성했는지에 대한 이유를 명확히 말할 수 있는 것이다. 원티드 인턴십 기간이 끝난다면 한 단계 성장해 있을 거라고 기대하고 있다. 

 

2주 차 세션도 더 열심히 듣고 팀 활동도 더 열심히 할 생각이다!