2024. 1. 11. 21:55ㆍ스파르타_부트캠프/TIL
웹개발자 직무 채용공고 분석
구직사이트(사람인 등) 및 공식 홈페이지 채용 공고에서 python, 웹개발자를 keyword로 검색하였으며, 대기업 또는 테크기업 위주로 기준으로 자료를 조사하였습니다.
관심 기업 리스트
쿠팡 - Back-end Engineer (Catalog Knowledge)
주요 업무
* 댜량의 데이터를 효율적으로 가공하고 관리하는 워크플로우 및 저장 메커니즘 개발
* 트레이닝 및 평가 데이터 수집을 위한 툴 개발을 포함하여 확장 가능하고 효율성을 같춘 데이터 플랫폼 구축
* ML/DL 모델을 provisioning하고 서비스와 연계
자격 요건
* Java 맟 Spring 프레임워크를 이용한 Web application 개발 경험
* 엔터프라이즈 시스템 구축을 위한 소프트웨어 개발 경력 3년 이상
* 데이터베이스 시스템, 데이터웨어하우징 개념 및 언어(SQL, NoSQL)에 대한 탄탄한 지식
* 웹 서비스/API 설계(REST, Swagger, Postman) 및 개발 능숙
우대사항
* Cloud 환경에서의 서비스 개발 및 운영 경험(AWS, Kubernetes)
* 비-트랜잭셔널 (Cassandra, DynamoDB)와 트랙잭션 (RDS, MySQL) 필요한 데이터 소스 활용 경험
* 대규모 데이터 처리 기술 활용 경험(EMR/Hadoop/Spark)
* Java/Kotlin/Python 등 고급 언어 개발 경험
* Kafka 등 분산형 메시징 플랫폼 개발 경험
디케이테크인(카카오자회사) - 카카오i 플랫폼 개발 및 운영(Python 개발)
주요 업무
* 음성 기반의 봇 제어를 위한 플랫폼의 기능 개발, 개선 및 유지보수
* 각 모듈 시스템 개선 및 신규 개발
* 새로운 기술 트렌드 연구 및 접목
* 효율적인 코드 작성 및 시스템 성능 향상
* 카카오 공동체 AI 기술 자산의 응용 및 적용
자격요건
* 상용 서비스 서버 개발 및 운영 경력 4년 이상
* Python 이해 및 프로젝트 수행 경험
* 인프라(서버, 네크워크, 프로토콜) 및 오픈 소스 기반 서버(WEB/WAS) 활용 및 이해도가 높은 분
* 웹 개발 및 서버 관리 경험 필수
* 구조적인 사고와 문제 해결 능력이 뛰어난 분
* 동료들과 지식을 함께 공유하고 성장을 지향하는 분
* 협업의 가치를 중시하고 커뮤니케이션에 어려움이 없는 분
우대사항
* 대화형 인터페이스 또는 AI 기술에 대한 이해와 경험
* Ruby on Rails 프로그래밍 언어 프로젝트 경험
* Redis, ElasticSearch, MySQL, Kibana, Kubernetes, Kafka 등 오픈소스 기반 설계/개발/운영 경험자
* Micro Service Architecture, 쿠버네티스 기반의 CI/CD 프로젝트 경험자
* 새로운 프로그래밍 언어나 플랫폼에 대해 도전적이고 유연한 개발자
* 개인화, 추천, 지식그래프, 챗봇 등 AI기술 보유 및 서비스 적용 경험자
* Kakao Developers API를 이용한 for Kako 연동 서비스 개발 경험자
* 생성형 AI에 관심이 많고, 기존 서비스와 접목에 흥미가 있는 분
* 효율적 개발을 추구하고 지속 가능한 시스템을 지향하는 분
주요 업무
* 실시간 대용량 트래픽을 안정적으로 받을 수 있는 분산 구조의 고성능 백엔드 서버 설계/개발 및 운영
* 실제 서비스 환경에서 발생하는 각종 오류나 장애상황을 빠르게 감지하고 투명하게 원인을 파악하고 수정할 수 있는 환경 구축
지원자격
* Linux 환경에서 Python, Scala, Java, Go 중 한 가지 이상의 언어로 개발이 가능한 분
* 자료구조, 알고리즘, 데이터베이스, 분산처리 등 컴퓨터 공학의 기초지식을 지니신 분
* 주도적으로 문제를 해결하고, 새로운 기술 도입에 거부감이 없으신 분
* 원활한 커뮤니케이션으로 동료들과 즐겁게 일할 수 있으신 분
우대사항
* 클라우드 환경(AWS, Azure, GCP)에서 업무 경험이 있으신 분
* 높은 품질의 소프트웨어 개발을 위한 방법론에 관심이 많은 분
* 시스템 아키텍쳐 설계 경험이 있으신 분
* 소프트웨어 개발팀을 리딩한 경험이 있으신 분
* Kubernetes 혹은 다른 컨테이너 기반의 서비스 개발 및 운영 경험이 있으신 분
주요 업무
* 메이플스토리 월드에서 사용할 서비스들의 설계 및 구현
* Kubernetes를 활용한 마이크로 서비스 개발
지원 자격
* C#, Java, Python 등을 활용하여 API 서비스 개발 경험이 있으신 분
* 네트워크 프로그래밍, 멀티 스레드 프로그래밍 경험이 있으신 분
* NoSQL(MongoDB, DynamicDB 등)에 대한 이해가 깊은 분
우대사항
* C#, ASP.Net Core를 능숙하게 사용하는 분
* 마이크로 서비스 개발 경험이 있으신 분
* 클라우드 서비스에 대해 깊이 이해하고 사용 경험이 있으신 분
* Kubernetes에 대한 이해가 깊고, 이를 활용하여 서비스 개발 경험이 있으신 분
주요 업무
[메시지 플랫폼]
* 다양한 서비스에서 발송하는 대용량 메시지(SMS, 알림톡, Push)를 안정적으로 전송하기 위한 시스템 개발 및 운영
* 메시지 발송에 대해 효율적이고 높은 신뢰성을 가질 수 있도록 노력
* 메시지 발송 정책 정의 및 관리 기능 개발
* 사내 서비스 확장에 따라 요구사항을 받고 플랫폼 기능 확장 지원
[실험 플랫폼(A/B 테스트 플랫폼)]
* 서비스 팀에서 피쳐 선택 시 다양한 옵션에서 데이터 기반으로 한 의사결정을 지원
* 우아한 형제들에 특화된 A/B 기능 개발 및 고도화
* A/B 테스트 실험 문화 확인 서포트
[백오피스]
* 전사 어드민 및 다양한 시스템의 사용자 권한 괸리 및 지원
* 인증 권한 관리를 효율적이고 생산적으로 할 수 있도록 기능 고도화
* 다양한 인증 및 권한 관리 방식을 제공하여 플랫폼을 확장
[그 외]
* 내/외부 API 형태로 데이터를 제공하는 개발자 센터 구축 및 운영
* 내부 서비스들이 공통적으로 사용할 수 있는 서비스를 확장 가능한 범용적인 시스템으로 만들어냄
지원 자격
* 서버 어플리케이션 설계, 개발, 운영 경험자로서 경력 5년 이상 혹은 준하는 경력 보유자
* 프로젝트 리딩, 오픈 및 3개월 이상 운영 경험
* Java/Kotlin을 이용해 Spring Framework 기반의 어플리케이션 개발 경험
* 클라우드 환경에서 서비스 개발 및 운영 경험
* 고가용성 확장 가능 시스템에 대한 고민을 하는 분
우대 사항
* 대량의 트래픽을 받는 상황에서 문제 해결 고민한 분
* React Front-end 개발 경험이 있는 분
* 품질 좋은 시스템과 코드를 만들기 위해 항상 노력 하는 분
* 동료와 커뮤니케이션을 즐기며 함께 성장하기를 원하는 분
공통으로 필요한 역량
백엔드 개발 언어 및 프레임워크 경험
기업이 운용하는 서비스에 따라 사용하는 개발 언어가 다양하지만 백엔드에서 사용되는 언어는 주로 Java, Kotlin, Python, Go, Scala, C# 등이 있다. 해당 언어에 따라 사용하는 프레임워크가 갈리는데 Java/Kotlin - Spring, C# - ASP.Net, Python - Django 등이 있다. 스파르타 코딩클럽은 Python - Django를 사용한 커리큘럼을 가지고 있는데 실제 언어와 프레임워크는 구조가 비슷한 부분이 많아 하나를 배우면 나머지는 익숙해지는 것이 어렵지 않다.
데이터베이스
백엔드 개발자는 SQL, NoSQL 등 데이터베이스 관련 언어에 대한 이해도가 기본적으로 있어야한다. SQL 관련 DBMS로는 SQL Sever, MySQL, Oracle, MariaDB 등이 있고 NoSQL 관련 DBMS로는 MongoDB, Apache Cassandra, Redis, DynamoDB 등이 있다. 예전에 비해 NoSQL 기술을 사용하여 서비스를 운영하는 기업이 많이 늘었다. 스파르타 코딩클럽에서는 MySQL를 사용한 RDBMS 관련 커리큘럼이 있으나, NoSQL 관련 기술은 커리큘럼 내에 있지는 않아 따로 기술에 대한 스터디가 필요하다.
클라우드 서비스
대부분의 백엔드 회사는 AWS, Azure, Google Cloud 등 클라우드 환경 서비스 개발 경험을 지원, 우대 조건 가지고 있다. 그만큼 클라우드 서비스를 이해하고 익숙해지는 것은 선택이 아닌 필수이다.
웹서비스/API 설계
REST, Swagger, Postman 등의 기술을 요구하는 회사가 많다. 커리큘럼상 DRF(Django REST Framework) 코스가 있으므로 해당 커리큘럼을 통해 REST에 대해 익숙해질 수 있을 듯 하다.
오픈소스 검색 및 분석 엔진
Elastic Search/Kibana, Kafka 등의 기술 사용을 우대사항으로 두는 기업이 많다. Elastic Search는 로그 분석, 모니터링, 검색 엔진, 실시간 분석 등 다양한 곳에 사용된다고 한다.
컨테이너 오케스트레이션 도구
Kubernetes, Docker Swarm, Amazon ECS 등이 있으며, 컨테이너화된 어플리케이션을 자동으로 배포, 확장, 관리하는 오픈소스 플랫폼이다. 일종의 CI/CD 역할을 하는 것 같은데 이외에도 다양한 기능이 있는 것 같다.
소프트 스킬
커뮤니케이션, 문제 해결 능력, 좋은 품질의 코드 생산 능력, 프로젝트 리딩 스킬 등 기술 스택 외의 업무 능력을 말한다. 정량화하기 힘들고 모호하지만, 소프트웨어 개발이 아직까지 '사람'이 하는 일이므로 반드시 갖춰할 중요한 역량이다.
집중적으로 기르고 싶은 역량
개발 언어 및 프레임워크
python을 사용한 코딩 테스트 준비로 pythonic한 코딩 스킬을 기르고자 한다. 그동안 C++을 주로 사용하다보니 python을 C++ 처럼 사용하는 경우가 많았는데 이는 앞으로 python을 사용하는데 있어 장해물이 되고 있다. python으로 코딩 테스트를 준비하여 pythonic한 코드로 알고리즘을 짤 수 있는 능력을 기르도록 한다.
웹 프레임워크로는 Django를 집중적으로 공부하여 웹서비스를 구현함에 있어 문제가 없는 수준까지 익숙해질 수 있도록 한다. 이후 커리큘럼에 있는 Open AI, LLaMA, DALL-E 등도 공부하여 웹서비스에 생성형 AI를 적용할 수 있도록 한다.
데이터베이스
RDMBS는 조금 경험이 있어 ERD를 사용한 테이블 설계 및 기본적인 CRUD SQL 작성은 가능한 상태이다. 다만 대규모 데이터가 저장되어 있는 DB를 관리해본 경험이 없어서 테이블 인덱싱, 쿼리 최적화 등 효율적인 RDBMS에 대한 경험은 많이 부족한 상황이다. 고급 SQL 기술에 대해서 학습한 후 실제 프로젝트에서 반영할 수 있도록 노력한다.
NoSQL 관련 DBMS는 경험이 아예 없는 상황이다. 관련 DBMS 하나를 사용하여 토이 프로젝트를 구축 및 배포해보는 것을 목표로 한다.
클라우드 서비스
베어메탈 서버 운영 경험은 있으나 AWS, Azure는 운영 및 서비스해본 경험이 전혀 없는 상황이다. 우선 AWS의 무료, 혹은 가장 기본적인 서버를 구독하여 웹 서비스를 올리는 것을 목표로한다. 부트캠프 측에서 클라우드 서비스 관련 지원을 해줄 지 여부는 확인이 필요할 것 같다.
오픈소스 검색 및 분석 엔진
Elastic Search를 사용한다. 기술적인 경험 및 이해도가 없는 상황이므로 토이 프로젝트 구축 및 배포를 1차 목표로 한다. 추후 실제 팀 프로젝트에서도 사용할 수 있을지 여부를 검토한다.
컨테이너 오케스트레이션 도구
Kubernetes를 사용하다. Elastic Search와 마찬가지로 토이 프로젝트 구축 및 배포를 1차 목표로 하며, 실제 팀 프로젝트 사용 여부를 검토한다.
소프트 스킬
github을 사용한 버전 관리 및 이슈트래킹에 대해 숙달될 수 있도록 한다. git을 팀프로젝트에서 처음 써보는만큼 branch 전략 및 배포 프로세스에 대해 익숙해질 수 있도록 한다. 이 외에도 협업에 필요한 slack, notion 등의 툴도 적극적으로 사용해보도록 하며, 학습한 내용 . 및 개발 회고록 등을 블로그에 포스팅하여 기록하는 습관을 갖도록 한다.
'스파르타_부트캠프 > TIL' 카테고리의 다른 글
240219-240225 TIL (0) | 2024.02.18 |
---|---|
240213-240218 TIL (2) | 2024.02.13 |
비슷한 직무 JD 분석 (0) | 2024.01.22 |
스파르타 부트캠프 Daily TIL 제출 로그 (0) | 2024.01.18 |
스파르타 내일배움캠프 스타터 노트 (1) | 2024.01.09 |