최근에 이직 서류를 작성하는데 일반적인 Developer와 Senior Developer 자격이 나눠진 것을 봤다. 그래서 과연 Senior Develop의 자격은 어떻게 되는지, 지금 내 수준은 어디인지 확인하고 싶어서 물어보았다.

 

1. 경력 연차

  • 일반적으로 5~10년 이상의 실무 경력을 가진 경우 Senior로 평가됩니다.
    • 단, 연차만으로 판단되지 않으며, 프로젝트 복잡도와 기여도를 함께 고려합니다.

: 음... 연차로는 나도 Senior다. 물론 한 업무를 5~10년 이상하지 않았기 때문에 각각은 Junior인 것 같다.

2. 기술적 역량 (Core Skills)

a. 프로그래밍 언어 및 백엔드 기술 숙련도

  • 한두 개 이상의 주요 백엔드 언어(Java, Python, C#, Node.js, etc.)에 능숙하며, 다른 언어도 빠르게 학습 가능.
  • Spring Boot, Django, .NET, Express.js 등 주요 프레임워크에 대한 깊은 이해와 실무 경험.

: 실무에서 Spring Boot와 .NET 개발을 해봤지만 이 프레임워크에 대한 깊은 이해는 무엇을 의미하는 걸까.

b. 데이터베이스 설계 및 최적화

  • 관계형 데이터베이스(PostgreSQL, MySQL) 및 NoSQL(MongoDB, Redis) 모두에서 설계와 튜닝 경험.
  • 대규모 데이터 처리 및 복잡한 쿼리 최적화 경험.

: PostgreSQL을 이용하여 DB를 설계하고 회사의 새로운 인증 시스템을 개발했다. 그러나 내 생각에 이 인증 시스템은 그리 복잡하지 않기에 내가 만든 DB가 잘 설계된 DB인지 알 수가 없다.

c. 시스템 설계

  • 고가용성, 확장성, 보안성을 고려한 시스템 아키텍처 설계 능력.
  • 분산 시스템마이크로서비스 아키텍처(MSA) 설계 경험.
  • API 설계 경험(REST, GraphQL 등)과 문서화 능력.

: REST API 서버 개발을 하고 문서화하였으나 분산 시스템과 마이크로 서비스 아키텍쳐 설계를 했다고 해야하는걸까.

d. DevOps 및 클라우드 환경 경험

  • AWS, GCP, Azure 같은 클라우드 플랫폼 활용 경험.
  • CI/CD 파이프라인 구축 및 배포 자동화 경험.
  • Docker, Kubernetes 등의 컨테이너 기술에 능숙.

: DevOps를 꽤 했다고 했지만 역시 Jenkins, Gitlab과 같은 툴만 사용하기 보다 AWS와 같은 클라우드 플랫폼 위에서 클라우드 네이트브 관련 DevOps를 진행하는게 현대 트렌드로 보인다.

3. 문제 해결 및 성능 최적화

  • 복잡한 시스템 이슈를 분석하고 해결한 경험.
  • 병목 현상 분석(예: CPU, 메모리, I/O 문제) 및 성능 최적화.
  • 장애 복구 경험과 로그 분석을 통한 원인 파악 능력.

: 회사 생활을 하면서 꽤나 많은 문제를 겪고 해결해왔지만 이게 위에서 말하는 문제들은 아니었다. 해결했을 때 뿌듯했는데 난 누구나 할 수 있는 것을 해결했던 걸까 아니면 정말 힘든 일을 해냈던 걸까.

4. 프로젝트 및 도메인 경험

  • 다양한 규모의 프로젝트에서 주요 역할 수행:
    • 서비스 설계, 데이터 모델링, API 설계, 배포 등.
  • 대규모 트래픽을 처리하는 서비스나 고가용성 시스템 구축 경험.
  • 여러 도메인(e.g., 전자상거래, 금융, 의료, IoT)에서의 경험이 있으면 강점.

: 아쉽게도 이 부분은 맛만 봤다. 대규모 트래픽을 겪을 일이 없고 여러 도메인이 아닌 하나의 도메인 뿐이었다.

5. 리더십 및 협업 능력

a. 팀 리딩

  • 팀원들을 멘토링하며 기술적 성장을 이끌 수 있는 능력.
  • 코드 리뷰 및 기술 공유를 통해 팀 전체 품질 향상.

: 부사수와 함께 기술 공유를 하면서 같이 설계했던 경험은 있다.

b. 커뮤니케이션

  • 제품 관리자(PM), 디자이너, 프런트엔드 개발자 등 다양한 이해관계자들과 협업.
  • 복잡한 기술적 내용을 비기술적인 사람들에게 명확히 설명할 수 있는 능력.

: 내 생각에 내 장점은 상대방 이야기를 끝까지 듣고 내가 뭘 잘못 이해했는지 알고 내가 정확히 아는 것만 말하는 것이다.

c. 의사결정

  • 기술 스택 선택, 시스템 아키텍처 설계 등 주요 기술적 의사결정을 주도한 경험.

: 의견을 강하게 내세워보긴 했지만 결국 팀장님이 결정하셨다.

6. 주도성과 문제 해결 책임

  • 문제를 단순히 해결하는 수준을 넘어, 사전에 예방하고 프로세스를 개선.
  • 비즈니스 목표를 이해하고, 이를 기술적으로 실현할 수 있는 방안 제안.

: 내 코드를 점검하여 문제가 될만한 부분들 동시성이나 권한 문제로 인한 오류를 대비하긴 하였다.

7. 최신 트렌드 및 기술 학습

  • 새로운 기술 도입에 대한 실험 정신과 분석 능력.
  • 오픈소스 기여, 기술 블로그 작성, 세미나 발표 경험은 강점.

: 딱히 최신 트렌드나 기술 학습에 열을 올리진 못했다.

8. Senior 백엔드 개발자의 예시

경력 요약:

  • 7년 이상의 백엔드 개발 경험.
  • Java(Spring Boot)와 PostgreSQL 기반 대규모 트래픽 시스템 설계 및 운영 경험.
  • AWS를 활용한 클라우드 아키텍처 설계와 CI/CD 파이프라인 구축.
  • 장애 대응 프로세스 개선과 API 성능 최적화 주도.
  • 팀 리딩 경험: 코드 리뷰 및 신입 개발자 멘토링.

성과 사례:

  • 마이크로서비스 전환 프로젝트에서 데이터 마이그레이션 주도, API 응답 시간을 40% 단축.
  • 10,000 RPS의 트래픽을 처리하는 분산 시스템 설계.
  • Docker 및 Kubernetes 기반의 배포 자동화 구축.

9. 결론

Senior 백엔드 개발자는 단순히 코드를 작성하는 수준을 넘어, 설계, 최적화, 팀 리딩, 비즈니스 목표 반영 등 폭넓은 역할을 수행합니다.

  • 연차도 중요하지만, 복잡한 문제를 해결하고 시스템의 성장에 기여한 경험이 핵심입니다.
  • 자신이 어떤 프로젝트에서 구체적으로 어떤 역할과 기여를 했는지 명확히 설명할 수 있어야 Senior로 인정받습니다.

: 나는 아직 Senior는 확실히 아닌 것 같다. 더 노력하자.

 내 블로그에는 약 6년 전 승인된 구글 애드센스를 달아놨었는데 요즘보니 다양한 수익 기능이 생겼다. 그 때는 애드센스가 유일했기에 애드 고시라 불리며 사람들에게 좌절을 주었는데 세상이 많이 좋아졌다. 이번에는 고시 통과가 아닌 직접적으로 수익을 올려보는 유의미한 결과를 얻을 수 있으면 좋겠다.

1. Kakao AdFit

  • 특징:
    • 카카오에서 운영하는 광고 플랫폼.
    • 주로 국내 트래픽에 최적화되어 있으며, 카카오 계정을 기반으로 한 타겟 광고를 제공.
    • 광고 단위 설정이 쉬워서 초보자도 쉽게 시작 가능.
  • 수익성:
    • CPM(노출당 수익)이 주된 방식으로, 클릭당 수익률은 낮은 편.
    • 국내 트래픽이 많을 경우 효율적.
  • 추천 대상:
    • 국내 사용자 비율이 높고, 트래픽이 많은 블로그.
    • 콘텐츠가 일반적이거나 대중적인 주제를 다루는 경우.

2. Google AdSense

  • 특징:
    • 전 세계적으로 가장 널리 사용되는 광고 플랫폼.
    • CPC(클릭당 수익) 방식과 CPM(노출당 수익) 방식을 모두 지원.
    • 광고의 종류가 다양하고, AI를 통해 사용자의 관심사에 맞춘 광고를 자동으로 배치.
  • 수익성:
    • 클릭당 수익(CPC)이 Kakao AdFit보다 높음.
    • 영어 콘텐츠해외 트래픽이 많을 경우 매우 유리.
    • 광고 단가가 **컨텐츠 주제(예: 금융, IT, 건강)**에 따라 크게 차이.
  • 추천 대상:
    • **해외 방문자가 많거나, 전문적인 주제(예: 금융, IT)**를 다루는 블로그.
    • **CTR(클릭률)**을 높일 수 있는 배치 전략이 중요한 경우.

3. Dable

  • 특징:
    • 콘텐츠 추천 위젯 기반 광고 플랫폼.
    • 관련성이 높은 콘텐츠를 추천하면서 자연스럽게 광고를 노출.
    • 광고 디자인이 블로그 레이아웃에 잘 어울려 사용자 경험에 긍정적.
  • 수익성:
    • 클릭당 수익(CPC)이 높진 않지만, CTR이 높은 경우 유리.
    • 트래픽이 많고 콘텐츠 소비 시간이 긴 경우 수익 증가.
  • 추천 대상:
    • 콘텐츠 기반 트래픽이 많고, 방문자가 다양한 주제를 소비하는 블로그.
    • 읽을거리가 많은 블로그(예: 뉴스, 칼럼, 스토리 기반 콘텐츠).

4. Tenping

  • 특징:
    • 클릭형(PPC) 광고 외에도 CPA(액션당 수익)를 지원.
    • 특정 행동(구매, 가입 등) 완료 시 수익 발생.
    • 주로 추천형 제휴 마케팅(affiliate marketing)에 적합.
  • 수익성:
    • 다른 플랫폼에 비해 클릭당 기본 수익률은 낮지만, 행동 유도 성공 시 수익이 매우 높음.
    • 수익은 방문자의 행동 전환율(Conversion Rate)에 크게 의존.
  • 추천 대상:
    • 특정 제품 리뷰, 가이드 콘텐츠 등을 제공하여 구매나 가입으로 이어질 가능성이 높은 블로그.
    • 방문자가 구매를 목적으로 하는 경우 유리.

5. 수익성 비교 표

플랫폼주요 과금 방식클릭당 수익 (CPC)노출당 수익 (CPM)전환당 수익 (CPA)추천 대상

Kakao AdFit CPM 낮음 보통 없음 국내 트래픽
Google AdSense CPC + CPM 높음 높음 없음 글로벌 트래픽
Dable CPC 보통 없음 없음 콘텐츠 기반
Tenping CPC + CPA 낮음 없음 매우 높음 구매/가입 유도

6. 결론 및 추천

  1. 트래픽 유형:
    • 국내 트래픽 위주: Kakao AdFit + Dable 조합이 적합.
    • 해외 트래픽 위주: Google AdSense가 더 나은 선택.
  2. 콘텐츠 주제:
    • 전문적이고 클릭 유도성이 높은 콘텐츠: Google AdSense.
    • 구매나 행동 유도 가능성 높은 콘텐츠: Tenping.
    • 읽을거리가 많은 블로그: Dable.
  3. 혼합 전략:
    • Kakao AdFit과 Google AdSense는 동시에 사용할 수 없음(애드센스 정책 상 금지).
    • Dable과 Tenping은 AdSense나 Kakao AdFit과 조합 가능.
      이를 통해 다양한 광고 노출과 수익원을 확보할 수 있음.

 AI의 시대가 열리고 이제는 넓게 아는 게 중요하다고 생각한다. 존재를 알기만 하면 이제는 AI를 통해서 쉽게 정보를 얻고 학습할 수 있기 때문이다. 나부터가 AI를 개발에 활용하는 순간부터 기존보다 최소 3배 이상의 퍼포펀스를 낸다. 아니 AI와 함께라면 무엇이든 해낼 수 있다는 자신감이 가득하다. 그러나 AI를 잘 활용하는것도 실력이라지만 가끔 이게 내 실력일까? 정말 내가 발전하고 있는건지 아니면 사고력은 오히려 퇴보하고 있는건 아닌지 걱정이 되기도 한다. 아무튼 이번에 코딩 테스트를 준비하면서 실리콘밸리에서는 어떤 코딩 테스트 플랫폼을 이용하는지 궁금해졌고 요즘 코딩 테스트 플랫폼은 옛날 단순 알고리즘 문제 풀이하는 걸 넘어서서 엄청 진화했다는 것을 느낀다.

 

1. HackerRank

  • 소개:
    • 가장 널리 사용되는 코딩 테스트 플랫폼 중 하나로, 알고리즘, 데이터 구조, 데이터베이스, AI, 머신러닝 등 다양한 도메인을 지원.
  • 특징:
    • 실시간 코드 실행 및 자동 채점.
    • 기업용 대시보드 제공으로 지원자 관리가 용이.
    • Google, Amazon, Facebook과 같은 대형 기업에서 사전 테스트와 인터뷰 도구로 사용.
  • 장점:
    • 지원 언어가 40개 이상으로 다양.
    • 문제 난이도와 분야별로 고르게 분포.
  • 활용도:
    • 주로 사전 코딩 테스트와 기술 면접에 사용.

2. LeetCode

  • 소개:
    • 프로그래머들의 실력 향상과 면접 준비에 최적화된 플랫폼.
    • 유명 기업(FAANG)에서 출제된 문제들이 자주 포함됨.
  • 특징:
    • 기업별 문제 리스트 제공(Google, Meta, Amazon 등).
    • 실시간 온라인 콘테스트를 통해 경쟁 가능.
  • 장점:
    • 초급부터 고급까지 다양한 난이도의 문제.
    • 커뮤니티와 토론 기능을 통해 효율적인 학습 가능.
  • 활용도:
    • 개인 학습 및 기업의 기술 면접 준비.

3. CodeSignal

  • 소개:
    • 기술 면접 및 채용을 위한 평가 도구로 유명.
    • 알고리즘 문제 외에도 SQL, 데이터 분석 등 실무 기술도 테스트 가능.
  • 특징:
    • 자동 채점과 함께 지원자의 기술을 구체적으로 분석.
    • Skill Assessment 점수를 통해 지원자의 실력을 비교 가능.
  • 장점:
    • 구체적이고 다양한 도메인 테스트.
    • API 설계 및 SQL 쿼리와 같은 실무 환경 기반 문제.
  • 활용도:
    • Dropbox, Uber 등에서 사전 코딩 테스트와 면접 평가에 사용.

4. Codility

  • 소개:
    • 기업이 빠르게 지원자를 평가하고, 코딩 테스트를 진행할 수 있는 간단한 플랫폼.
  • 특징:
    • 자동화된 테스트 평가: 코드의 성능과 정확성을 즉시 확인 가능.
    • 알고리즘뿐 아니라 문제 해결 접근 방식까지 평가.
  • 장점:
    • UI가 간단하고, 초급 개발자도 쉽게 적응 가능.
    • 라이브 코딩 도구 제공으로 면접에도 적합.
  • 활용도:
    • Booking.com, Microsoft, Zalando 같은 기업에서 사용.

5. Kaggle

  • 소개:
    • 주로 데이터 과학과 머신러닝에 특화된 코딩 플랫폼.
  • 특징:
    • 실무 기반 데이터셋과 문제 제공.
    • 데이터 전처리, 모델 훈련, 평가 등 데이터 사이언스 전 과정 테스트 가능.
  • 장점:
    • 공개된 다양한 프로젝트와 커뮤니티 지원.
    • 실습 위주의 문제로 현실적인 경험 제공.
  • 활용도:
    • 데이터 과학 및 머신러닝 포지션 채용 평가.

6. CoderPad

  • 소개:
    • 실시간 코딩 인터뷰와 화상 면접을 결합한 플랫폼.
  • 특징:
    • 라이브 코딩과 음성/화상 회의 통합.
    • 코드 실행 및 결과 확인 가능.
  • 장점:
    • 직관적인 인터페이스와 협업 환경.
    • 인터뷰 중 문제 해결 과정을 면접관과 공유 가능.
  • 활용도:
    • Facebook, Stripe 같은 기업에서 기술 면접 진행 시 사용.

7. DevSkiller

  • 소개:
    • 특정 기술 스택(Skill Set)과 실무 프로젝트 기반 평가를 지원.
  • 특징:
    • 지원자의 실무 능력을 구체적으로 평가 가능(예: Spring Boot, React 등).
    • 알고리즘 문제보다 프로젝트 중심 테스트를 강조.
  • 장점:
    • 기업의 요구사항에 맞춘 커스텀 문제 생성 가능.
    • 실제 코딩 환경을 제공하여 신뢰도 높은 결과 도출.
  • 활용도:
    • 팀에서 사용하는 기술 스택에 맞춘 개발자 채용.

8. Codewars

  • 소개:
    • 게임화된 환경에서 문제를 풀고, 점수를 쌓으며 성장할 수 있는 플랫폼.
  • 특징:
    • 알고리즘 문제부터 언어 학습 문제까지 다양.
    • 사용자 생성 문제를 풀거나, 문제를 직접 만들어 공유 가능.
  • 장점:
    • 학습과 실력을 동시에 기를 수 있음.
    • 다양한 언어 지원.
  • 활용도:
    • 개발자 커뮤니티에서의 학습 및 실력 향상.

*. 선택 가이드

  • 사전 테스트: HackerRank, Codility, CodeSignal
  • 실시간 인터뷰: CoderPad, Karat
  • 학습 및 준비: LeetCode, Codewars
  • 데이터 과학/AI: Kaggle, HackerRank AI

 

 나는 CodeSignal을 통해서 공부해보려고 한다. Chat 형식으로 따로 내가 컴파일러를 설치하지 않아도 직접 테스트해보고 세밀하게 가이드해주는 게 좋다. 영어 울렁증이 있지만 다시 공부하면서 영어에 친숙해져보자.

CodeSignal 모습

내가 완성시킨 클래스를 평가해주는 게 일반적인 알고리즘 테스트보다 재밌는 것 같다.

취업 일기를 블로그에 적었던 날부터 어느새 8년이 지났다.

시간 빠르다.

 

취업 후 8년 간 많은 일들이 있었다.

많은 사람들을 만나고.

혼자 해외여행도 떠나보고.

아내도 운명처럼 만났고.

함께 살 첫 집도 구매했다.

무엇보다 나랑 꼭 닮은 딸도 태어났다.

 

부모님들은 은퇴하셨지만 아직 정정하시고.

뭐 중간에 힘든 일도 있었지만 전화위복이 되어 지금은 행복하다.

 

지난 내 취업 일기를 읽어보자니.

많이 부끄럽지만 그래도 저 때의 풋풋함이 재밌다.

일기를 써두길 잘했다.

저 때의 글들은 그 시간 속의 나를 사진보다 더 자세히 볼 수 있다.

 

아무튼 이제 이직 준비를 한번 해보려고 한다.

우리 회사는 좋은 회사다.

지난 8년간 월급도 꾸준히 올려주고.

워라밸도 좋아서 몸은 펴했고.

좋은 사람들이 많아서 큰 트러블도 없었다.

그래서 평생있기에 나쁘지 않은 회사라 생각했었다. 

 

8년 간 팀을 2번 바꾸게 됐는데.

한 번은 자의적으로.

이번엔 타의적으로.

C++언어로 COM Programming을 시작했고.

C# 언어로 WPF Framework를 개발했고.

무뎌질 무렵 DevOps가 뜰 때 DevOps를 해보기 위해서 처음 팀을 바꿨다.

그러다 다시 회사의 구 인증 시스템을 만지면서 Pro*C와 Oracle을 분석하고.

뉴 인증 시스템을 개발하면서 Spring Boot API 서버 개발을 했다.

그리고 다시 새로운 팀에서 DevOps 업무를 맡았다.

 

이게 내 8년 경력의 전부다.

뭐 하나 진득하게 하기보단 이것 저것 짜잘하게 많이 했다.

커리어적인 측면으로 봤을 때는 딱히 이직하기 어려운 커리어라고 생각했다.

뭐하나 한 분야만 파기보다는 여러 분야를 맛만 봤다.

 

이 글을 쓰기 며칠 전까지만 해도 우리 회사에 뼈를 묻을 생각이었지만.

지금은 생각이 많이 달라졌다.

처음 시작은 몰로코란 회사를 알면서부터다.

지하철 광고에서 본 몰로코란 회사.

찾아보니 우리나라 탑티어 IT회사다.

우리나라를 거점으로 실리콘밸리에서 경쟁하는 유일한 회사다.

 

멋졌다.

한번쯤 실리콘밸리에서 영어를 자유자재로 구사하며 프로답게 하는 삶을 꿈꾸기만 했다.

지금에 와서 나는 못하겠지라고 생각했다.

그냥 지금처럼 평온한 회사에서 무난하게 육아하며 살면 될 줄 알았다.

 

근데 평온함과 무난함은 내가 만든 환상인 것 같다.

안주하며 살던 내게 이제 큰 시련이 다가왔다.

회사 생활이 무섭다.

아직 살아갈 날은 많은데 내 능력은 쌓이기보단 점점 분해되어간다.

 

어제 오늘 문득 깨달았다.

이대로는 남은 내 삶이 그렇게 행복하지 않을 것 같다고.

과거에 부딪혀보던 나는 없고 삶에 안주만 하고있는 내 모습은 확실히 자신감을 잃었다.

 

그래서 지금부터라도 도전해보려고 한다.

단순히 돈이 아니라 불가능해보이는 목표에라도 한번 부딪혀보고 싶다.

계속 도전할 수 있는 용기가 있다면 앞으로의 내 삶도 자신감이 가득찰 것이다.

 

그래서 오늘부터 딱 1년.

나를 믿고 이직 준비를 해보자.

 

+ Recent posts