개발 인사이트

경쟁력 있는 주니어 개발자란?

스누누피 2025. 4. 22. 20:22

나는 아직 입사한지 1년도 안된 아직 개발자라고 하기도 어색한 주니어 개발자이다.

앞으로의 커리어와 개발자로서 마음가짐에 대해 생각이 많았는데 관련된 글을 발견했다.

https://f-lab.kr/blog/to-be-competitive-junior-developers

 

경쟁력 있는 주니어 개발자가 되는 방법

이공계 천대라는 이야기가 무색해진지 꽤 오랜 시간이 흘렀고, 개발자 지망생들도, 개발자가 된 사람들도 많아졌다.

f-lab.kr

 

해당 글에선 경쟁력있는 주니어 개발자가 되기위해서 필요한 것들과, 어떤 개발자가 경쟁력 있는지, 또 그런 개발자가 되기 위해서 실천해야할 것들을 정리되어 있었다. 이 3가지를 중심으로 글을 정리해보았다.


경쟁력 있는 주니어 개발자가 되기 위해선 특장점경험이 필요하다.

 

특장점

먼저, 개발자로서 자신만의 특장점을 가지는 것이 중요하다.

요즘같이 주니어 개발자들이 넘처나고 취업의 문이 높은 시기 다른 개발자들과는 다른 나만의 특장점을 가지고 있으면 경쟁력이 올라갈 것이다. 또한 이런 특장점을 가지게 된다면 남들에게 혹은 이직 시 내가 어떤 개발자인지 표현하기에도 아주 좋아보이고, 이떠한 특장점을 가진 개발자를 목표로 삼아 앞으로 나아갈 방향에 대해서도 좀 더 명확해질 거라 생각이된다.

 

글에서 소개한 예시 중 괜찮다고 생각한 특장점은 아래와 같은 개발자이다.

  • 성실하게 학습하는 개발자
  • 러닝 커브가 가파른 개발자
  • 동료와 소통과 협업을 잘하는 개발자
  • 디버깅을 잘하는 개발자
  • 대용량 처리 경험이 있는 개발자

나는 비전공자로 20대 중반에 개발을 처음 시작한 입장에서 다른 주니어 개발자들 보다 많이 공부해야 한다고 생각한다. 그래서 성실하게 학습하는 개발자가 가장 마음에 와닿았고 많은 공부를 하다보면 자연스럽게 러닝 커브가 가파른 개발자가 될 수 있다고 생각한다.

 

경험

회사 업무나 프로젝트를 통해 다음과 같은 경험을 얻을 수 있다.

  • 대용량 처리
  • 서비스 경험
  • 장애 경험

대용량 처리, 서비스 경험, 장애 경험 이 세 가진 결국 실제로 서비스를 제공하고 있는 프로그램 혹은 프로젝트를 해야지만 경험할 수 있는 에러나 문제점들이 분명 있기 때문에 이러한 경험을 강조하는 것 같다. 특정 조건에서만 잘 돌아가는 코드만 작성해서는 성장을 하기 어렵다고 생각한다. 

  • 인프라 경험

과거엔 인프라를 개발자들이 직접 다루는 일이 많이 없었지만 이제 클라우드 서비스가 대세를 이루면서, 또 Docker, k8s와 같은 전보다 쉽게 인프라를 관리할 수 있는 프로그램들이 많아져 인프라를 경험해보는 것이 개발자에겐 어려운일이 아니게 되었다.

 

 솔직히 말하면 현재 회사에서는 위와 같은 경험을 하긴 힘들다고 생각이 든다. 그래서 팀프로젝트나 공모전에 참가해 다양한 경험을 채울 수 있게 노력해봐야겠다.


그래서 경쟁력있는 개발자란?

자기 주도적인 개발자

시키는 일만 잘하는 개발자보다, 스스로 어떤 일이 필요한지 찾아내는 개발자가 되자.

분명 작업을 하다보면 작업자만 알 수 있는 디테일이 있고, 더 좋은 개선안이 생길 수 있다.

적극적인 태도로 임하면 좋은 퀄리티의 결과물을 만들어 낼 수 있다.

 

스스로 고민하는 개발자

요즘 AI가 너무 발달되어서 고민하기 보다 AI한테 의존하는 경향이 많아진다고 생각된다.

물론 AI를 통해 모르는 것을 알아가는 것은 나쁘지않지만, AI에게 물어보기전 스스로 고민을 통해 어떤 해결 방법이 있을지 생각해보고 다양한 시도를 해본 후에도 도저히 해결이 안되면 AI든 인터넷이든 물어보는 습관을 만드는 것이 좋을것 같다.

어떤 고민이 있었고 어떤 식으로 해결하려고 노력했는지 또 어떻게 해결했는지를 잘 정리하는 개발자가 이슈를 빠르고 정확하게, 재발하지 않도록 한다.

 

문제 해결 능력이 뛰어난 개발자

개발자는 결국 문제를 해결하는 사람이다.

 

문제 해결 능력은 장애 대응, 이슈 대응을 이야기하는 것이 아니다. 

해결책을 안다는 건, 제품 이해도, 동작 원리, 매커니즘을 잘 파악하고 있다는 뜻이된다. 이를 통해 비즈니스에 도움이 되는 방향을 제시하는 역할을 말한다.

 

개발자의 알고리즘 능력을 보는 것도 다양한 문제를 어떻게 해결하는지를 보기 위함이 크다. 단순히 기술적인것 뿐만 아니라 문제를 바라보는 통찰력도 중요하다.

 

디버깅을 잘하는 것은 곧 문제 해결 능력이 뛰어나다고 볼 수 있다. 디버깅을 통해 문제를 해결하는 과정에서 논리력과, 능력이 증명되기 때문이다.


이제 제일 중요한 겅쟁력을 가지기 위한 실천 방법이다.

 

1. 이슈가 생겼을 때 원인을 반드시 찾기

  • 현상이 사라졌거나 우회 방식을 선택했어도 반드시 원인을 끝까지 찾아내야 한다.
  • 이슈를 적당히 마무리하는 것도 습관이 되어, 경험으로 승화되기 어렵다.

2. 이슈에 대해서 다양한 방식으로 고민해 보고, 어떠한 고민들을 해봤고 어떠한 고민들을 소거 했는지 과정을 시각화 하기

  • 고민하는 과정은 보통 대부분 하는데, 이를 정리하고 소거하는 습관을 가져야 한다.
  • 그래야 원인을 찾는 과정에 삽질이 줄어들고, 불필요한 재 검증도 사라지며, 다른 사람에게 이슈를 공유하고 피드백 받기 좋다.

3. 주변에 진행하는 업무에도 관심 가지기

  • 생각보다 배울게 많고, 성장에 도움이 된다.
  • 코드 리뷰 요청도 좋고, 업무 리뷰 요청도 좋다.
  • 그 과정을 자신만의 생각과 방식으로 요약해라.

4. 자신의 업무 습관을 많이 드러내고, 주변에 도움을 요청하고, 많이 도움을 줘라

  • 물론 고마워하지 않는 사람도 존재하지만, 그런 상황을 감안해도 자신에게 더 많은 도움이 된다.
  • 과정에서 자신이 놓친 것에 대해서 더 많이 깨닫게 된다.
  • 또 피드백에 대해서 기록해 보면, 자신이 자주 실수하는 패턴도 알게 되고, 다른 사람의 생각과 장점, 인사이트를 공유 받을 수 있다.

이렇게 본문에 있는 내용 중 괜찮다고 생각한 실천 사항을 가져와 보았다.

 

확실히 이슈를 적당히 해결하면 덮어두는 일이 많았는데, 앞으론 확실히 해결해서 글로 정리하고 내 경험으로 만들어 보도록 해야겠다.


글을 읽고 가장 생각이 많아진 부분은 특장점을 가진 개발자에 대한 내용이였다.

커리어와 이직에 대한 고민은 많이 하면서 정작 내가 어떠한 개발자인지에 대해 깊게 고민해본적 없었기 때문이다. 확실히 남들과 다른 장점을 만드는게 경쟁력있는 개발자가 될 수 있을 것이라 생각 된다. 위해서 말한 예시 뿐만 아니라 나만의 장점이 뭔지 고민해보는 시간을 가져봐야겠다.