💬 들어가며
작년 11월에 코드스쿼드 백엔드 과정을 수료하고 올해 2월부터 취준을 시작하고
그러다 4월 최종합격을 하게 되고 5월에 입사를 하게 되었다.
이제 입사한지 3개월정도 된 시점 오랜만에 회고를 해보려고 한다.
🌱 5월
아무래도 개발 공부를 시작하기 전과 동일한 업계에서 일하게 되어서인지 모르겠지만
익숙한 툴들과 익숙한 업무 환경에... 적응하는 데에는 크게 무리가 없었다.
그리고 회사 분들 모두 좋은 분들이라 빠르게 적응할 수 있었던 것 같다.
5월 목표는 새로운 환경에 익숙해지고 빨리 개발 환경을 세팅하는 것이라 5월은 휘뚜루 마뚜루 시간이 지나갔던 것 같다.
🌼 6월
6월부터는 거의 바로 실무에 들어갔던 것 같은데 사실 입사 전부터 계속되었던 고민이 있었다.
면접 때부터 들었던 얘기지만 지금 일하는 회사는 아무래도 C++
이 메인이기 때문에 웹 개발자는 나 혼자라는 것이었다.
걱정이 될 수밖에 없었다..
"혼자서도 성장을 잘 할 수 있을 것인가?"
"라이브 트래픽을 고려하면서 코딩을 할 수 있을 것인가?"
"문제가 생기면 혼자서 해결할 수 있을 것인가?"
여기에 나는 지금껏 Java
+ Spring
으로 공부를 해왔는데, 회사는 nest.js
를 사용하는데
위 모든 것을 고려하면서 일을 할 수 있을 것인가?
(물론 스프링이었어도 똑같은 고민을 했겠지만, 새로이 배워야 하는 것은 더 걱정이 되었달까나...?)
이 모든 고민중에 제일 컸던 걱정은 혼자서 일하는 것이었다.
사실 하나의 기능을 개발하더라도, 어떻게 개발할 것인가의 대한 방법은 천만가지가 있을 터인데
나 혼자 Best Practice를 찾을 수 있을까, 혼자서 성장하려면 어떻게 해야할까?에 대한 것이었다.
팀장님께도 혼자서 일하는 것에 대한 고민을 얘기했는데, 팀장님은 지금까지 거의 혼자서 일했다는 말씀을 해주셨다.
그리고 개발바닥 유튜브 영상중에 "회사에 사수가 없다면?"이라는 영상을 보면서 느꼈던 점은
사수가 있어야만 성장할 수 있는 사람이면 혼자서도 성장할 수 없는 사람이라는 생각이 들었다.
사수가 있다면 지름길로 갈 수 있고 더 많은 노하우들을 단기간 안에 배울 수 있겠지만
언젠가는 내가 사수가 되고 나를 이끌어 줄 사람이 없을 텐데, 그때는 어떻게 할 것인가?라는 생각이 들면서
지금 상황이 오히려 성장에 밑거름이 될 것이라는 생각이 들었다.
💦 7월
그러다 회사에서 6월 중순부터 새로운 프로젝트를 시작했는데, 회사에서 프레임워크에 대한 선택을 고민하다가 Spring
을 선택하게 되었다.
이전에 공부할 때는 단일 모듈로 개발했었는데, 회사 프로젝트라는 생각에 멀티 모듈로 해야겠다는 생각을 하게되었던 것 같다.
프로젝트를 세팅하면서 단일 모듈로 개발할 때는 몰랐던 이슈들이 많이 생겼다.
그리고 클라이언트가 일반적인 웹개발할 때의 프론트엔드 환경이 아닌Unreal Engine
기반의 C++
환경이어서 예상치 못한 이슈들이 많이 생겼다.
아직 혼자서 해결하지 못하는 것들이 있어 어쩔 수 없이 팀장님이 봐주셨는데, 이 과정에서 많은 반성과 자아성찰을 하게 되었다.
Spring
을 한 번도 경험해 보지 못한 팀장님이 이슈를 해결하기 위해 디버깅 포인트를 어디어디에 찍고,
어떻게 해결해 가는지를 옆에서 지켜보면서 반성을 진짜 많이 했다.
나는 Spring
만 공부했는데 왜 여기에 디버깅을 해볼 생각을 못해봤을까?...
그리고 내 일하는 태도도 많이 돌아보게 되었다.
그동안은 json
으로 왔다갔다 하다가 이미지 업로드 기능이 필요해 multipart/form-data
로 통신해야 할 상황이 생겼다.
나는 서버니까 넘어오는 multipart-form/data
를 어떻게 처리해야 하는지에 대한 관심이 있었지,
프론트단에서 어떻게 넘기는지에 대한 관심은 없었다.
그런데 이번에 클라이언트(Unreal Engine
)에서 multipart-form/data
로 API 요청하는 부분에 있어 문제가 있었다.
포스트맨으로 요청했을 때는 문제가 없었는데, 클라이언트에서 요청할 때만 문제가 발생했다.
클라 개발자분이랑 계속 커뮤를 진행하다가 포스트맨 요청은 문제가 없었고,
서버 로그도 보면 컨트롤러 단에 들어오기 전에 문제가 발생해서 클라에서 요청한 데이터 로그를 찍어 봤으나, 문제가 없어 보여서...
도저히 뭐가 문제인지 모르겠던 와중에 결국에는 팀장님이 문제를 봐주시고 해결해주셨다.
팀장님의 디버깅 과정을 옆에서 지켜보니까 일반적인 프론트엔드 요청 시 프레임워크가 처리해주는 것과 다르게
클라이언트(Unreal Engine
) 요청 시에는 수동으로 처리해줘야 해야 했다.
예를 들면 header
처리같은 것을 java
로 치면 StringBuilder
의 append()
를 통해 일일이 추가해줘야 했고content-length
헤더 누락이 있어서 서버에서 제대로 처리가 안되어 이슈가 발생했던 문제였다.
이 과정에서 느꼈던 것은 내가 만약 multipart-form/data
스펙에 대해서 잘 알고 있었다면
문제가 생겼을 때 좀 더 빠르게 해결할 수 있지 않았을까에 대한 생각과
나는 서버에서 받는 입장으로 줘야 하는 스펙에 대해 관심이 없었다는 것이다.
👋 마치며
근 3개월 간의 신입 백엔드 개발자로서의 회사 생활을 반성해보면 다음과 같다.
- 문제가 생겼을 때, 예상 되는 문제 지점을 고민해보고 적극적으로 디버깅 포인트를 찍어보자.
- 백엔드 프론트엔드 나누지말고, 전반적인 웹 요청 흐름에 대해 관심을 갖고 파악하자.
마지막으로, 지금 회사는 GPT
에 대한 제약이 없어서 자유롭게 사용하는데,GPT
에 대한 의존성이 높아져 가는 것 같아 걱정이 된다. GPT
가 없으면 나는 어떤 개발자일까에 대한 고민이 생긴다.
'💬 회고' 카테고리의 다른 글
[회고] 2024년 회고 - 불안함과 함께한 개발자 1년차 및 30대의 첫해 (0) | 2024.11.28 |
---|