Weekly I Learned/2022's(7. ~ 12.) WIL

2022년 10월 3주차(10/17 ~ 10/21) Weekly I Learned "인생 첫 개발 기술 면접 회고"

ikjo 2022. 10. 25. 02:26

지난 한 주 되돌아보기

얼마 전 운이 좋게 프로그래머스 하반기 데브매칭 프로그램을 통해 한 IT 서비스 회사로부터 면접 기회를 얻어 부리나케 면접 준비를 시작했다. 그리하여 지난 한 주의 메인 학습 주제는 "면접 준비"였다.

 

뜻밖의 면접

개발자가 되기로 마음 먹은 이후 처음으로 나에게 면접 기회가 주어졌다. 사실 데브매칭을 통해서 면접을 볼 수 있으리라곤 생각도 하지 못했는데, 정말 예상치 못한 일이었다. 심지어 해당 기업의 채용 공고는 3년 이상의 백엔드 개발 경험을 자격으로 걸고 있었기에, (신입 공고 X) 비전공자에다가 마스터즈 코스 외 독자적인 프로젝트도 없는 나의 이력서가 채택이 되었다는 것만으로도 감사했다. (굳이 추측해보자면 이번 데브매칭 알고리즘 점수가 상대적으로 높았기에 채택되었을 것 같다는 생각이 들었다.)

 

면접 기회를 얻어 기분은 좋았지만, 마스터즈 코스를 수료한 이후로 알고리즘이나 자바 공부를 위주로 학습을 해왔었기에 면접 준비가 하나도 준비가 안 된 상태였다. (애초에 내년 취업을 생각하고 있었다.) 심지어 마스터즈 코스간 진행했던 프로젝트 조차도 이제와서 보니 이해가 되지 않았다..😅

 

조급한 마음으로 부랴부랴 프로젝트, 자바, 스프링, JPA, 네트워크, 데이터베이스, 회사 기술스택 등 각종 예상 면접 질문과 답변 내용을 준비하기 시작했다. 현재의 나 자신을 객관화했을 때 내가 붙을 수 있으리라 생각은 하지 않았지만 아무쪼록 나에게 승산이 있든 없든 주어진 면접 기회에 최선을 다하고자 했다.

 

그렇게 면접 당일이 찾아왔다. (어처구니 없이 집에서 회사까지 소요되는 시간을 잘못 계산해서 면접 시간에 딱 맞춰서 도착했다..😅) 사실 개인적으로는 나의 프로젝트(마스터즈 코스에서 진행)와 프로젝트 관련 기술 스택(자바, 스프링, JPA 등)에 관한 질문들이 나올 것이라고 예상했었는데, 결과적으로 그러한 질문들은 나오지 않았다. 😇

 

단순히 Q&A 식의 질문들이 아닌 칠판에 직접 그려가면서 어떠한 기술의 흐름과 동작 원리 등 전반에 대해 설명해야했고, 또한, 실무에서 있을 법한 문제들이 주어지고 이를 어떻게 해결할 수 있는지 등에 대한 질문들이 주를 이루었다. 이 과정에서 꼬리 질문이나 문제 상황을 다르게 비꼬은 후 이는 어떻게 해결할 수 있는지 등의 방식으로 질문이 딥(deep)해졌다. 개인적으로 마스터즈 코스 수료 이후 웹 개발을 거의 손 놓고 있었기에 아쉬운 마음이 컸다. (면접 기회가 오리라 전혀 예상치도 못했으니...💦)

 

당초 예정되어있었던 면접 진행시간 보다 더 오랫동안 진행되었으며, 결론적으로 면접 결과는 불합격이었다. (면접 끝난 후 예상은 했다..🤣) 그래도 졌지만 기분이 좋았던 면접이었다. 면접관 분들께서도 내가 신입임을 감안해주셔서인지(?) 나 스스로 문제를 해결할 수 있도록 충분한 시간도 주셨고 내가 잘못 생각하고 있는 부분들에 대해서도 명확히 짚어주셨다. 또한 나 역시 완벽한 정답을 모르더라도 문제를 정의하고 문제를 해결하기 위해 어떠한 접근 방식을 취했는지 등 문제 해결 과정을 적극적으로 어필하고자 했다.

 

"첫술에 배부르랴"라는 말이 있듯이 첫 기술 면접 그것도 경력직 면접에서 이 정도면 충분히 할만큼 했다라는 생각이 들었다. 그리고 이번 면접을 통해 면접 분위기가 어떤지, 나의 미숙했던 점은 무엇이었는지 등을 생각해볼 수 있게 되어 유익했고 실제 면접에선 나오진 않았지만 이 면접을 준비하기 위해 나만의 예상 질문 및 답변들을 정리하는 과정에서 정말 많은 지식들을 습득할 수 있었던 것이 가장 큰 수확이었다.

 

결과는 불합격이지만, 그래도 이제 기술 면접에 첫 걸음을 걸었다는 것에 의의를 두고자 한다. 작년까지만하더라도 뭐하나 제대로 아는 것도 없었는데, 그래도 올해 2022년 지난 9개월간 나름대로의 노력을 해왔고 이를 인정받을 수 있었기에 이번 면접 기회를 얻을 수 있지 않았나 생각해본다.

 

디자이너 구하기 삼매경

이제 팀원들과 프로젝트 기획을 어느정도 마무리한 후 이를 함께 추진할 디자이너를 찾기 시작했다. 사실 우리들이 이미 기획 밑그림을 그려놓은 상태인지라, 디자이너 입장에서는 다소 거부감이 들 수도 있는 부분이었다. 어떻게 보면 우리 팀의 이기적인 생각일 수도 있는 부분이지만, 우리 팀 모두 현재의 기획안에 대해 나름대로 애정이 있는 만큼 이를 끝까지 밀고 가고 싶은 마음이 컸다.

 

일단, 이번 주에는 디자이너를 구하지 못했지만, 다음 주에는 좀 더 적극적으로 함께하실 디자이너분을 찾고자 한다. 또한, 그 과정에서 단순히 우리 팀의 주장만 내세우는 게 아니라 디자이너분의 의견도 적극적으로 수렴하면서 조율해나가고자 한다.

 

자바의 '입출력 I/O'를 대략적으로 정리해보았다!

자바 스터디 13주차 과제인 '입출력(I/O)'에 대해 학습하는 시간을 가졌다. 사실 지난 10월 2주차 때 학습을 하고있었다가 갑작스레 면접 일정이 잡히는 바람에 마무리를 하지 못했기에, 한 주 늦게 마무리를 했다. "마무리 했다"라고 표현은 했지만, 좀 더 정확하게는 "자바의 입출력에는 이러한 것들이 있다" 정도로 흐름을 파악했다고 보는 게 맞을 것 같다.

 

프로그래밍 언어 학습은 자기가 직접 프로그램을 구현해보면서 '활용'을 해봐야 자기의 것으로 온전히 흡수가 되는데, 자바의 정석 등 이론 및 예제 학습으로는 뭔가 머리를 겉도는듯한 느낌이다. 그리하여, 이번에는 스터디 과제의 일환으로서 단순히 어떠한 것들이 언제 사용되는지 정도로 파악하고자 했다. (그래도 마스터즈 코스를 통해 프로그래밍한 경험 덕에 한결 쉽게 내용을 이해할 수 있었다.)

 

 

Java의 입출력(I/O)에 대해 알아보자!

입출력이란? 입출력(I/O)이란 입력(Input)과 출력(Output)을 줄여서 나타낸 것으로, 컴퓨터 내외부의 장치 또는 프로그램들 간의 데이터를 주고받는 것을 의미한다. 예를 들면, 키보드로 특정 데이터

ikjo.tistory.com

 

이제 자바 스터디 과제도 2주차 분(제네릭, 람다식)만 남았고, 자바의 정석 정주행도 Chapter 14 람다와 스트림 부분만 남겨놓고 있다. 남은 부분까지 마무리한다면 올해의 자바 학습 분량은 다 채운 것 같다. 여기까지 모두 학습을 마친 후 다음 목표는 '이펙티브 자바'를 나의 지식과 경험으로 만드는 것이다. (내년 목표)