본문 바로가기
후기

[1차 인턴 회고록] 2월 ~ 5월 총 4개월동안 내가 경험한 것(부제 : 잘하고 있는걸까?)

by 수박통통 2022. 6. 9.

참고로 저 혼자 기록하고 주절주절 쓰는게 목적이므로 글이 주제와 벗어난다던지, 잘 이해가 가지 않는 부분이 있을 수 있습니다ㅎㅎ

1.  회고록을 들어가기 전 주절주절.

"인턴"

대학교 3학년이 끝난 나에게 인턴이란 것은 상상으로만 경험할 수 있었던 대단한 무언가였다.

그래서 실력은 안될지라도 이곳 저곳을 넣어봤었다.

 

자소서를 쓰고 코딩테스트를 보고 면접을 보고

결국엔 안될지라도 이 하나하나의 경험이 얼마나 중요하고 나에게 값진 경험인지 알고 있었기 때문이다. 


(실은 나는 아직 멀었어라고 지레 겁먹었었지만, 개발자 지인이 그건 너가 판단할게 아니라 회사가 판단하는 것이고 떨어질지라도 그 과정에서 오는 경험은 어디가서 얻을 수 없는 좋은 경험이다 라고 조언해 주어서 용기를 가질 수 있었다.
이걸 볼 수도 있는 지인에게 늘 고맙다고 말해주고 싶네요😀)

 

처음 합격했었을 땐 면접후기, 합격후기를 쓰겠다고 다짐했었지만

다른 면접에서는 그래도 말이 솔솔 나오던 내가, 해당 면접에서는 머리가 하얗게 되어서 이렇게 망할 순 없다!! 라고 느꼈던 면접이기 때문에 후기라고 할만한 게 없고 그냥 여기서 몇 줄 적어보자면,

CS적으로 많이 물어보셨지만 나는 잘 대답하지 못했고 그것에 또 위축되어서 내가 했던 프로젝트들에 대해 여쭤보실 때도 잘 대답하지 못했다.

 

 

그래서 그 당시에 나는 인턴을 합격할거라 정말 생각도 못했다. 이걸 합격하면 회사가 이상한게 아닐까?라는 말도 했었다ㅎ..

당연히 떨어질 줄 알고 동아리까지 들어간 상태였는데...

합격하고 난 후에는 지원한 사람들 다 뽑는건가라는 생각도 들었을 정도...ㅎㅎ

(다행히도 떨어진 사람이 많았다고 한다😮)

 

아무튼 합격했을 때, 얼떨떨하면서도 너무 좋았다. 
뭔가 내 인생에서 대학이후로 가장 큰 성취랄까?

 

이런 나에 대해 나중에 내가 왜 합격했는지 말씀해주셨는데, 
나에게서 열정과 성장가능성, 다른 팀원들과의 어울림 등을 보셨다고 한다. 

기술이 좀 안될지라도 열정이 있다면 빠른 속도로 성장할 수 있다고 말씀해주셨다. 

 

과연 내가 면접관님의 의도대로 인턴생활을 하고 있는걸까?에 대한 건 의문이다.

인턴을 하며 많은 경험과 기술적으로도 많이 배웠다고 생각했지만 반성할 점도 존재하기 때문이다. 

 

 


2. 회고록

1. 배운 점(얻어가는 것)

인턴을 하면서 시야가 넓어졌다 라는 생각이 들었다.

평소 내가 토이프로젝트를 할 때는 보통 API 서버가 대부분이었다. 기능을 구현하는게 중요했고 보통 토이프로젝트면 시간도 촉박하기때문에 기능 구현이 최우선이 되었다. 그래서 나는 분명 백엔드라는 것이 많은 것을 담당하고 있다는 것을 알고는 있었지만, CI/CD를 제외하고서는 백엔드로서 API 밖에 생각하지 못했었다. 그런데 API 서버 뿐만아니라 Broker, GateWay 등을 코드로 직접 구현하는 것을 보면서 아 그래 백엔드는 이런것도 할 줄 알아야하는 거였어! 하며 내가 굉장히 시야가 좁았구나라는 생각이 들었다. 또한, 내가 속한 파트가 아예 신규 프로젝트를 맡게 되면서 프로젝트 설계를 시니어분이 해주셨는데, 그 큰 설계도를 보자마자 시니어분에게 존경심이 들었다. 내가 이렇게 거대한 설계에서 하나라도 맡게 되는구나에 감사하게 되었다. 

아마 인턴을 하지 않았다면 경험해보지 못했을 것이다. 

 

두번째로, 기술의 향상이다.(기술이라기보다는 코딩실력...?맞나..?)

우리 파트는 Spring을 사용하기 때문에, 평소에 보지 못했던 Spring 기술들을 알아가게 되는 것이 좋았다. 다른 분들이 쓰신 spring 기술들을 보고, 처음보는 것은 검색을 해보면서 아 이런것도 있었구나~ 하고 알아가는 것도 많고, 가르쳐 주시는 것도 많았다. 예를 들어 Spring reading&writing converter는 전자에 속하고 validation 처리는 후자에 속한다. 나는 처음에 validation처리에 대해서 기본 validation annotation 정도까지밖에 알지 못했다.(평소 validation처리를 잘 안했던게 이렇게 드러나는..) 그런데 하나의 파라미터에 대한 validation은 하겠는데, A 파라미터에 의해서 B 파라미터의 validation처리가 달라지는 경우는 도대체 어떻게 해야할지 모르겠는 것이다..ㅠㅠ 그래서 정말 검색을 진짜 진짜 많이 하고 많은 좌절 끝에..! 시니어 분께 여쭈어봤다! 그랬더니 AOP의 joinPoint를 적용한 validation처리를 알려주셨다. 여기서만 할 수 있는 말이지만, 친절하게 알려주셔서 너무너무 감사했다...정말 늘 감사합니다ㅠㅠ 

그리고 Spring batch 등 알고는 있었지만, 써보지 못했던 것들을 적용해보게 되어 좋았다.

아무튼 또한, 우리 프로젝트는 기존 1.0이 존재하는 상태에서 2.0으로 개편하는 프로젝트이기 때문에 1.0과의 호환성도 생각을 해야한다. 예를들어 2.0을 만들고 있지만 1.0에서의 테이블도 적용을 해야하는 것이다. 2.0테이블의 데이터들은 데이터 타입이 동일하게 적용되어있지만, 1.0 테이블은 String, Date 등 데이터 타입도 중구난방 왔다갔다~ 였기 때문에 처음 맞닥뜨렸을 땐 이걸 어떻게 해야지 하는 막막함도 컸다. 이 막막함을 해결하는 과정에서 Interface라던가 Generic 타입등 Java책에서 보고 잘 쓰지 않았던 부분도 많이 써볼 수 있었다. 어떻게 해야 코드를 줄이고 객체지향적으로 개발하지..를 많이 생각하며 뜯어 고친적도 정말 많았다. 그리고 역시 실무를 하면 이쁜 데이터들만 받는게 아니구나라는 생각도..ㅎ  이러한 과정에서 조금이라도 성장하지 않았나 생각한다. 

 

세번째로, 코드에 대한 책임감이다.

평소에도 내가 코드에 대한 책임감이 없었던 것은 아니다. 오류가 안생기게 하고 고민하면서 개발하는 것은 당연하다. 그런고로 이건 실무를 하게 되고 협업을 하게 되면서 좀 더! 커진 책임감에 대한 이야기이다. 학생 때는 혼자서 서버개발을 하는 일이 많았다. 평소에도 클린코드에 대한 생각은 많았지만, 아무래도 결국에는 나 혼자 작업하고 나 혼자 코드를 보기 때문에 그 쪽으로는 소홀해진적이 많았다. 하지만 여기서 내가 작성한 코드는 모두가 볼 수 있고 쉽게 알아 볼 수 있어야하기 때문에 짠 코드를 몇번이나 다시 봤고 좀 더 좋은 방향이 생각나서 고친 적도 많았다. 적어도 내가 작업한 부분은 누구에게든 설명할 수 있어야한다고 생각했다. 

 

네번째로 바로바로 코드 리뷰!!!! 정말 코드 리뷰 처음 받을 때, 무섭지만 설레고 떨려서 마치 첫사랑을 만난 기분....?ㅎ 이었다ㅎㅎㅎㅎ 그냥 approve를 받는 것도 너무 좋지만, 내 코드에 대해서 고칠 부분을 코멘트로 달아주시는 것도 너무 좋았다. 앞서 말했듯이 혼자 개발을 한 적이 많아서 내 코드에 대한 의문이 늘 있었다. 그 부분을 코드 리뷰가 해결해줬던 것 같다.  코드 리뷰를 받기 때문에 내가 왜 이렇게 개발했는지에 대한 이유를 명확히 했고 모르는 부분이 있고 고민하는 부분이 있으면 그 부분도 끝까지 생각해보다가 코멘트에 이러이러해서 이렇게 했는데 좀 더 좋은 방법이 있는지 궁금하다 이런식으로 적어두기도 했다. 그때마다 잘 답변해주셔서 너무 감사했다. 또한 같은 맥락으로 코드 리뷰뿐만아니라 다른 개발자분들에게 여쭤볼 수 있는게 정말 좋은 것 같다.

 

그런 점에서 자꾸 언급되는 시니어분에게 너무너무 감사드린다. 그 분 덕분에 인턴 생활을 잘 이어갈 수 있었던 것 같고 생뚱맞은 질문을 해도 잘 설명해주시고 질문이 무서웠던 나를 질문쟁이로 만들어주셔서 감사하다. 여기에 모든 것을 적을 순 없지만, 회사생활을 하면서 가끔은 슬플때도 있고 힘들때도 있었는데, 그분은 아무 생각없이 말씀하신 거겠지만, 너무 큰 위로가 되었다. 나도 나중에 이런 시니어가 되고 싶다. 

 

지금 생각나는 건 이 정도지만, 얻어가는 것이 너무나 많은 것 같다.

정말 학생이었다면 쉽게 경험하지 못했을 것을 경험한다는 것이 나에겐 너무 큰 축복이고 행운이다.

 

2. 아쉬운 점

이 부분은 나누지 않고 생각나는 대로 써보겠다.

 

나는 인턴과제를 하나하고 바로 실무로 들어가게 되었다. 회사의 사정상 우리 파트가 기존에 하던 모든 프로젝트를 옆 파트에 넘기고 단체로 인사발령이 나고 새로운 프로젝트를 들어가게 되면서, 실무에 생각보다 빠르게 들어가게 되었다.  처음에 내가 인턴에 들어갈 때 기대했던 것은 기존 프로젝트의 코드를 볼 수 있는 것이었다. 그리고 그것에 기반해 코드를 짜면서 아 이렇게 코드를 짜야하는구나하고 깨닫게 되는 것을 기대했었다. 하지만, 신규프로젝트이고 특정분야에 특화된 프로젝트이며 시간도 엄청 촉박한 프로젝트라서(시니어분도 신규프로젝트를 이렇게 빨리 진행하는 건 원래는 안된다고 하셨다...큐) 인턴도 실무를 맡게 되었고 내가 맡은 부분에서 처음부터 끝까지 모든 코드를 개발하게 되었다.  B2B사업이기 때문에, 사업상 모르는 용어도 많았고 설계와 개발을 동시에 하다보니 개발하면서도 지속적으로 수정이 이루어져야했다. 진짜 처음엔 업무 파악도 잘 안되어서 화상회의들어가서 영상 녹화를 해놓고, 이해 안될때마다 다시 보고 또 보고 했다. 초반엔 이해도 잘 안가는데 다시 여쭤보기도 무섭고...(결국엔 내가 평가당하는 느낌이 많이 들어서 말하기가 무서웠던 것 같다) 혼자 운적도 있었다. 다행히도 업무 파악이 빠른 인턴분이 계셨고, 그 분에게는 나의 멍청함을 드러내며 질문을 하는 것에 부담이 없었다. 그 분 도움으로 초반 업무 파악을 그래도 잘 할 수 있었던 것 같다.

 

이러다보니, 빨리빨리 개발 진척이 되는 것이 중요했다. 하지만, 앞서 말했듯이 최대한 코드를 잘 짜고 싶었기 때문에 고민을 하는 시간이 길어지고 일하는 시간으로는 부족해 저녁에도 계속 고민하고 개발하는 시간이 이어졌다. 큰 걸 고민하는 것이 아니기때문에 시간에 비해 산출물이 많이 나오지 않아서 속상했다.  또한, 개발이 밀리면 그만큼 부담이 됐다. 거기서 내가 많이 부족하다는 생각도 자주 들고 더 노력해야지라는 생각도 많이 들었다. 나도 저 분처럼 빨리 개발하고 싶고 정확하게 업무파악을 할 수 있었으면 좋겠고 등등 욕심도 많이 커졌던 것 같다. 동시에 내가 그럴 수 있을까? 라는 의문도 많이 들었고. 

 

하지만!! 결론은 인턴 마지막까지 열심히 하고 싶고 마무리도 잘 하고 싶다. 

그리고 지금은 내 담당이 아닌 코어 부분은 아직도 너무 어려운 부분이다.

인턴이 끝날 때 쯤에는 그래도 그 부분이 많이 이해된 상태이고 싶다! 

할 수 있당!!!!

 

 

아무튼 지금까지는 배운 것도 많고 아쉬운 것도 많고 그런 것 같다.

그래도 주변에서 많이 도와주시고 감사한 분들이 많아서 즐겁게 인턴생활하고 있는 것 같다. 

 

그와중에 지쳐서 빨리 학생으로 돌아가서 자유롭게 내가 배운것도 적용해보고 싶고, 내가 만들고 싶은 것을 만들고 내가 배우고 싶은 것을 배우고 싶고 책도 읽고 싶다. 

 

그리고 이 회고록을 쓸 계기를 주신 이동욱 멘토님께 감사하단 말씀 남기고 싶다🥺

지금 생각해보니 이걸 끝나고 썼으면 큰일날 뻔했다!ㅎㅎ

다음 회고록은 아마 인턴이 끝나고이지 않을까싶다!