Codong's Development Diary RSS 태그 관리 글쓰기 방명록
2021-01-23 19:59:23

1. 내가 원하는 직장 or 직무 찾기.


나는 이것이 제일 중요하다고 생각한다. 내가 어떤 일을 하고 싶은지/어떤 공부를 하고 싶은지를 찾는 것이 먼저라고 생각한다. 예를 들어 안드로이드 개발자가 되고싶으면 안드로이드 관련 채용 공고에 자격조건을 보고 공부를 하면 되지 않을까?

진짜 내가 원하는 것이 무엇인지 생각을 해볼 때이다. 나는 광주 인공지능 사관학교를 수료하면서 Ai 기술을 접하면서 연구원으로 알고리즘 개발도 재밌을 것 같고, 웹 서비스 프로젝트를 진행했다보니 웹 개발도 재미있었다. 하지만 이 두 가지에 한 쪽 다리씩 걸쳐 걸어가다보면 가랑이가 찢어질 것이라는 생각이 들었다.

그래서 난 백엔드 개발자로 진로를 잡고 채용사이트에서 스타트업 위주로 찾아 봤다.


2. 채용 프로세스 숙지


  1. 서류전형
  2. 코딩 테스트(있을 수도 있고 없을 수도)
  3. 1차 면접: 실무 진 면접 (또 코딩 테스트 가능성 큼)
  4. 2차 면접: 대표면접

※ 회사마다 조금씩 다를 수 있음.


3. 채용공고를 뒤져 나온 자격 조건들.


1) 기본기

  • 기본적인 자료구조 지식
  • 기본적인 알고리즘 지식
  • 기본적인 OS 지식

2) 자격요건

  • 데이터베이스의 인덱스, 트랜잭션, 정규화, 일관성에 대한 이해도, 모델링 경험
  • 관계형 데이터베이스, ORM, RESTFUL API, 사용 경험
  • linux에서 운용되는 서비스, HTTP API 개발 경험
  • 코드의 신뢰성, 테스트 가능성, 유지보수성, 확장 가능성
  • 리팩터링을 해야 할 때와 신규 기능을 개발, 출시해야 할 때를 아는가
  • 오버 엔지니어링과 언더 엔지니어링에 대해 이해하는가
  • 웹 서비스 개발 경험
  • AWS, Azure 등 클라우드 환경 프로젝트 경험
  • RDS 분석 및 설계 가능하신 분
  • Git 등 형상관리를 깊이있게 이해하시는 분
  • Django Framework를 통해 배포까지 해보신 분
  • 웹 프로그래밍에 대한 이해가 있으신 분
  • Github Issue & Pull Request를 활용한 협업 경험이 있으신 분
  • Web Framework(Django, Spring Boot, Ktor)를 이용해서 Web Application 개발, 운영을 해보신 분 (Python, Kotlin/Java)
  • MySQL(Maria DB), MongoDB(DynamoDB) 등 RDBMS와 NoSQL 계열의 DB를 다뤄보신 분
  • 유저가 겪는 문제점을 찾고 기술로 해결하는데 관심 있는 분
  • 도커에 대한 이해, 오케스트레이션에 대한 이해

+α(우대사항)

  • 마이크로서비스 아키텍처에 대한 깊은 이해도

  • 대용량 트래픽 처리 경험

  • 유닛 테스트 구성 경험 및 관련 지식

  • Kinesis, Kafka, RabbitMQ 관련 지식

  • DynamoDB, Redis, Elasticsearch 관련 지식

  • NoSQL 사용 경험

  • 커머스, 풀필먼트 시스템 구축 또는 유지보수 경험

  • DB 실행계획 및 HINT 사용 가능

  • Design Pattern을 공부하고 적용해보신 분

  • 대규모 트래픽을 수용해 본 경험이 있으신 분

  • 브랜딩, 사용자 경험 디자인의 필요성에 공감하시는 분

  • 클라우드 컴퓨팅 플랫폼(AWS, GCP, Azure 등)을 활용한 업무 경험

  • MSA 도입 및 활용 경험

  • Message Queue 시스템 도입 및 활용 경험

  • Container Orchestration(Kubernetes, Docker Swarm 등) 활용 경험

  • Neo4j, ArangoDB, Amazon Neptune 등 Graph Database 로 개발 경험이 있으신 분

  • AWS 기반의 서비스 개발 경험이 있는 분

  • Docker 컨테이너를 이용한 서비스 개발 경험이 있는 분

  • 상용화 서비스에 대한 개발/운영 경험이 있으신 분

3) 역량

  • 비지니스 로직을 빠르고 정확하게 구현할 수 있는 분
  • 설계부터 배포까지 일련의 과정을 이해하는 분
  • 새로운 기술을 두려워 하지 않고 빠르게 습득할 수 있는 분
  • 맡은 업무에 책임감이 높은 분
  • 정형데이터, 비정형데이터 차이를 아시는 분
  • 프론트/백엔드 구분 없이 시야가 열려 있으신 분
  • 다양한 경험과 성장에 대한 의지가 있으신 분
  • 먼저 의견을 제시하는데 거리낌이 없으신 분
  • 타 부서와도 원활하게 의사소통 할 수 있는 분
  • 코드리뷰와 테스트코드 작성 능력이 있는 분
  • 자동화를 지향하는 분
  • 오픈소스 활동을 지향하는 분
  • 테스팅을 항상 생각하시는 분
  • 소프트웨어개발에 대한 고민을 많이 하시는 분
  • 성능 최적화를 위해 지속적으로 고민하고 노력하시는 분
  • 한 가지 일에 몰두하여 성취한 경험이 있으신 분 (게임, 학업, ...)
  • 문서화의 필요성에 공감하시는 분
  • 기획부터 개발, 배포까지 프로젝트 전반에 대해 관심이 있으신 분

마무리


적고보니 이건 뭐,,, 다 한다는 것은 얼마나 오래 걸릴지 감이 안온다.. 하지만 이것을 다 할 필요가 없다고 생각한다. 여기서 중요한 것은 내가 가고자 하는 곳에 맞춰서 준비하면 된다고 생각 한다. 해당 기업이 가고자 하는 방향을 보고, 내가 재밌을 것이라 생각하거나 관련 서비스 개발을 하고 싶다는 생각이 든다면 그곳을 목표로 정하는 것이 맞다고 생각한다.

그래도 스윽 훑어보면 어느 정도 원하는 공통적인 부분이 있는 것 같다.웹서비스 개발해봤는지, 협업 툴 사용해서 개발해봤는지, DB 써봤는지, 이것들에 대한 이해도가 있는지, 이런 느낌인 것 같다. 추가로 마인드 셋이 얼마나 잘 잡혀있는지를 보는 것 같다.

자. 결정했으면 하나씩 차근차근 하다보면 괜찮지 않을까? 시작이 반이라 했다. 우선 기본기부터 다듬으러 가자~~
.
.
.

추가로 2020년도 백엔드 로드맵 첨부


출처 : https://github.com/devJang/developer-roadmap/blob/master/pdf/backend.pdf

'기타' 카테고리의 다른 글

독학할 때 자주하는 실수 5가지  (0) 2021.02.12
python 백엔드 면접 질문 정리  (0) 2021.02.11