백엔드 개발자 4개월차 회고

김유정·2023년 12월 10일
1
post-thumbnail

회고를 쓰는 이유

첫 취업을 한 후로 4개월이 지났다. 4개월이 긴 시간은 아니기도 하고 애매한 기간이긴 하지만, 첫 회사인만큼 정말 다양한 감정들을 느꼈다. 특히, 지금은 스스로 부족한 점을 많이 느끼고 있고 그만큼 생각이 깊어져 이를 글에 털어내 버리고 현재 할 수 있는 것들에 집중하고자 한다.


언론사에 합격?

내가 취업한 곳은 언론사이다. 그래서 합격 메일을 받고 기쁘기도 했지만, 걱정되기도 했다. 개발자라는 직업을 꿈꾼 후로 언론사는 생각한 적이 없을뿐더러 정확하게 어떤 일을 하게 될지 몰랐기 때문이다. 그래서 회사를 갈 것인지 잠시 고민했지만, 자소서나 포트폴리오 준비에 지쳤고 실무 경험을 쌓고 싶은 마음이 커서 입사하기로 결심했다.

입사하기 전 들었던 걱정했던 부분은 다음과 같다.

  1. 언론사는 보수적이지 않을까?
  2. 인텔리제이를 쓰게 해줄까..? 옛날 기술이나 도구들만 쓰는 건 아닐까?
  3. 개발자에 대한 교육이 잘되어 있을까?
  4. 배울 수 있는 선배 개발자분들이 적지는 않을까?

입사하고서 위의 걱정들에 대한 답을 얻을 수 있었다.

  1. 언론사라고 보수적인 것은 아니었다. 개선에도 적극적인 입장을 가지고 있고, 새로운 기술에도 거부감이 없었다. 하지만 회사가 커지면 당연히 쉽게 바꿀 수 없는 것들이 생기기 때문에, 코드 스타일이나 레거시한 코드를 개선하기가 쉽지는 않았다. 그럼에도 좋은 방향으로 나가고자 다양한 고민을 하는 것 자체가 중요하다고 생각하기 때문에 이 부분은 걱정보다 좋았다고 말할 수 있을 것 같다.
  2. 우선 인텔리제이는 쓰고 있다🥰 기술은 옛날 기술부터 요즘 많이 쓰는 기술들까지 다양하게 쓰고 있었다. 너무 다양해서 힘들어하신 분들이 많았다고 들었는데, 우선 현재까지는 배울 수 있는 게 많음에 감사하고 있다.
  3. 개발 교육은 이런 것까지 알려주나 싶을 정도로 많았다. python 가상 환경부터 실행, MongoDB와 Elasticsearch, 기사와 관련된 주요 API 코드 로직 등 업무에 필요한 부분은 기초부터 교육을 받았다.
    OJT에서는 분석 과제 후에 개선 과제를 받았기 때문에 분석하면서 이해한 내용을 바탕으로 개선 방향을 고민하며 성장할 수 있었던 것 같다. 또한, 기술 세미나가 있으면 팀에 공유해서 같이 들을 수도 있고, 회사 간의 협력을 통해 프로젝트 성으로 진행하면서 들을 수 있는 교육도 있었다.
  4. 관리하는 서비스에 비하면 개발자가 많은 편은 아닌 것 같지만, 그래도 배울 수 있는 선배님이 적지는 않은 것 같다. 그리고 성향이나 스타일이 다 다르셔서 배울 수 있는 게 다양하다는 점이 좋다.

나 생각보다 잘할지도..? 아닐지도...

4개월 간의 감정 변화는 정말 롤러코스터 같았다. 취업하기 전까지는 나의 강점과 약점을 잘 몰랐기 때문에 흔들렸다면, 현재는 너무 잘 알겠어서 흔들리게 된다.

입사한 직후 분석 과제를 받았다. 오픈소스 프로젝트에 기여를 해본 경험이 있고 글로 정리하는 것을 좋아하기 때문에 분석 과제를 진행할 때는 물 만난 물고기처럼 날라다녔다🐟 분석하는 것과 이해한 내용을 공유하는 것 모두 즐거웠다.

이후 진행했던 개선 과제도 어렵긴 했지만, 고민한 내용에 대해 공유하면 뿌듯했다. 이때까지는 내가 지금까지 했던 것들이 헛된 노력이 아니었구나 싶으면서 생각보다 잘하고 있다고 느꼈다. 이 때는 한 2개월이 지난 시점이었다.

뿌듯하고 즐겁기만 했던 감정은 본격적인 업무를 진행하면서 변화하기 시작했다.

첫 업무! 생각보다 괜찮다고 만만히 보다가 큰 코 다쳤다..

장애 알림과 관련하여 첫 업무를 받았다. 알림 메세지를 변경하기만 하면 되는 아주 쉬운 업무였다. 교육과 회의들이 있어서 생각보다 걸리긴 했지만 3~4일 정도 걸려서 완료했다. 여기까지는 문제가 없었다.

하지만, 장애가 없는데 알림이 오는 경우도 있고, 장애가 생겼는데 알림이 오지 않는 경우도 있었다. 그리고 기존의 방식으로는 한계가 있는 부분이 있어서 이 부분들에 대해 팀장님께 개선해보겠다고 제안드렸다. 팀장님께서 진행해보라고 하셔서 그때부터 고군분투를 하게 됐다.

넘치는 열정을 가지고 가독성을 높이기 위해 고민하면서 열심히 코드를 작성했다. 기존의 문제점을 분석한 후 개발했고, 개발한 후 다양한 수를 테스트해봤다고 생각했는데 반영 후 문제가 발생했다..
내가 작성한 쿼리가 슬로우 쿼리로 잡히면서 데이터베이스에 많은 부하를 주게 됐고, 다른 조회 쿼리가 수행되지 못하면서 알림에 문제가 생겼다. 정말 간단한 조회 쿼리라서 느릴 거라고 생각도 하지 못했는데, 엄청나게 많은 데이터가 있는 테이블에서 인덱스가 걸려있지 않은 컬럼을 조건문에 넣으니 속도가 느려진 것이다. 나 때문에 문제가 생겼다니 울고 싶었다🥲 하지만 그럴 시간에 대처해야지...빠르게 롤백을 했는데 이조차도 제대로 안돼서 다시 롤백한 후에야 해결할 수 있었다.

또한, 내가 사용하고 있는 API 사용량에 제한이 있는데,일별로 제공되는 사용량인 줄 알았는데 월별로 제공되는 것이었다.... 다 작업한 이후에 이 사용량이 턱없이도 부족하다는 걸 알았다. 이로 인해 작업 반영 완료 날짜가 더 늦춰졌다.


업무를 할당받기 시작한 지 약 한 달 반이 지났다. 완료한 작업 업무들도 있지만, 첫 업무가 지금까지 이어져오고 있어서 많은 생각이 들고, 나의 부족한 점들을 계속해서 마주해야하는 것이 쉽지 않다. 이를 통해 분명히 배우는 것들이 많다는 걸 알지만 불안하고 초조한 마음이 드는 건 어찌할 수가 없다.


내 강점은? 약점은?

기억력이 좋지 않다는 약점과 기록을 남겨두는 강점

나는 기억력이 좋지 않다. 그래서 암산도 잘 못한다. 이 때문에 기록하는 것이 습관이 됐다. 기록은 다른 사람에게 공유할 수 있고 추후에도 볼 수 있다는 장점이 있다. 또한 기록하며 작업하면 온전히 내걸로 만들기 더 쉽다. 하지만, 그만큼 총 작업 시간이 오래 걸린다.

조급한 마음으로 인해 좁아지는 시야

나는 꼼꼼하지 못하고, 시야가 좁다. 이 때문에 물건을 잘 두고 다니곤 한다. 이를 알기에 검토하고 테스트도 하지만, 위에서 말했듯이 내가 느리다는 걸 알다보니 조급한 마음에 놓치는 정보들이 있다. 시험을 보고 검토하면 내가 풀었던 익숙한 문제이기에 내가 풀었던대로 검토하다보면 숫자를 잘못 보거나 잘못 이해한 문제를 놓치곤 했다. 이 부분이 개발에도 비슷하게 영향을 미치는 것 같다.


그래서 앞으로 어떻게 하면 좋을까?

내 약점을 알고 있고, 이를 일부 보완할 수 있는 강점을 가지고 있다는 점에 대해서는 희망적인 부분이라고 생각한다.

하지만, 딜레마에 빠지는 게 작업 속도를 개선하고 싶은데, 더 꼼꼼하게 검토하기 위해서는 여유와 시간을 가지고 봐야한다.

여기서 생각할 수 있는 개선 방향은 우선순위를 정하는 것이다. 현재까지 생각했을 때 작업 속도에 영향을 미치는 것은 아래와 같다.

  1. 가독성이 좋고 유지 보수하기 편리한 코드를 짜기 위한 고민
  2. 기존 코드에 대한 분석 내용, 현재 작업하는 코드 흐름, 공부한 내용 정리
  3. 작업에 영향을 미칠만한 요소 파악(API 사용량, 비용 등)
  4. 검토 및 테스트하는 시간

첫 업무를 진행할 때에는 1번을 위해 많은 고민을 하면서 코드를 짰는데, 최근 작업한 내용을 반영해보면서 3번과 4번이 정말 중요하다는 걸 알았다. 3번은 불필요한 작업을 하게 되는 것을 막아주기 때문에 꼭 작업 전에 거쳐야 한다는 걸 알았고, 4번은 서비스를 문제 없이 동작하기 위해서 중요하다는 걸 알았다. 하지만, 실무 경험이 부족하여 생각할 수 있는 경우의 수가 한정적이기 때문에 선배님들께도 검토를 요청해보면 좋을 것 같다.

액션 플랜

  1. 깔끔하게 코드를 짜는 것이나 정리하는 것은 좋지만, 이 때문에 회사에서 계획하고 있는 일정에 차질이 생기면 안되니 우선순위를 정해두고 일정에 따라 유연하게 대응해보자.
  2. 좋은 코드에 대한 꾸준히 고민하다보면 오래 고민하지 않더라도 습관적으로 좋은 코드를 작성할 수 있을것이라 생각한다. 개인 프로젝트나 스터디를 진행하면서 여유 시간이 있을 때 더 많은 고민을 해보자.
  3. 이번달이나 다음달 내로 데이터베이스 인덱스에 대해서 공부한 내용을 글로 정리해보자.
  4. 내가 부족했던 부분은 지금처럼 회고하면서 개선할 수 있는 방향에 대해 정리해보자.

마치며

언론사에 취업하면서 커리어나 개발 환경에 대해 걱정했지만, 실무에서 배우고 느끼는 것이 많기에 있기에 취업하길 잘했다고 생각한다.

취업한 이후 개발 뿐만 아니라 개발자라는 직업 그리고 여가 시간 활용에 대해서 많은 고민을 했다. 그러다 보니 스스로 생각했던 "좋은 개발자"에 대한 정의가 바뀌었다. 지금까지 좋은 개발자는 모든 시간을 개발에 쏟으며 끊임없이 공부하고 고민하는 개발자라고 생각했기 때문에, 취업한 이후에도 프로젝트와 스터디를 진행했다. 하지만 문득 나로서 존재하기보다 개발자로 존재하는 것 같다고 생각이 들었다. 퇴근한 이후에도 개발자인 느낌.. 그래서 지금은 나에게 주어진 요구사항을 잘 구현한다면 좋은 개발자라고 생각하며, 너무 무리하게 애쓰지 않으려고 하고 있다.

나의 부족한 점을 느낄 때마다 다른 사람들은 어떻게 생각할지 불안하고 초조하긴 하지만, 내가 할 수 있는 것들에 집중하며 나와 나의 일에 좀 더 집중해봐야 할 것 같다. 또한, 부족한 점이 있다고 못 하는 것은 아니니까 너무 자괴감에 빠지지는 말자. 각자 잘하는 게 다른 거겠지.

0개의 댓글