행궁동 데이터 엔지니어

반응형

 

교육, 대학원, 간접 업무경험(통신 장교) 등을 제외하면  2019년 3월부터 본격적으로 IT 직무로 일을 시작했고

이 글을 작성하는 시점에 딱 만 4년 차가 되었습니다.

 

돌아보면 프로젝트 단위로 업무를 하는 경우가 많아 기술적인 부분 보다 제안서, 보고서 작성등의 업무가 많았던 것 같습니다.

 

그래도 제안서와 보고서를 매력적으로 작성하는 상사, 데이터 분석과 제안을 기가 막히게 하는 상사 및 동료 들과 함께하며 저도 모르게 어깨너머로 여러 가지를 배운 거 같긴 합니다.

 

지금은 운 좋게 바라던 기술 중심의 일을 하고 있고 회사에 기술적으로 뛰어난 분들이 많습니다. (모두 저보다 뛰어납니다)

 

지금 기회를 잡아 기술적으로 배우고 데이터 기반 문화를 조성해 보겠습니다.

 

 

스킬 구분 1 스킬 구분 2 내용 현재 기대하는 수준(7월 말)
Hard 프로그래밍 언어 Python - 서비스에 필요한 기능을 개발 일정에 맞춰 개발할 수 있다.
- 다양한 자료형을 검색없이 능숙하게 개발에 활용할 수 있다.
-
Hard 프로그래밍 언어 Go - 운영중인 서비스 코드를 제한적으로 이해하고 수정할 수 있다.
- 자료형을 다룰 때 검색이 필요해 개발에 많은 시간이 걸린다.
- 서비스에 필요한 기능을 개발 일정에 맞춰 개발할 수 있다.
- 검색 없이 빠르게 개발할 수 있다.
Hard 프로그래밍 언어 JavaScript - 기본 문법을 짧게 공부한 적 있다.
- Vue: 기존 서비스의 화면을 수정할 수 있다.
- 서비스에 필요한 기능을 개발 일정에 맞춰 개발할 수 있다.
- 검색 없이 빠르게 개발할 수 있다.
Hard 프로그래밍 언어 TypeScript - TypeScript가 JavaScript에 기능을 추가한 상위집합(Supeset)인 것만 알고 있다. - 서비스에 필요한 기능을 개발 일정에 맞춰 개발할 수 있다.
- 검색 없이 빠르게 개발할 수 있다.
Hard 컴퓨터 기본 HTML / CSS - 기본 문법을 짧게 공부한적 있다.
- 블록, 인라인태그 class, id 등은 이해하고 있다.
- 프론트를 디테일하게 조작할 수 있다.
Hard 데이터베이스 RDB - 인덱스를 고려해 Raw 쿼리나 ORM 코드를 작성하고 트랜잭션이 필요한 상황에 대해 이해하고 있다.
- 운영 환경에서 제한적으로 기능 추가를 위한 테이블을 모델링하고 Migration 할 수 있다 (5개 이하 테이블 추가).
- 실행 계획을 확인하고 개선점을 도출할 수 있다 (이론적으로, 실제 운영 환경에서의 튜닝 경험은 거의 없음).
- DBMS 정보를 담고 있는 시스템 View들이 있는 것을 알고 있다.
- 운영 환경에서 기능 추가를 위해 테이블을 모델링할 수 있다.
- 운영 환경의 쿼리를 개선할 수 있다.
Hard 데이터베이스 NoSQL - 제한적인 CRUD 작업을 할 수 있다.
- ElasticSearch를 검색에 활용하는 이유를 아직 모른다.
- NoSQL을 서비스에 제한적으로 활용할 수 있다.
- ElasticSearch를 검색에 활용하는 이유를 이해한다.
Hard 데이터 엔지니어링 배치 파이프라인 - 프로젝트 구조를 만들어 DAG에서 사용할 Configuration, 클래스, 함수 등을 준비하고 선/후행 관계가 있는 DAG를 구성할 수 있다.
- Task별 Alert을 설정하고 문제 발생 시 대응할 수 있다.
-
Hard 데이터 엔지니어링 실시간 파이프라인 - CDC, Pub/Sub 또는 메시징큐의 조합으로 실시간 파이프라인을 구성하는 경우가 많다는 것은 알고 있다.
- AWS DMS로 CDC 작업을 구성해본적 있다.
- Kafaka(MSK)를 서비스에 제한적으로 활용할 수 있다.
(컨슈머 개발)
Hard 데이터 엔지니어링 데이터 가공 - SQL을 활용해 데이터를 능숙하게 가공할 수 있다.
- Window Function 종류는 필요 시 검색해서 사용한다.
- Glue를 활용해 Spark Job을 만들어본적 있다.
-
Hard 데이터 활용 데이터 분석 / 머신러닝 - 통계 분석 기법과, 머신러닝 과정을 이해할 수 있다.
- 분석과 모델링에 적합한 데이터를 준비할 수 있다.
- 필요 시 데이터 분석과 모델링을 제한적으로 할 수 있다.
- 클라우드 서비스 운영 최적화 (Aurora DB Scale Up/Down)를 위한 분석을 하고 적용한다.
Hard 데이터 활용 데이터 시각화 - 시각화를 위한 반정규화 테이블을 설계하고 활용할 수 있다.
- 데이터를 필요로하는 사람의 상황을 고려해 적절한 데이터를 제공할 수 있다.
- BI 툴에서 사용하기 편한 데이터를 만들 수 있다.
- 백오피스에 주요 대시보드를 연동한다.
Hard 데이터 수집 고객행동 데이터 수집 - 구글태그매니저와 구글애널리틱스를 활용해 고객 유입, 행동 이벤트 등을 수집할 수 있다.
- 프론트/백엔드 코드에 제한적으로 트래킹을 위한 이벤트를 추가할 수 있다.
- 광고플랫폼의 Pixel과 제한적으로 데이터를 연동할 수 있다.
-
Hard IDE VSCode - VSCode의 단축키를 제한적으로 활용할 수 있다.
- 편집기로 Vim 익스텐션을 사용하며 제한적인 기능을 사용한다.
- VScode와 Vim 단축키를 능숙하게 활용할 수 있다.
Hard IDE DataGrip - DataGrip의 단축키를 제한적으로 활용할 수 있다.
- 다중 커서 단축키를 계속 잊어버린다.
- 실행계획을 IDE에서 지원하는 기능이 아닌 스크립트로 보고있다.
- DataGrip의 단축키와, 실행계획 기능을 능숙하게 활용 할 수 있다.
Hard 인프라 Linux - Debian, Redhat 계열 배포판을 다룰 수 있다.
- 기본 명령어와 디렉토리 구조를 숙지하고 필요 시 서버 환경설정을 할 수 있다.
- 제한적이지만 Shell 스크립트를 작성할 수 있다.
-
Hard 인프라 Network - IPv4의 Publict, Private Network, 서브넷팅을 이해하고 있다.
- OSI 7 계층, TCP / IP 4 계층에 대해 알고 있다.
-
Hard 인프라 Docker - Docker 빌드와 Docker Compose를 통한 다중 컨테이너 활용을 제한적으로 할 수 있다. -
Hard 인프라 K8S - K8S를 사용하는 이유를 알고 있다.
- ArgoCD를 접속해서 배포를 확인하고 있다.
- K8S Pod의 Limit, Scale Out 설정을 할 수 있다.
- K8S를 상태를 모니터링 할 수 있다.
Hard 인프라 DataDog - APM, Log 메뉴에서 제한적으로 로그를 검색할 수 있다. - DataDog으로 능숙하게 로그를 검색하고 분석할 수 있다.
- DataDog에 Alert 설정을 추가할 수 있다.
Hard 인프라 Cloud - AWS의 다양한 서비스는 조금씩 활용해봤다.
- 권한 관리, 보안 그룹 등을 알고 있다.
- VPC 내부의 다른 서브넷간의 통신을 연결하는 것은 해본적 없다.
- VPC 내부의 다른 서브넷간의 통신을 연결할 수 있다.
Soft - 커뮤니케이션 - 한국어로 데이터 수요자, 기획자, 개발자, 고객과 소통할 수 있다.
- 영어로는 사전 논의 주제가 명확하지 않으면 소통이 제한된다.
- 상대방이 영어로 말하는 것을 이해할 수 있다.
Soft - 문화 조성 - 회사에서 추구하는 방향에 맞게 행동한다. - 데이터를 활용하는 문화를 만들기 위해 쉽게 사용할 수 있는 데이터마트 데이터를 제공한다.
Soft - 일정 계산 - 경험해본 업무의 일정은 계산할 수 있다.
- 경험하지 못한 업무의 일정을 실제보다 짧게 예측한다.
 
Soft - 의사 결정 - 같은 업무를 공유하는 팀 내부에서의 의사결정에 참여했다.  
Soft - 지식 공유 - 문서화 및 공유에 적극적이다. - 데이터 처리 및 추출에 대한 문서를 정리해 공유 한다.
- 대시보드 활용방법 문서를 공유한다.
Soft - 멘토/멘티 - 멘토에게 모르는 것을 질문하고 도움을 요청하는 것이 익숙하지 않다.
'- 질문을 받으면 정성껏 답변한다.
- 개인적으로 또는 슬랙채널에 모르는 것을 적극적으로 물어보고 도움을 요청한다.
반응형

이 글을 공유합시다

facebook twitter kakaoTalk kakaostory naver band