개발자
안녕하세요 저는 주니어 백엔드 개발자입니다. 사실 이런 커뮤니티에 글을 쓰는것이 익숙치 않아서 이상한 걱정이 듭니다. 사수나 같이 일하는 백엔드 엔지니어가 없어, 혼자서 해나가야하는 상황에 1년을 놓여있었습니다. 하루는, 정식 런칭을 앞둔 서비스의 코드를 돌아보자니 생각보다는 성장이 없었을 수 있겠다는 생각을 했습니다. (새로운 도메인에서 이런저런 기능을 구현하고 했습니다만..) 내실이 다져지지 않았다는 느낌일까요, 뭔가 그냥 텅 빈 강정 같다고 해야할까요? 그러다가 이런저런 개발자 플랫폼의 글을 읽고, 커리어리에서 다른 개발자들의 궁금증에 나름의 답을 해주기도 하면서 문득 이런 생각이 들었습니다. "나는 왜 무엇을 궁금해 하지 않을까? 앞으로 무엇을 궁금해 해야할까?" 라는 질문에서 더 내려가지 못했습니다. 과정이 아닌 '현상' 에 집중해버린 습관의 사이드이펙트 같기도 합니다. 백엔드 엔지니어라면 - 어떤것들에 호기심이 있어야할까요? - 또는 무엇을 궁금해하고 파봐야할까요?
답변 1
인기 답변
질문자님이 생각하고 있는 고민은 더 나은 개발자로 성장하기 위한 시작이라고 생각해요. 백엔드 개발자가 성장하기 위해 학습해야 할 것은 아래에 생각나는 데로 적어보았어요. 1. 새로운 기술 및 도구 탐구 2. 시스템 아키텍처 3. 보안 및 성능 최적화 4. CI/CD, 배포 자동화 5. 클라우드 6. 클린 코드, 디자인 패턴 7. 문제 해결 능력 강화 등등 저는 기존에 쓰는 기술이 아닌 몰랐던 기술들을 탐구하면서 Maven보다 Gradle이 성능이 좋다는 것을 알았습니다. 그러면서 마이그레이션을 해보는 것이죠. 또 CI/CD를 통해 불필요한 반복 작업을 자동화 하였습니다. 딱히 호기심을 갖는 일이 없는 경우엔 클린 코드, 디자인 패턴에 대한 이해를 위해 '이펙티브 자바', '모던 자바 인 액션' 책을 보며 학습하거나 문제 해결 능력 강화를 위해 백준 문제를 풀기도 합니다. 최근에는 사내 솔루션 아키텍처에 문제점을 느끼고 개선하기 위해 MSA, API Gateway, BFF(Backend For Frontend)를 공부하며 적용할 방법을 모색하고 있습니다. 질문자님이 맡은 프로젝트의 환경을 더 나은 방향으로 개선시켜보는 것은 어떨까요? 제가 했던 또는 하고 있는 과정을 참고해보세요!
빈센트
작성자
Backend Engineer • 2023년 12월 03일
먼저 사려깊은 답변 감사합니다. 다른 것이라고 하면, 진만님과는 다르게 저는 Node 환경으로 일을 하고 있다는 점 뿐이네요. 저 또한 리스팅 해주신 부분에 대해서는 많이 공감하는 부분입니다. 이미 저 또한 풍부하다고는 못하겠지만, 나름의 경험이 있고 리스트 내에서는 나름 올해 배워갔다는 부분도 존재하네요. 저 또한 제 프로젝트에서 더 나은 방향으로 개선시키고자 하는 노력은 게을리 하고 있다고 생각하지는 않습니다만, 사내에서 홀로 백엔드를 사수하다보니 생각이나 기술을 읽고 스스로 학습은 하지만, 적극적으로 비즈니스에는 반영하기 힘들 때가 종종 있는것 같습니다. (맨파워가 안나오니까요) 사실 이런 태만한 기분을 끊어내려 새로운 언어를 통한 기초적인 cli 를 만들어보기도 하면서 나름 이것저것 해보고 있는데 오히려 제가 필요한 부분에서는 눈을 돌리고 있었다는 생각이 듭니다. 액션아이템을 잘 나누어서 쳐다봐야겠습니다. 답변 감사드려요 --------------------------- 질문과는 다른 이야기입니다만, 개발 인력이 많지 않다면 저는 오히려 MSA 를 채택함으로써 오는 사이드 이펙트가 분명히 존재한다고 생각합니니다. 혹시 다니시는 곳의 백엔드 엔지니어 규모와 MSA 를 고려하시는 이유를 여쭤봐도 될까요?
박진만
엑셈 풀스택 개발자 • 2023년 12월 03일
백엔드 엔지니어 규모가 개발자 수를 말씀하시는 건가요? 그게 맞다면 저는 주로 웹 파트를 맡고 있고 두 분의 동료 개발자와 함께하고 있습니다. MSA를 고려하는 이유는 기술 부채 개선 때문이에요. 제가 맡고 있는 솔루션은 백단과 프론트단이 하나의 프로젝트로 구축되어 있습니다. 점점 기능이 확장되면서 프로젝트 사이즈가 커지고 빌드를 했을 때 시간이 너무 오래 걸립니다. 게다가 이슈가 발생했을 때 조치를 프론트만 하면 되는데 백엔드 쪽도 같이 빌드할 수 밖에 없기 때문에 굉장히 무겁습니다.(반대도 마찬가지) 등등 이러한 이유 때문입니다. MSA 환경에서 일해본 적이 없어서 잘 모릅니다. 요즘 관심이 생겨 학습하고 있어서요! 어떤 사이드 이펙트가 존재하는 지 궁금하네요!
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!