popit 멘토링 데이 Review
개발자들의 글을 발행하는 서비스 popit에서 진행한 멘토링 데이를 다녀왔다. 2개의 타임 세션으로 나누어 진행된 이번 멘토링의 경우, 세션 별로 본인이 선택한 멘토 3분 중 1분을 랜덤으로 배정 받아 멘토링을 받는 방식으로 진행되었다. 나는 두 세션 모두 데이터 관련 멘토를 신청해서인지 모두 데이터 관련 멘토로 배정을 받아 멘토링 시간을 보내게 되었다.
윤xx 멘토님(Melon)
- Melon 빅데이터 팀 근무
- 프레임워크 개발 -> 빅데이터 엔지니어(Hadoop, HBase)
- 음악 추천 팀 using Ni-Fi
- 좋은 아키텍쳐를 사용할 수 있는 조건?
- 위에서 시켜주어야 한다!
- 정말로 시켜주었 때 수행할 수 있는 능력을 가지고 있어야 하기 때문에 결국 관련 공부를 계속 이어가야 함
- feedly 사용해서 공부 계속 이어나가는 것 추천(Get feeds from various sites)
- 이전에 내가 무엇을 공부해야하는지를 알아야 함
- 내가 가진 기술과 업계 동향을 수신받으며, 역량을 키워야 함
- 데이터 팀의 구성은 과학자 3명:분석가 10명 정도
- 600개의 자소서는 HR에서 걸러짐 -> 60개 자소서 넘어오면 결국 보는 것은 8개..
- 이후, 1차 테스트 -> 2차 면접
- 면접은 당장의 실력보다, 기술을 따라가고자 하는 의지를 보는 경우가 많음
- 회사에서 시간을 주어줄 때 학습할 수 있으면 됨
- +) 프로토콜, 알고리즘 등 개발자로서 평생 가져가야 하는 지식들도 잘 갖추고 있어야 함
- why NiFi?
- 기술 선택할 때는 그 시점에 가장 유행하는 기술을 사용하는 것이 좋음
- 실시간 데이터 수집에 NiFi 사용
- ETL을 모두 처리하는 NiFi
- Flume - Kafka - NiFi
- 각 에이전트에 Flume 사용
- 통계자들에게 넘기기 위해 원시코드 사용하기 보다는 SQL을 이용하는 편
- CDC: 데이터를 캡쳐 및 저장하는 기능(CRUD 모두 캡쳐)
- Query Table Capture
- Oozie로 data batch 역할 수행
- 오픈소스는 사용 상 문제가 생기면 소스 코드를 열어보는 수 밖에 없음
- 소스 코드를 이해할 수 있는 사람이 조직에 있어야 하는 이유
- 소스 코드를 이해할 수 없으면 해당 기술을 도입하면 안되는 것으로 간주해도 무방
- Open source는 version up을 잘 하지 않음
- Version up 하는데 1달 여의 시간이 드는데, 그에 비해 큰 효용 X
- 장애 발생 시 대체 컨텐츠 발생시키면 큰 문제가 없음
- Melon의 경우 Web log가 일 평균 4-50G 발생하는 수준
- 업무를 통한 실력의 향상을 추구하는 것이 주니어 때는 바람직함
- 빅데이터 라는 Terminology 사용하는 것도 중요
- 고객에게 팔리는 용어를 사용하는 것
- 본인의 경우 아티스트와 사용자의 ‘친밀도’ 시스템 도입하면서 멜론에 Hadoop 도입하게 됨
- 데이터에 분석에 대한 고객의 needs가 충분히 있었던 시점
- 데이터 엔지니어에게 Hadoop은 기본 중의 기본
- manual에 적힌 지식을 자신의 지식으로 소화하는 것이 중요(why this Option? / Working algorithm 등)
- 취업 이후에나 비즈니스 이해도를 갖추어야 함
- 이전까지는 Basic concepts에 대한 이해가 더 중요
- 데이터 엔지니어는 tensorflow에서 나온 output을 pipeline화하는 할 줄 알아야 함
홍xx 멘토님(SK)
- 바이오-인포매틱스: data로 질병 연구
- 인간 게놈 프로젝트: 무질병자와 질병자의 신체적 특성 비교(SMP)
- 한 사람 sequencing하면 대략 4TB의 데이터가 나옴
- 바이올로지는 system 만드는 것을 연구로 삼음
- J2EE에서 Spring으로 넘어가던 과도기 시절 웹 개발 시작
- Grid Computing / Parallel Computing 시대
- Network Management System으로 SK 시작
- 고객의 경험 품질을 지수화 시키는 프로젝트
- 큰 데이터를 다뤄본 경험이 중요!
- 1시간에 2천 억건의 데이터 발생 -> 하루 100TB
- +) 데이터웨어하우스: 나뿐만 아니라 다른 사람들도 데이터를 활용할 수 있는 환경을 구축하는 프로젝트
- 처음 빅데이터 플랫폼 시작은 바이올로지 논문 사이트에서의 검색
- Like search에서의 성능 향상을 위해 관심 가지게 됨
- 더그 커팅의 Lucene
- Lucene의 한글화 지원하도록 재컴파일 하는 wiki 작성
- 이후, Apache Nutch
- Hadoop은 삼성에서 적용하기 시작
- 오픈 소스의 활성화에 큰 기여를 한 Hadoop
- Storage 시장이 많이 바뀜
- Oracle과 같은 솔루션 기업이 아닌 오픈 소스의 활용이라는 결정으로 바뀌게 됨
- 순수 엔지니어로 성공하기 어려운 한국 사회
- SI기업들의 Man/Month -> 돈 깎기 싸움 -> 환경 악화
- 성공하기 위해서는 정말 실력이 좋거나 vs 10년 정도 같은 업무를 반복했거나
- 플랫폼에 쌓이는 데이터를 가지고 무언가를 만들고 싶어하는 현 시장
- 많은 회사에서 데이터 관련 부서를 관리하려는 경향 생김
- 앞으로도 데이터 시장은 오래 갈 트렌드인 것 같음
- SK의 Data Transformation 팀
- 부문 직속 팀일 정도로 높은 rank에 자리하는 data 팀
- 분산형 조직(Best) Data 관련 기획 팀 / Big data platform 팀 / data service 팀…
- cf) 기능형 조직은 필요로 할 때에만 채용하는 수준
- 도메인 전문가 + 데이터 엔지니어 + 데이터 분석가로 구성되어야 그나마 성공확률이 높아짐
- 도메인 전문가가 없으면, 나머지 둘은 무엇을 할 줄 모름
- 자기 영역에 먼저 전문가가 되고, 이후 다른 한 도메인을 잘 하는 정도로 공부해야 함
- 대개 분석으로 도메인 확장하나, 혹은 다른 한 쪽의 도메인 확장할 수도 있음
- 그 같은 전문가가 별로 없기 때문에 자기만의 장점을 갖출 수 있음
- 서비스를 IT를 잘 모르고 사용하는 사람들도 사용할 수 있도록 제공하면 인정 받고 역량이 성장됨
- 데이터에 대한 오너십을 가진 부서를 가진 곳을 가는 것이 개발자로서의 성장에 도움이 됨
- 데이터에 접근하는 것이 사실 더 어렵기 때문
- 학생 수준에서는 하나의 기술을 deep하게 파는 것이 아니라 다양한 기술을 공부해보는 것이 중요
- 그의 장단점을 볼 줄 아는 안목을 길러야 함