3년차 백엔드 개발자의 2025년 회고 (첫 이직)

회고 2025. 12. 26. 18:52
728x90
728x90

 

 

서론

2023년 2024년 회고를 되돌아보니 현실의 벽을 넘기 위한 노력, 의지들이 많이 보였습니다. 하지만 그 벽이 얼마나 높은지 가늠조차 되지 않았었던 것 같아요. 하지만 2025년 한 해는 어느 정도 노력이 헛되지 않았구나 생각이 들었습니다.

 

요약하자면, 성격의 한계를 극복했고 첫 이직을 했습니다. 그 과정에서 매번 서류 탈락하던 국내 빅테크들의 면접까지 경험할 수 있었습니다.

이전과 크게 달라진건 제가 사용하는 기술들에서 다양한 개발자들과 소통하며 기여했고, 과정에서 기술적인 깊이를 기르고자 노력했습니다.

 

AI 때문에 급변했고, 앞으로도 급변할 이 시장에서 어떤 개발자가 되고 싶은지 끊임없이 고민했던 2025년을 되돌아보려고 합니다.

 

 

 

러너스하이 1기

올 초에, 토스에서 진행하는 멘토링 세션인 러너스하이 1기에 참여하게 되었습니다.

신청할 때 기대했던 것과는 달리 멘토링보다는 토스의 인재상에 대한 소개와, 과제를 내려주는 채용 연계형 세션이었어요.

러너스하이는 짧은 기간 동안 스스로 문제를 정의하고, 해결하고, 결과를 돌아보는 집중 성장 프로그램 처럼 느껴졌습니다.

 

토스 Next가 코테 > 과제를 통해 문제 해결 능력을 본다면 러너스하이는 폭발적인 성장 가능성을 보는 것 같았어요.

 

저는 이 세션을 통해 ROI가 높은 과제를 선정하기 위해 끊임없이 관심 갖고 고민하는 관점을 하나 얻게 되었습니다.

추가로, 처음으로 러너스하이 1기에 참여했던 일부 멤버들과 함께 개발자 커뮤니티를 작게나마 형성했습니다.

 

이 두 가지는 개발자로서 끊임 없이 성장하고, 제가 추구하는 공유의 가치를 위해 작은 씨앗이 될 것이라고 생각합니다.

 

 

오픈소스 기여와 발표

오픈소스와 함께 한 2025년이라고 해도 될 만큼 오픈소스 덕분에 얻은게 참 많습니다.

기여 과정에서 얻는 지식은 물론, 내향적인 성격의 한계를 극복하고 이직까지 할 수 있게 된 계기가 되었습니다.

 

 

기여 요약

작년에는 오픈소스 기여의 막막함에 대한 진입 장벽을 허물고 기여하는 방법에 대해 어느정도 익혔다면, 올해는 본격적으로 기여 활동을 늘려나갔습니다. 제 커리어에서 가장 오래 사용했던 Node, Nest 프레임워크와 TS 진영의 ORM들, 모니터링 인프라를 구축하면서 사용했던 Loki와 무료여서 더 끌렸던 Gemini-CLI 등 다양하게 기여를 시도했습니다.

 

총 34개의 PR 중 23개가 Merge 되었어요.

날짜 저장소 PR 제목 상태
25-02-19 nestjs/docs.nestjs.com #3204 docs(swc): add vitest alias resolution Merged
25-02-19 nestjs/docs.nestjs.com #3206 docs(swagger): add ui/raws description Merged
25-02-19 nestjs/swagger #3307 fix(swagger): added options in createEnumSchemaType Merged
25-04-22 nestjs/nest #14995 feat(common): Add fallbackToMimetype support in FileTypeValidator Merged
25-04-22 nestjs/nest #15003 chore(common): Backport FileTypeValidator fallback support Open
25-04-30 nestjs/swagger #3423 feat(swagger-plugin): add skipDefaultValues option Merged
25-05-05 nestjs/swagger #3248 feat(swagger): add extension in SecuritySchemeObject Merged
25-05-21 nestjs/nest #15172 fix(microservices): support custom strategy in async usefactory config Merged
25-07-08 nodejs/node #58988 doc: enhance glob pattern documentation Open
25-07-14 nodejs/node #59061 path: add exclude option to matchesGlob method Open
25-07-16 nestjs/nest #15385 fix(testing): auto-init fastify adapter for middleware registration Merged
25-08-06 grafana/loki #18732 feat: default loki-mixin dashboards to TSDB Open
25-08-07 nestjs/terminus #2671 feat(graceful-shutdown): add enhanced production-ready shutdown sequence Open
25-08-09 nestjs/terminus #2673 fix(deps): update amqplib to 0.10.6 for rmq 4.1+ compatibility Open
25-08-14 nestjs/nest #15539 fix(sample): update gql federation samples to use production-ready Open
25-08-20 prisma/prisma #27897 fix(client): add default generic parameters to PrismaClient constructor Merged
25-08-21 google-gemini/gemini-cli #5751 perf(core): parallelize memory discovery file operations (60% 성능 향상) Merged
25-09-15 nestjs/terminus #2670 feat(terminus): add forRootAsync method Merged
25-09-16 nestjs/nest #15503 feat(common): add force-console option to console logger Merged
25-09-16 nestjs/nest #15571 fix(core): skip lifecycle hooks for non-instantiated transient services Merged
25-10-01 nestjs/graphql #3678 feat(graphql): add type-name-option for custom type naming Merged
25-10-12 nodejs/node #60220 test_runner: add classname hierarchy for JUnit reporter Open
25-10-18 nestjs/swagger #3596 feat(decorator): add type definition for format option Open
25-10-21 nestjs/nest #15705 fix(core): resolve extras in configurable module builder async methods Merged
25-10-27 nestjs/nest #15815 fix(core): ensure nested transient provider isolation Merged
25-11-08 nodejs/node #58205 doc: improve agent.createConnection docs for http/https agents Merged
25-11-14 typeorm/typeorm #11769 refactor: replace uuid with native Crypto API Open
25-11-28 nestjs/nest #15984 sample(sample/22): fix Prisma 7 compatibility Merged
25-11-29 daangn/ventyd #46 fix: improve validation error messages Merged
25-12-05 nestjs/nest #15986 feat(core): add option for async logger compatibility Merged
25-12-05 nodejs/node #60376 esm: improve error messages for ambiguous module syntax Merged
25-12-12 typeorm/typeorm #11669 fix: include joined entity primary keys in pagination subquery Merged
25-12-18 encode/django-rest-framework #9853 Fix viewset actions dict being mutated after first request Open
25-12-19 nestjs/nest #16098 fix(core): instantiate nested transient providers in static context Merged

 

 

최근에는 Python을 사용하는 회사로 이직했기 떄문에, DRF부터 점진적으로 Django > Python에 기여를 해볼 계획을 가지고 있어요.

 

 

 

발표

특히 올 해 오픈소스 기여 덕분에 저는, 저의 내향적인 성격의 한계를 깨고 오프라인 세션에서 발표를 진행하게 되었습니다.

 

 

 

개발자로서 첫 발표를 마치고

첫 발표를 마치고개발자로서 첫 발표를 무사히(?) 끝마쳤습니다. 포스팅을 작성하면서도 가슴이 벌렁벌렁하네요.. 저는 현업에서 혼자 개발하는 환경에 있다 보니,'내가 잘하고 있는 게 맞을까?'

mag1c.tistory.com

 

Prisma와 Gemini-CLI 기여 경험을 바탕으로 발표를 진행했습니다. 단순히 기여 내용을 공유하는 것이 아니라, 이슈를 효율적으로 분석하는 방법과 그 과정에서 어떻게 성장했는지에 초점을 맞췄습니다. 청심환을 먹었음에도 너무 떨려서 제대로 전달이 안되었을 수도 있지만요.. 

 

 

 

이직

기존 조직에서 많은 것을 배웠지만, BM의 한계를 많이 느꼈습니다.

더불어 제가 관심 있던 AI 활용이나 Agentic Workflow 구축을 시도하기엔 환경적 제약이 있었습니다.

 

더 자극을 느끼고 성장하며 다양한 경험을 쌓기 위해 이직을 해야겠다 라는 생각을 했고, 개발자로서 첫 이직을 할 수 있게 되었습니다.

 

그 유명한 당근 면접비 ㅋㅋ

 

작년에 이직 시도를 할 때와는 다르게 서류 합격률이 많이 높아졌습니다.

감사하게도 기술 면접을 열 곳 넘게 볼 수 있는 기회가 주어져서, 다양한 분야의 기업들에서 면접들을 볼 수 있었습니다.

특히 이번 이직 과정에서는 당근을 비롯한 네카라쿠배당토야 중 세 곳에서 과제와 면접 등의 질 좋은 경험들을 할 수 있었습니다.

이전까지는 서류 광탈에 빅테크는 제 길이 아니구나 생각했는데, 올 해는 어느 정도 제 노력들이 시장에서도 먹히고 있는 것 같아서 정말 기분이 좋았습니다.

 

 

저는 완전 새로운 도메인의 스타트업에서 커리어를 이어나가게 되었습니다. 제가 이직 시 고려했던 성장, 처우, 공유 라는 세 키워드가 모두 만족스러운 환경에서 더 많은 기여를 적극적으로 시도하는 중입니다.

 

 

 

 

 

개발자로서의 목표

올해 가장 많이 한 생각은 내가 어떤 개발자가 되고 싶을까? 입니다.

처음에는 시장에서 원하는 개발자가 되어야겠다고 생각했었는데요. 메타인지를 하는 과정에서, 저는 흥미를 잃으면 빠르게 이탈하는 성격이라는 것을 다시 한 번 인지하고 내가 왜 개발자가 되고 싶었었지? 앞으로 무엇을 하고 싶지? 를 중점으로 생각해봤던 것 같습니다.

 

오픈소스 기여를 통해 수 억명의 DX들을 개선하는 경험들을 접하고 기여 사이클에서 얻는 성장과 공유의 도파민이 가장 달콤했습니다.

그러다보니 Product Engineer 보다는 DX를 개선하는 영역 혹은 더 기술적인 깊이를 추구할 수 있는 사람이 되고자 방향을 잡았습니다.

 

최근 AI가 일상 생활에 너무 깊이 침투해있지만 아직은 할루시네이션 등의 이슈로 이런 깊이를 추구하는 방향이 나쁘지 않다고 생각했습니다. AI를 더 잘 활용하는 필수 역량 중 AI의 결과물을 빠르고 정확하게 검토할 수 있는 역량이 이런 깊이감이라고 생각해요. AI가 딸깍으로 모든 것을 해결해주는 세상이 온다면 목표가 달라져야하겠지만, 이떄는 목표를 수정하는 것이 아니라 직종 자체를 변경해야할 수도 있겠습니다.

 

 

 

 

 

장기 목표는 세우지 않아야겠다.

우선, 작년 회고에서 이루고자 했던 목표를 얼마나 달성했을까? 를 되돌아봤어요.

CS 지식을 다듬고 체력 관리를 위해 운동하자!!! 라고 목표를 세웠더라구요.

 

CS 지식을 집중적으로 채워 넣기 보단 현업에서 마주한 문제에 관련된 지식들 위주로 습득했고, 운동은 습관화 시키지 못했어요.

 

저는 강한 동기부여가 있거나 진심으로 좋아하는 일을 할 때 몰입하는 사람이라는 것을 다시 깨달았습니다.

텍스트 형태의 장기 목표는 세우지 않고, 단기적으로 지금 무엇에 관심있는지를 브레인스토밍하고 거기에 집중하는 것이 좋겠다는 생각이 들어요.

 

 

 

 

마무리

2025년은 정말 감사한 한 해였습니다. 이전까지는 비전공 국비, 고졸이라는 자격지심이 있었던 것 같은데 이직 과정에서 이 부분이 100% 해소되었습니다. 앞으로 더 개발을 좋아하고 자연스레 성장해나간다면, 현재 조직에서 많은 임팩트를 주고 제 경험을 다양하게 공유하고 나눌 수 있으면 얼마나 행복할까? 라는 생각을 하고 있습니다.

 

2026년에는, 현재 조직에서 엄청 큰 임팩트를 하나 이상 만들어 보는 것을 최우선 과제로 두고, 현재 조직의 프로덕트 개선과 DX 개선 두 가지에 힘쓸 것 같아요. 개인적인 목표로는 300+ 스타 이상의 오픈소스 운영과, 개인 서비스의 사용자를 1k 이상 만들어보는 경험을 해보고 싶습니다.

 

2026년에는 보다 더 밀도 높은 성장을 통해 보다 더 인정받는 개발자가 위해 열심히 달려나가겠습니다!! 다들 2026년에도 화이팅입니다

 

 

 

728x90
300x250
mag1c

mag1c

2년차 주니어 개발자.

방명록