행궁동 데이터 엔지니어

반응형

지난번에 이어 2분기 엔지니어로서 키우고 싶은 역량들을 업데이트해봤습니다.

이번 2분기를 요약하면 크게 3가지 역량을 키우는데 집중할 것 같습니다.

 

출처: https://www.shutterstock.com/ko/image-vector/red-dart-hit-center-dartboard-arrow-2022644729

1. 개발 역량

- Go, Javascript를 활용해 지금보다 능숙하고 빠르게 서비스 유지보수 / 개발 및 백오피스 개선

(이번 분기에는 필요시 기존 코드들을 정리, 삭제, 재구성하는 업무도 있을 것 같습니다)

- RDB 성능 개선 (서비스 코드 개선, 캐싱, Index, 테이블 구조 개선 등)

- 생산성 증대를 위한 IDE, 크롬 개발자도구 익숙해지기 및 Mac 추가 환경세팅

 

2. 데이터

- 마케팅, 재무팀 또는 다른 회사 구성원들이 궁금해하거나 흥미로워할 정보를 쉽게 잘 제공하기

(Slack + Lambda 구성으로 제공해보려고 합니다)

- 쉽게 데이터를 활용할 수 있도록 Document, 데이터 마트 만들기

- Datadog 주요 모니터링 지표 잘 활용하고 가능하다면 파생 지표나 대시보드 추가하기

- 상품 카테고리 매핑 모델 개발 (가능한 심플하고 빠르게)

 

3. 소프트 스킬 

- 회사분들에게 모르는 것 적극적으로 잘 물어보기

- 현재 중요하고 필요한 일 잘 여쭤보며 일하기

- 현지팀에서 영어로 말하는 것 명확하게 이해할 수 있도록 리스닝 + 스피킹 공부하기

 

앞으로 2~4주 단위로 어떤 부분을 경험하게 되었는지 지속 업데이트 해보겠습니다.

 

감사합니다.

 

<표>

- 집중하려고 하는 부분은 굵게 처리해 봤습니다.

https://docs.google.com/spreadsheets/d/1r-go2oJ9C1zLZ-av9swjVak8OOlBW7a6LJJUhDS8Umg/edit#gid=542983381

스킬 구분 1 스킬 구분 2 내용 현재 기대하는 수준(7월 말) 1분기 23년 4월 23년 5월
Hard 프로그래밍 언어 Python - 서비스에 필요한 기능을 개발 일정에 맞춰 개발할 수 있다.
- 다양한 자료형을 검색없이 능숙하게 개발에 활용할 수 있다.
- - - -
Hard 프로그래밍 언어 Go - 운영중인 서비스 코드를 제한적으로 이해하고 수정할 수 있다.
- 자료형을 다룰 때 검색이 필요해 개발에 많은 시간이 걸린다.
- 서비스에 필요한 기능을 개발 일정에 맞춰 개발할 수 있다.
- 검색 없이 빠르게 개발할 수 있다.

1. donchanee님, 구글이 만든 Golang 기초, 인프런
2.
https://mentha2.tistory.com/283
1. 서비스 유지보수 및 신규 Feature 개발: 지속
2. Go 언어 책 1권
 
Hard 프로그래밍 언어 JavaScript - 기본 문법을 짧게 공부한 적 있다.
- Vue: 기존 서비스의 화면을 수정할 수 있다.
- 서비스에 필요한 기능을 개발 일정에 맞춰 개발할 수 있다.
- 검색 없이 빠르게 개발할 수 있다.
- 컴포넌트를 구성할 수 있다.
1. 이룸코딩, 자바스크립트 + CSS/HTML 무료강좌, https://www.youtube.com/watch?v=hcdyyzDQ2O8&t=8826s
2. 제로초님 Vue 강의 조금
1. 서비스 유지보수 및 신규 Feature 개발: 지속
2. Vue 책 1권 훑기 (Vue.js 입문)
- 디렉토리와 컴포넌트가 있는 Vue App을 한번 세팅해보고 싶음
- store, dispatch, props, mixin 등이 자주보이는데 아직 명확히 모르겠음
 
Hard 프로그래밍 언어 TypeScript - TypeScript가 JavaScript에 기능을 추가한 상위집합(Supeset)인 것만 알고 있다. - 현재 업무에서는 많이 다루지 않아 제외 -  
Hard 컴퓨터 기본 HTML / CSS / HTTP - 기본 문법을 짧게 공부한적 있다.
- 블록, 인라인태그 class, id 등은 이해하고 있다.
- CSS를 활용해 프론트를 디테일하게 조작할 수 있다. 1. DOM(Document Object Model), DOM API, 로컬 스토리지 등이 어떻게 활용되는지는 조금 알게 되었음
2. 김영한님, 모든 개발자를 위한 HTTP 웹 기본지식, 인프런 수강 완료
-  
Hard 데이터베이스 RDB - 인덱스를 고려해 Raw 쿼리나 ORM 코드를 작성하고 트랜잭션이 필요한 상황에 대해 이해하고 있다.
- 운영 환경에서 제한적으로 기능 추가를 위한 테이블을 모델링하고 Migration 할 수 있다 (5개 이하 테이블 추가).
- 실행 계획을 확인하고 개선점을 도출할 수 있다 (이론적으로, 실제 운영 환경에서의 튜닝 경험은 거의 없음).
- DBMS 정보를 담고 있는 시스템 View들이 있는 것을 알고 있다.
- 운영 환경에서 기능 추가를 위해 테이블을 모델링할 수 있다.
- 운영 환경의 쿼리를 개선할 수 있다.
1. https://mentha2.tistory.com/2782
2. 회사 서비스 Slow 쿼리 개선 업무 진행
1. 운영 환경 Slow 쿼리 개선
2. 사용하지 않는 Regacy 테이블 정리
1. 현재 Regacy 테이블의 컬럼이 많고 row 단위 용량이 커 조회 속도가 느린 경우가 있는데 가능하다면 정규화 진행
Hard 데이터베이스 NoSQL - 제한적인 CRUD 작업을 할 수 있다.
- ElasticSearch를 검색에 활용하는 이유를 아직 모른다.
- NoSQL을 서비스에 제한적으로 활용할 수 있다.
- ElasticSearch를 검색에 활용하는 이유를 이해한다.
1. 서비스 속도개선을 위해 Redis에 데이터를 캐싱하고 활용 해봄 -  
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 툴에서 사용하기 편한 데이터를 만들 수 있다.
- 백오피스에 주요 대시보드를 연동한다.
1. QuickSight 대시보드를 준비했음
2. 백오피스에 일부 연동
1. 마케팅, 재무 파트에서 바로 활용할 수 있도록 개선 및 홍보  
Hard 데이터 수집 고객행동 데이터 수집 - 구글태그매니저와 구글애널리틱스를 활용해 고객 유입, 행동 이벤트 등을 수집할 수 있다.
- 프론트/백엔드 코드에 제한적으로 트래킹을 위한 이벤트를 추가할 수 있다.
- 광고플랫폼의 Pixel과 제한적으로 데이터를 연동할 수 있다.
- 1. https://mentha2.tistory.com/282 -  
Hard IDE VSCode - VSCode의 단축키를 제한적으로 활용할 수 있다.
- 편집기로 Vim 익스텐션을 사용하며 제한적인 기능을 사용한다.
- VScode와 Vim 단축키를 능숙하게 활용할 수 있다. 1. 단축키 일부 학습
2. 다중 워크스페이스 등록 (00님 감사합니다)
1. 매주 어나더비 멤버분들과 단축키 공유  
Hard IDE DataGrip - DataGrip의 단축키를 제한적으로 활용할 수 있다.
- 다중 커서 단축키를 계속 잊어버린다.
- 실행계획을 IDE에서 지원하는 기능이 아닌 스크립트로 보고있다.
- DataGrip의 단축키와, 실행계획 기능을 능숙하게 활용 할 수 있다. - 1. 자주 사용하는 단축키 정리 1회  
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 설정을 추가할 수 있다.
1. 로그 확인이 이전보다는 익숙해짐 1. 테크 리더분이 만드신 대시보드, Alert 지속 확인
2. 경험을 늘리고 일부 개선 도전
 
Hard 인프라 Cloud - AWS의 다양한 서비스는 조금씩 활용해봤다.
- 권한 관리, 보안 그룹 등을 알고 있다.
- VPC 내부의 다른 서브넷간의 통신을 연결하는 것은 해본적 없다.
- VPC 내부의 다른 서브넷간의 통신을 연결할 수 있다.   -  
Soft - 커뮤니케이션 - 한국어로 데이터 수요자, 기획자, 개발자, 고객과 소통할 수 있다.
- 영어로는 사전 논의 주제가 명확하지 않으면 소통이 제한된다.
- 상대방이 영어로 말하는 것을 명확히 이해할 수 있다. - - 영어 익숙해질 방법 찾기
Soft - 문화 조성 - 회사에서 추구하는 방향에 맞게 행동한다. - 데이터를 활용하는 문화를 만들기 위해 쉽게 사용할 수 있는 데이터마트 데이터를 제공한다.
- 스터디 진행
1. 글또 데이터 활용 스터디 킥오프 만남 진행 1. 스터디를 진행하며 만들고 싶은 데이터 문화 정의하기
- 서비스 주요지표를 지속적으로 공유해서 보여주고 싶음 (Slack + Lambda)
 
Soft - 일정 계산 - 경험해본 업무의 일정은 계산할 수 있다.
- 경험하지 못한 업무의 일정을 실제보다 짧게 예측한다.
- - -  
Soft - 의사 결정 - 같은 업무를 공유하는 팀 내부에서의 의사결정에 참여했다. - - -  
Soft - 지식 공유 - 문서화 및 공유에 적극적이다. - 데이터 처리 및 추출에 대한 문서를 정리해 공유 한다.
- 대시보드 활용방법 문서를 공유한다.
1. 회사 Document에 꾸준히 작성 중 지속 작성  
Soft - 멘토/멘티 - 멘토에게 모르는 것을 질문하고 도움을 요청하는 것이 익숙하지 않다.
- 질문을 받으면 정성껏 답변한다.
- 개인적으로 또는 슬랙채널에 모르는 것을 적극적으로 물어보고 도움을 요청한다. 1. 회사 분들에게 물어보는 것이 많이 편해졌음
- 대면으로 마주치는 시간 증가, 팀 구성, 회사일을 계속하다보니 어떤 걸 물어봐야할지 조금은 알 것 같음
2. 아직 멘토 보다는 멘티 입장
1. 현재 중요하고 필요한일 잘 여쭤보며 일하기  

 

지난 번 작성했던 포스팅 (https://mentha2.tistory.com/284)

 

엔지니어로서 현재 역량 및 4개월 후 기대하는 모습

교육, 대학원, 간접 업무경험(통신 장교) 등을 제외하면 2019년 3월부터 본격적으로 IT 직무로 일을 시작했고 이 글을 작성하는 시점에 딱 만 4년 차가 되었습니다. 돌아보면 프로젝트 단위로 업무

mentha2.tistory.com

반응형

이 글을 공유합시다

facebook twitter kakaoTalk kakaostory naver band