ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 내 인생 첫 인턴을 마무리 하며
    개발/그 외 2024. 2. 24. 17:12

    우당탕탕 모베란에서의 2개월간의 동계 방학 인턴이 마무리되었다. 벌써 2개월이 지났다니! 빠르게 지나간 시간이 믿기지 않는다.

    주말마다 그 주에 뭘 배웠는지 복습해 보는 간단한 글을 적으려고 했는데 그건 너무 힘들어서 적지 못했다...

    그래도 마무리 글은 꼭 적어야 할 것 같아 이렇게 글을 적어본다. 

    날씨 좋은 날 - 출근하다가

    무엇을 했나?

    회사에서 진행 중인 모 프로젝트에 백엔드 개발자로 참여하여 프로젝트의 관리자 부분을 제작하는 것을 도왔다.

    무엇을 배웠나?

    "나만 알아볼 수 있는 코드는 의미가 없다"라는 것을 배웠다.

     

    코틀린을 이용해서 스프링 부트 프로젝트를 해본 적이 없어서 모르는 것이 참 많았다. 마음 같아서는 사수님께 "처음부터 하나씩 설명해 주세요"라고 하고 싶었지만, 많이 바쁘시기도 했고 "이 정도는 내가 혼자 해야 하는 게 아닌가"라는 생각이 들어 열심히 여러 자료들을 참고해 가며 코드를 이해해 갔다. 특히 웹 아티클을 많이 참고했는데 그중 "올바르게 엔티티 정의하기"라는 글이 있었다. Java에서 코틀린으로 마이그레이션 할 때 발생하는 다양한 실수에 관한 내용과 코틀린 문법을 잘 활용하며 엔티티 객체를 정의하는 내용이 담긴 글이었다. 나는 회사에서 정의한 방법보단 이 방법이 옳다는 생각에 코드를 전부 글에서 소개했던 방식대로 작업했다. 내가 도입한 방식의 코드는 회사에서 정의해 왔던 엔티티들과는 거리가 있었다. 이틀 뒤 사수님이 내 자리로 찾아와 왜 이렇게 엔티티를 정의했는지 물으셨다 나는 칭찬을 들을 줄 알고 신나서 내가 정의한 코드의 장점들을 막 설명했다... 사수님께서는 내가 정의한 엔티티가 정확히 어떤 의미를 가지고 있는지, 코틀린 코드를 Java로 디컴파일 했을 때 어떤 모습이 되는지 다시 한번 물으셨고 나는 대답하지 못했다. 

     

    사수님은 "원정 씨 코드가 더 좋을 수 있지만, 회사에서 정의한 컨벤션이 더 중요해요"라고 하셨고 왜 회사에서 정의한 컨벤션이 중요한지 친절히 설명해 주셨다. 요약하자면 내가 인턴을 마무리하고 한참 뒤에 다른 사람들이 내 코드를 봤을 때 혼자 다른 컨벤션을 가지고 있다면, 유지보수하는데 어려움을 겪기 때문이라고 하셨다. 이때 나는 "나만 알아볼 수 있는 코드는 의미가 없다"는 말의 진짜 의미를 깨달을 수 있었고 좋은 코드를 작성하기 위한 다양한 방법론, 방법들이 많지만 그것을 적용하는 것은 프로젝트 설계 단계이지, 개발 단계는 아니라는 것도 알 수 있었다. 사수님의 조언뒤에 나는 회사 컨벤션에 맞춰 내가 작성한 코드를 다시 작성했고, 그 이후로 코드 컨벤션과 관련한 피드백을 받지 않을 수 있었다.

     

    이 일을 통해서 나는 가독성 높은 코드와 유지보수가 가능한 코드를 작성하기 위해 더 노력하는 계기가 될 수 있었다.

     

    느낀 점

    다른 회사 인턴은 그냥 공부만 시킨다는 말을 듣기도 해서 제대로 된 일을 받지 못할까 봐 걱정했었지만, 다행히(?) 회사에서 진행하는 주요 프로젝트에 참여할 수 있었고 덕분에 많은 것을 배울 수 있었다. 인턴을 하며 내가 개발자로서 이 산업에 조금이라도 기여할 수 있다는 사실이 너무 기뻤다. 설레던 첫 출근을 끝내고 잠에 들던 밤을 잊지 못할 것 같다. 그리고 혼자 인턴이면 참 적적했을 것 같은데 같은 동아리 출신 인턴이 있어 더 재밌게 일 할 수 있었던 것 같다.

     

    귀찮았을 텐데도 언제나 친절하게 설명해 주셨던 사수님과 귀중한 경험을 얻게 해 준 대표님께 감사인사를 드리고 싶다.

     

    이 정도면 걱정한 것보다 씩씩하게 잘 해낸 것 같다!

     

     

    댓글

Designed by Tistory.