나의 Next Step

2AST_\·2024년 11월 11일
0

회고록

목록 보기
3/3

지난 행적들을 둘러보면, 아직까지 부족함을 많이 느낀다. 더 정진하고자 하는 의미에서 부족한 점을 살펴보고 어떻게 개선해 나갈 것인지 정리하고자 한다.

1. 코딩 테스트

취준할 때, 서류가 통과한다고 해도 코테에서 반절 이상이 찢겼다. 지금까지 개발 실력과 코테와 관련성이 없다고 터부시한 내 불찰이었다. 코테가 좋은 개발자를 구분짓는 요소는 아니다. 하지만 코테를 잘 풀면 좋은 개발자일 확률이 높다. 채용 프로세스에 코딩 테스트가 이러한 역할을 맡는다는 것을 지금에서야 이해할 수 있었다.

꾸준함

결국에는 코딩 테스트는 기초 체력과 같아서 꾸준히 풀어볼 수밖에 없는 것 같다. 꾸준한 습관을 기르기 위해 백준과 프로그래머스에서 단계별로 풀어나가고 있다. 덕분에 작년에는 실버였지만 이제는 골드4가 되었다.

또한 코딩 테스트에서 중요한 것은 시간 안에 푸는 것이 중요하다. 그래서 아는 지인과 함께 문제 선정 후에 시간 안에 문제를 푸는 연습을 진행하고 있다.

2. 대용량 트래픽 처리

지난 프로젝트들에 대한 공통점은 대용량 트래픽에 대한 준비가 되어있지 않다는 것이다. 발표나 제안인 경우가 많았기 때문에 운영보단 기능적 요구사항에 초점을 맞췄었다. 그리고 신입에게 대용량 트래픽 처리를 요구한다는 것이 부당하다고 느꼈기 때문에 안일한 것도 있다.

큰 기업은 다수의 고객을 보유하고 있기 때문에 해당 기업들은 대용량 트래픽 처리 경험이 우대사항 항목에 기재되어 있다. 시장에 워낙 훌륭한 개발자들이 많은 상태이기 때문에 나도 준비가 필요하다는 것을 느꼈다.

부하 테스트

사실 실제 고객이 없어도 부하 테스트를 통해 어느 정도 대용량 트래픽을 경험할 수 있다. 따라서 부하 테스트를 하는 방법을 먼저 알아보고 작은 예제에 적용하며 익힐 예정이다. 더불어 클라우드와 같이 적용하며 다양한 예제들을 만들어볼까 한다.

3. 프로젝트

지난 프로젝트들을 둘러보면 개선할 점들이 많다. 대표적인 예로 Tofin에서 서버 간의 통신을 REST API로 하였지만 gRPC를 썼으면 더욱 빠르고 쉽게 통신하였을 것이다. 사실 나는 프로젝트에서 개선점을 찾아 다음 프로젝트에 적용하면서 실력을 쌓아 왔다. 다만 개선점들을 다음 프로젝트에 적용하는 것은 2가지 문제가 있다.

문제 1. 프로젝트란 한계

프로젝트는 다수의 인원과 함께 하나의 문제 해결을 위해 전체적인 개발 프로세스를 경험한다. 따라서 역할 분담에 따라서 혹은 기획에 따라, 개선할 부분들이 적용될지는 미지수이다.

문제 2. 기간

또한 프로젝트 기간에 따라, 개선 방안들을 모색하고 적용할 시간이 적을 수도 있다. 물론 이와 같은 해결 과정을 통해서 성장할 수 있으나, 기능 개발만으로도 촉박하다면 어쩔 수 없이 포기하는 부분들이 생긴다.

상황 가정하기

따라서 당분간 프로젝트가 잡히지 않는 이상, 작은 상황들을 가정하면서 경험들을 꾸준히 쌓고자 한다. 다음과 같이 말이다.

  • 성능&확장성: DB 샤딩을 통해 성능과 확장성 향상시키기
  • 유사한 검색어: Elastic Search를 활용해 검색 엔진 구축
  • 동시성 문제: 스프링에서 락을 통해 동시성 문제 해결하기

기술 면접에서도 이렇게 상황을 가정한 질문을 많이 받았다. 또한 프로젝트에서 적용할 기회가 생기면 빠르게 적용해볼 수 있는 장점이 있다. 이와 같은 작은 상황을 가정하여 문제를 해결하는 과정들이 귀중한 밑거름이 될 것이다.

추가로..

이외에도 극복해야 되는 문제들이 많다. 영어라든가, 면접, 자소서 같은 것들 말이다. 결국 꾸준하게 문제점을 파악하고 개선할 수 밖에 없다. 꾸준함을 통해 다음에는 더 나은 나를 기대한다.

0개의 댓글