프로그래머스 데브코스 프론트엔드 3기 지원 과정에서 느낀 점

남주영·2022년 9월 23일
4

회고

목록 보기
1/2

글 작성일인 22년 9월 23일 기준, 아직 면접 전형이 진행 중이므로 면접과 관련된 사항은 <이미 알려진 것, 개인적인 소감>에 대해서만 기재합니다.

정보 제공 목적보다는 개인적인 회고 글에 가깝습니다!

오늘 프로그래머스 데브코스 프론트엔드 3기의 면접을 보았고, 이제 결과만을 기다리고 있다.
지원 과정 동안 느낀 점을 기록해보려고 한다.

1. 서류

문항이 꽤 많았으나 평소에 자신의 개발자 커리어에 대한 고민을 많이 해온 사람이라면 답변하기 쉬운 것들이었다.
그리고 공고에 사전 공개된 문항과 거의 똑같았으며 비슷한 수준의 질문 몇 가지가 추가되어 있었다.

나 또한 문항이 어렵지는 않게 느껴졌고 오히려 재미있었다.
서류를 쓸 당시 한창 바쁜 일이 많아 글을 쓸 일이 잘 없었는데, 오랜만에 나에 대한 생각을 글로 정리해보는 시간을 가질 수 있어 좋았다.

나는 그래도 평소에 어떤 개발자가 되어야 할지, 어떻게 하면 그 목표에 가까워질 수 있을지 나름 치열하게 고민하며 살아왔다 생각한다.
그래서 그 고민들에 대해 구체적으로 물어봐주어 그것들을 공유할 수 있다는 것 자체가 좋았다.

그렇지만 역시 서류 작성이란 나에게 결코 만만한 일은 아니기에 혹시나 좋지 않은 결과가 나오진 않을까 걱정했다.

2-1. 코딩테스트 준비 과정

코딩테스트 준비는 올해에 처음으로 꾸준히 하기 시작했다.
지금껏 코딩테스트 준비를 해온 방식을 문제 플랫폼 별로 아래에 정리해보았다.

데브코스 코딩테스트에 대한 정보만 알고 싶은 사람이라면 TMI가 많으니 아래로 아래로.. 내리는 것을 추천한다.

별 거 없는 코딩테스트 연습 레포 1(old), 2(new!)

프로그래머스 코딩테스트 연습

프로그래머스의 level 1 문제를 너무 간단한 연습 문제 몇 가지만 빼고 JavaScript로 모두 풀었다.
그리고 level 2 문제도 48문제를 풀었다. (24개 남음)

이 과정에서 JavaScript로 알고리즘 문제를 푸는 것에 익숙해질 수 있었다.

왜냐하면 프로그래머스는 문제를 맞추고 나면 '다른 사람의 풀이'에 들어가 좋아요가 많은 순으로 다른 사람들의 코드를 볼 수 있다.
한 문제를 풀 때마다 꼭 다른 사람들의 코드를 2~3개씩 보며 한 줄, 한 줄 해석하고 나름대로 리뷰를 해보았다.
그리고 꼭 PR을 올려 기록을 하는 방식으로 머리로만 생각하고 넘어가지 않도록 했다.

그러다보니 잘 몰랐던 JavaScript 내장 메소드와 생각지 못한 코드 작성 방법, 풀이법 등에 대해 많이 알 수 있었다.
점점 내 코드와 좋아요가 많은 코드가 비슷해지기도 하고 가끔은 개인적으로 내 코드가 더 낫다고 느껴질 때도 생기곤 했다.

(그리고 요즘은 문제 패턴에 어느정도 익숙해져 이건 다른 사람의 풀이를 꼭 봐야겠다 / 안 봐도 되겠다 판단이 돼서 안 보거나 1개 정도만 보기도 한다.)

백준

입출력을 직접 해야 하는 코딩테스트도 대비하기 위해 한동안은 백준에서도 열심히 문제를 풀었다.
그리고 프로그래머스 level 2를 풀던 시기였는데 난이도가 나에게 높다고 느껴지는 것들도 많았다.
그래서 다른 플랫폼에서 기본 문제를 양치기로 많이 풀고 돌아오려는 의도도 있었다.

확실히 입출력 코드를 익숙하게 쓸 수 있게 되어 좋았다.
그런데 매번 쓰기가 점점 귀찮아져 스켈레톤 코드를 입력 형식 별로 많이 만들었는데 혹시 필요한 사람은 위에 올린 레포지토리 2를 참고하면 도움이 될 수도 있다!

그리고 solved.ac 티어를 기준으로 열심히 난이도를 올리고 내려가며 풀었다.
그 방식과 함께 어떻게 문제를 선정하고 풀었는지 적어보겠다.

[문제 선정 및 풀이 룰]

  • '문제 순위' 메뉴에서 현재 설정한 난이도로 필터를 걸어 순위가 높은 순으로 풀기
    • 많이 푼 문제들은 이유가 있을 것이라 생각하여
  • 한 문제 당 최대 45~50분 풀이를 목표로 잡음
  • 1시간 30분 이상 같은 문제를 붙잡고 있지 않는다.
    • 골드 이하로는 양치기가 중요하다는 조언에 동의하기 때문
    • 1시간 이상 풀리지 않는다면 해석을 찾아보고, 더 해보고 싶은 욕심이 든다면 30분만 더 시도해본다.
    • 해석을 찾아봐도 모르겠을 땐 질문 게시판에 글을 올리거나 주변에 물어본다.
    • 웬만하면 1시간 30분 내로 한 문제에 대한 모든 과정을 끝낸다.

[난이도 조정 룰]

  • 난이도는 브론즈 1부터 시작
  • 시간 내에 너무 수월하게 풀리거나 2번 이상 시간 맞춰 풀 시 난이도를 올림
  • 풀이를 찾아봐야 했거나 시간을 넘겼다면 난이도 변화 X 또는 내림
  • 풀이를 찾아봐도 이해가 어려웠을 정도라면 난이도 1~2개 내림
  • 꼭 이 룰을 정확히 따를 필요 없고 체감상 난이도에도 의존하여 유동적으로 조정도 가능

이렇게 해서 현재 티어는 Silver 1이고, 높은 순위에 한 티어 내에서도 쉬운 문제들이 많은지.. 실버 1~골드 5까지도 풀다가 요즘은 실버 3~1을 풀고 있다.

(백트래킹 문제들에서 막히고 있다 ..)

2-2. 코딩테스트 후기

알고리즘 3문제, 객관식 문제 15문제를 3시간 동안 풀어야 했다.
구글링, 외부 IDE 사용, 외부 코드 복사 모두 허용됐다.

알고리즘 3문제의 난이도는 쉬웠으며 3솔을 했다.
사실 예제 외에 테스트 케이스 통과 여부를 알지 못해 다 통과한 것인지는 모른다.
그래서 마침 객관식까지 점검하고도 시간이 많이 남아 열심히 더 고민해봤다.
그렇지만 아무리 생각해도 고려하지 못한 엣지 케이스는 없는 것 같아 그냥 제출했다.
(정말 없었는지는 까봐야 알지만 ..)

1, 2번은 구현 문제였던 것 같고 3번은 BFS를 활용했는데 BFS를 할 발판이 될 코드를 짜는 것이 빡구현이었다.
세 문제 모두 문제 길이가 꽤 길어서 겁을 먹었지만 읽어보면 아주 상세히 설명을 해주기 위해 길이가 길어졌다는 것을 알 수 있었다.
문제가 친절해서 참 좋았다.

객관식 문제는 생각보다 어려워서 당황했다.
내가 JS, CSS, HTML 기본을 공부를 제대로 안 해서 그럴 수 있다..
나름 1년 동안 FE 개발 열심히 했다고 생각했는데 잘 모르는 것이 많았다.
하지만 시간이 많이 남았기에 열심히 구글링 하고, 실행해볼 수 있는 것은 vscode에서 실행해보기도 하면서 다 맞는지 확인을 하고 제출했다.

결과는 합격이었다. (+서류까지)

문제를 많이 푼 사람도 떨어졌다는 말을 들어서 아마 코딩테스트는 정말 기본적인 확인용이고 서류가 중요한 것 같다.

3. 면접

위에도 기재했지만, 글 작성 시점 기준 아직 면접 전형이 끝나지 않았기 때문에 면접 질문 등 자세한 내용은 기재하지 않으며 개인적인 소감에 대해서만 작성합니다.

대망의 면접..

일단 난 면접 경험이 많이 없고 대학 입시 때부터 면접을 굉장히 많이 망쳐왔다.

SOPT 지원할 때는 전날부터 긴장이 너무 심해서 뭘 할 수가 없어서 청심환 두 병을 사서 전 날에도 먹고 당일에도 먹었다.
그렇게 했는데도 긴장했다.
그리고 당시 추석 연휴 기간 동안 혼자 서울에서 준비를 했어야 했었는데 봐달라고 부탁할 사람이 없었다.
너무 막막해서 솝트 면접 가상 시뮬레이션을 할 수 있는 웹 페이지를 만들어서 연습하기도 했다.
그렇게 했는데도 긴장했다.

이렇게 밑밥을 열심히 깔았고 ..

결과는 이번에도 너무 긴장했다.
개인적으로는 적당히 잘하고 적당히 망한 것 같다.
아무래도 열심히 해온 것이 있으니 아예 망치진 않은 것 같은데, 임팩트가 없었으며 말을 너무 못했다.

이번에 경쟁률 아주 치열하다던데 ...
아무래도 기대는 하지 않아야겠다.

그 이후

너무 하고 싶었는데 이렇게 돼버려 현타가 와서 이런 저런 생각을 많이 했다.

결론은 <최근에 나에 대해 사유하고 그것을 글로 옮기는 시간이 없어졌다>라는 것이다.
물론 이런 일이 수학처럼 'A 때문에 B가 된거야'라고 설명을 할 수 있는 것은 아니니 이것이 면접을 망친 원인이라고 콕 찝어 말하기는 어렵다.
그렇지만 큰 일조를 했다 생각하고..
최근에 부족했던 것이 팩트이니 여기에 대해 생각을 많이 해봤다.
(회고 글을 쓰게 된 이유도 여기에 있다.)

나는 원체 내 생각을 말과 글로 표현하기를 어려워 하는 사람이었다.
그것을 솝트 YB 활동을 하면서 협업을 통해 커뮤니케이션을 워낙 많이 하다보니 뼈저리게 느꼈다.
그래서 활동이 끝난 올해 초에 말하기/글쓰기 실력을 늘리기 위해 이런 저런 다짐을 하고 계획을 세웠다.

그래서 지금껏 아래와 같은 노력을 해왔다.

  • 책 꾸준히 읽기 (장르 가리지 않기)
  • 글 꾸준히 쓰기 (회고, 독후감, 일기 등)
  • 개발자의 글쓰기, 테크니컬 라이팅 등에 대한 주제에 관심 가지고 많이 알아보기

일단 덕분에 글쓰기 실력이 정말 많이 나아졌다.
지금 이 글을 쓰면서도 예전이었으면 여기까지 쓰는 데에 하루이틀은 더 걸리거나 여기까지 오지도 못했을 것이라는 생각을 했다.
SOPT 활동을 하며 정말 닮고 싶다고 생각한 친구를 보며 '어떻게 저정도 퀄리티의 글을 저렇게 빨리 써내지?'라는 생각을 종종 했는데 나도 시간이 지나면 그렇게 될 수 있을 것이라는 자신감을 얻었다.

여기서 얻은 효과는 글쓰기 실력 뿐만이 아니었다.
글을 꾸준히 쓰기 위해 나에 대해 꾸준히 사유했다.
그러니 생각이 단단해지고 내가 나아가야 할 방향을 지속적으로 바로 잡을 수 있었다.
덕분에 취업 준비 기간이라 불안했던 마음이 많이 사라지고 나를 믿을 수 있게 됐다.

이렇게 쌓은 문장력과 단단한 생각이 말하기에도 영향을 미쳐 전보다 말하기를 잘한다고 느낀 시기도 있었다.

그런데 최근에 그런 것들이 많이 무너졌다.
공채 시즌이라 점점 바빠진다는 핑계로 글을 각 잡고 쓰는 시간이 줄어들어 거의 쓰지 않고 있었다.
책은 점점 읽지 않다가 SOPT Makers 활동을 시작하면서부터는 이제 읽을 시간이 없겠는걸? 하며 도서관 들락거리기를 아예 그만두었다.
그리고 그냥 닥치는대로 눈앞의 해야 할 일들만 해왔다.

최근에는 이렇게 나에 대한 사유를 멈춘 상태에서 나와 경험 차이가 정말 많이 나는 사람들과 프로젝트를 시작했다.
자꾸 나에 대한 부족한 점 밖에 보이지 않아 자신감은 떨어져가고, 내가 뭘 하고 있는지 잘하고 있는지 알 수 없는 채로 정신 없이 눈앞의 일들을 했다.
나를 단단하게 지탱해주고 있던 방향성이 사라져가고 있는 느낌이었다.

면접은 퀴즈를 내고 정답을 맞추는 자리가 아닌 면접관이 나라는 사람에 대해 알아가는 자리라고 생각한다.
최근의 나는 나라는 사람에 대해 잘 설명할 수 있는 상태였는가?
절대 아니다.

여기까지 결론이 도달하고 난 뒤 내가 왜 면접을 만족스럽게 보지 못했는지 어느정도나마 알 수 있었다.
그리고 다시 사유하기 위해 이 글을 썼으며, 앞으로의 다짐을 새롭게 할 수 있었다.

앞으로

눈 앞의 것에 집중하고 지금 하고 있는 것들에 올인하려는 것은 분명 좋은 태도다.
하지만 자칫하다 '나'를 잃지 않게 조심해야 한다.

그 일을 하는 내가 있어야지, 그 일들이 내가 되거나 내가 없어진다면 분명 본질을 잃게 된다.

앞으로는 사유하는 것을 절대 게을리 하지 않을 것이다.
내 감정을 잘 알고, 진정으로 '내' 생각을 하고, 이를 글로 쓰고 말할 것이다.
또 게을러지는 순간이 오더라도 이 다짐을 잊지 않고 다시 돌아와서 결국 올바른 방향으로 가도록 할 것이다.

그럼으로써 꾸준히 자기주도적으로 성장하여 멋진 개발자가 될 것이다!
(멋진 개발자라 함은.. 참 두루뭉실 하지만 여기에 대해 쓰려면 글이 더 왕창 길어질 것이기 때문에 오늘은 이정도로 표현해보겠다.)

+) 합격했습니다!

profile
Sharing is Caring. 🪐

4개의 댓글

comment-user-thumbnail
2022년 9월 23일

언니 바쁜데도 이렇게 회고 길게 쓰는거 너무 대단하다고 느껴! 난 꼴랑 수업 몇개 듣는다고 회고 빼먹는거 더 반성하게 된다옹 언니는 익숙하지 않겠지만 회고써놓은거 읽어보면 너무 깔끔하고 가독성 좋게 잘 써놔서 술술 읽히더라
면접도 너무 수고많았다!!! 데브코스 꼭 붙었음 좋겠다!! 난 코테 1개풀고 나가서 똑 떨어짐 ㅎㅎ

1개의 답글
comment-user-thumbnail
2022년 10월 29일

오 면접 후 면접 질문에 대해 답변을 잘 했는지 못 했는지 관점이 아니라 <최근에 나에 대해 사유하고 그것을 글로 옮기는 시간이 없어졌다>라는 것으로 연결해서 스스로 본인에 대해 파악하고 잘 어필할 수 있도록 노력하겠다는 회고가 인상깊네요!

1개의 답글