Q. 현기님 반갑습니다. 자기소개 부탁드려요.
A. 안녕하세요. 히츠 개발팀에서 MLOps를 담당하고 있는 홍현기라고 합니다. 저는 한양대학교 기계공학부를 졸업했고요. 원래는 로보틱스에 관심이 많았어요. 그래서 대학교 2학년 때부터 드론 컨트롤러 개발을 했고, 졸업 때는 IMU 센서를 이용한 모션 캡처 장치를 개발했죠. 근데 학부생 때다 보니까 하드웨어 사는 데엔 돈이 많이 들잖아요. 그래서 소프트웨어적으로 문제를 처리했어야 됐거든요. 그러다 보니까 프로그래밍에 많은 시간을 쏟게 됐고요. 무엇보다 저는 결과가 빨리 나오는 걸 좋아하는데 소프트웨어 개발은 Enter 한 번 누르면 결과가 나오잖아요. 그러다 보니까 소프트웨어 개발에 더 빠져들었던 것 같아요.
Q. 히츠에 합류한 이유는 무엇인가요?
A. 프리랜서 하면서 TPU를 이용한 개발을 한 적이 있거든요? 근데 TPU라는 게 하드웨어 제약이 심하다 보니까 단순한 모델을 바로 돌릴 수 없더라고요. 그러다 보니 '모델을 좀 알아야 내가 이걸 할 수 있겠다'라는 생각이 들어서 인공지능에 대해 공부하기 시작했어요. 그러다가 yolov4라는 파이썬 패키지를 개발하게 되었는데 그 패키지가 생각보다 사용자가 많았어요. 그래서 사용자 이슈 모니터링 및 처리를 하게되었고요. 더 나아가 모델 엔지니어링, 로스펑션 설계 등을 하면서 인공지능에 점점 더 빠져들게 되었죠. 그러던 찰나에 히츠를 알게 되었는데 히츠에서는 인공지능 모델을 적절히 활용하고 있다고 들었고, 저는 프로덕션 상황에서 인공지능에 대해 관심이 많았기 때문에 (히츠에) 합류하게 되었습니다.
Q. 출근 후 하루 일과가 궁금합니다.
A. 제 파트 특성상 여러 사람과 소통할 일이 많은데요. 출근하는 날에는 코드 리뷰 중 궁금했던 점이나 추가하고 싶은 신규 기능에 대한 제약사항 혹은 알고리즘에 대한 논의로 아침을 시작하는 것 같아요. 그 이후엔 개발팀 스프린트에 맞춰서 개발을 하고 있어요.
Q. 요즘 테스트 중인 기술 스택엔 어떤 게 있나요?
A. 클러스터 관련된 것만 말씀을 드리면 우선 Pulumi를 이용해서 EKS랑 AWS 인프라 관리를 하고요. 컨테이너 관련해서는 buildah, skopeo, ECR 이용해서 하고 있고 네트워크는 Istio랑 cloudflare, cert-manager 이용해서 처리하고 있어요. 모니터링 같은 경우에는 Grafana, Prometheus 이런 것들을 이용하고 있습니다. 가장 재미있게 하고 있는 건 Argo workflows랑 Argo events를 이용해 회사에서 진행되는 계산 파이프라인을 메시지 큐로 받고 처리하는 과정을 테스트하는 거예요.
Q. 개발이 주는 스트레스는 없나요?
A. 저는 취미 자체가 개발이에요. 물론 스트레스를 당연히 받죠. 근데 스트레스가 풀리는 것도 결국 개발이에요. 만약 A를 개발하다가 스트레스를 받게 되면 B라는 소프트웨어를 개발하면서 해결이 되잖아요. 소프트웨어라는 게 답이 빨리 나오니까. 그러면 다시 풀리지 않았던 문제로 돌아가서 그걸 해결함으로써 스트레스를 해소하는 것 같아요.
Q. 기술을 최신 상태로 유지하는 방법은?
A. 예전에는 단순히 라이브러리만 몇 개 알면 개발하는데 큰 문제가 없었거든요. 근데 요즘은 마이크로서비스라고 해서 비슷하면서도 많은 애플리케이션이 있더라고요. 그래서 관심이 가는 것들은 컨셉을 좀 읽어 보거나 튜토리얼을 따라하면서 테스트를 해보고 있고요. 튜토리얼을 읽다 보면 어떤 식으로 작동하는지 알 수 있잖아요. 그래서 그 작동 방법을 보고 '나는 어떻게 활용하면 좋겠다' 이런 것들을 고민합니다. 테스트가 끝났고 제가 관리할 수 있다고 생각하는 것들은 Github watch를 걸어서 릴리즈 될 때 마다 체인지로그를 읽으면서 업데이트를 하고 있죠. 실제 사용하는 것들 같은 경우에는 테스트를 하면서 버그 발생된 부분에 대해서 코드를 뜯어보고 또 프로젝트를 주도한 개발자들은 어떻게 개발하고 있는지 보면서 배우고 있습니다.
Q. 히츠 개발팀에서 사용 중인 기술 스택 소개 부탁드려요.
A. 제가 맡은 파트만 말씀드리면 우선 백엔드에서 오는 요청은 SQS를 통해 받고요. 메시지 파싱을 통해서 발생하는 Configuration 같은 경우는 Slurm scheduler에 넣어서 스케줄링 하고, AWS ParallelCluster 위에서 오토 스케일링 하고 있어요. 그 다음에 바이너리 같은 경우에는 용량이 워낙 크다보니까 EFS 위에 올려놓고요. 의존성 문제가 있기 때문에 Singularity 이미지로 감싸서 공용 PATH 위에 올려두는 식으로 처리하고 있습니다. 그 다음에 병렬 처리해야 하는 문제들이 가끔 있는데요. 그런 것들은 MPI를 이용해서 처리하고 있어요. 또 계산 파이프라인 후에 나오는 결과가 되게 많아요. 용량도 엄청 크고요. 그런 것들은 상황에 따라 EFS, S3, Dynamo DB로 나눠서 넣고 있고요. 개발 자체는 파이썬하고 Shell script를 가장 많이 쓰고 문서화는 Sphinx, Github, Github actions을 많이 사용하고 있습니다.
Q. 개발자로서 마음에 드는 히츠팀 문화는?
A. '동반 성장' 문화가 가장 마음에 들어요. 제가 프리랜서 하면서 동반 성장을 제창하는 회사를 많이 봤어요. 근데 개발자끼리 얘기하다 보면 실질적으로는 그렇지 않다고 말하더라고요. 저희 회사 같은 경우는 저만 봐도 지금까지 나열한 테스트가 제 사비로 하는 게 아니거든요? 다 회사에서 지원을 해줘요. 그렇게 할 수 있다는 건 개발자가 성장을 하면 회사도 같이 성장할 수 있다는 철학이 확고하게 박혀 있기 때문이라고 생각해요. 그러다 보니까 회사 일이 사실 회사 일이라기 보다 제가 하는 일이라고 느껴지고 일에 대한 만족도가 되게 높은 것 같아요.
Q. 앞으로 어떤 동료를 기다리시나요?
A. 저는 지금 히츠의 동료들과 비슷한 사람이 오면 좋을 것 같아요. 저희 동료들은 궁금한 게 생기면 바로 찾아보고 해결을 해야 직성이 풀리는 사람들이거든요. 그러다 보니까 종종 컴퓨터 관련 질문을 저에게 하시는 경우가 많은데요. 업무 관련 질문이면 제가 바로 답변해 드리겠지만, 그렇지 않은 경우에는 힌트를 알려드리거나 어디서 찾아봐야 하는지 알려드리거든요. 그러고 나면 감감무소식이에요. 그래서 제가 "그거 해결되셨나요?" 물어보면 직접 다 해결하셨고 또 그걸 궁금해 하는 주변 동료에게 알려주시더라고요. 무서운 점은 더 성장하셔서 더 어려운 문제를 들고 저에게 오세요. 그럼 저도 덩달아 공부하게 되는 편이고 그 덕에 성장을 더 빠르게 할 수 있는 것 같아요. 그래서 궁금한 점이 있으면 못 참는 분, 그런 분이 동료가 되었으면 좋겠습니다.
지금 히츠팀에 합류해 동반 성장 문화를 경험하세요.
히츠 채용 정보
www.rocketpunch.com
'Inside' 카테고리의 다른 글
해피히츠데이! 히츠팀이 창립 2주년을 축하하는 법 (0) | 2022.06.03 |
---|---|
[히친로그] 히츠 프론트엔드 개발자는 이렇게 일합니다. (0) | 2022.04.06 |
[채용 Q&A] 히츠 채용의 모든 것! (0) | 2022.01.20 |
[도전! K-스타트업 2021] 히츠팀 수상 인터뷰 (0) | 2021.12.22 |
새로운 동료를 위한 히츠팀 OT, 'Sketch day' 엿보기 (0) | 2021.12.15 |
댓글