한국에서 끝낼 거야? 영어로 세계 시장을 뚫어라! 🌍🚀
안녕하세요. UC Berkeley에서 💻 컴퓨터 공학(EECS)을 전공하고, 실리콘 밸리에서 15년 이상을 소프트웨어 엔지니어로 일해왔으며, 현재는 실리콘밸리 빅테크 본사에서 빅데이터와 DevOps를 다루는 Staff Software Engineer로 있습니다.
🧭 실리콘 밸리의 혁신 현장에서 직접 배운 기술과 노하우를 온라인 강의를 통해 이제 여러분과 함께 나누고자 합니다.
🚀 기술 혁신의 최전선에서 배우고 성장해 온 저와 함께, 여러분도 글로벌 무대에서 경쟁할 수 있는 역량을 키워보세요!
🫡 똑똑하지는 않지만, 포기하지 않고 꾸준히 하면 뭐든지 이룰수 있다는 점을 꼭 말씀드리고 싶습니다. 항상 좋은 자료로 옆에서 도움을 드리겠습니다
직무 데이터 엔지니어 / SRE / DevOps / Architect
경력 15년+
현직 실리콘밸리 빅테크
미국 취업 성공기
처음 미국 땅을 밟던 날의 설렘과 불안함이 여전히 생생하게 떠오릅니다! 기대와 흥분도 잠시, 과연 이 곳에 내가 발을 디디고 일할 수 있는 곳이 있을까 두렵기도 했는데요. 책을 읽고 격려의 말을 메모장에 적으며 매일을 견뎠답니다.

어느덧, 저는 실리콘밸리 빅테크에서 매일 34B의 이벤트를 처리하고, 10PB 이상의 데이터를 다루고, 100TB 메모리를 활용하는 거대한 데이터 팀에서 일하고 있습니다. 새로운 도전과 난해한 문제를 끊임없이 마주하지만, 누구보다 민첩하게 신기술을 개발하고 실무에 적용하는 멋진 동료들과 덕분에 정말 즐겁게 업무에 임할 수 있습니다.
그 밖에도 취미로 유튜브/인프런을 통해 빅데이터 및 DevOps/SRE(Site Realiability Engineer) 관련 기술 강의를 제작하며, 각 레벨에서 필요한 지식을 전달하며 함께 성장하는 즐거움으로 일상을 채웁니다.
멘토링 카테고리

제 전문분야인 데이터 엔지니어링과 DevOps을 중심으로 멘토링을 진행합니다. 주로 취업/이직/유학을 많이들 물어보시는데, 사실 이 모든 커리어 전환의 핵심은 각 포지션의 최소~최대 요구조건이 무엇이냐에 달려있습니다.
대략적 가이드라인을 드리면 아래와 같습니다.
- 취업/이직: 현재 기술 실력, 경험, 이력서, 취업이나 이직의 목적
- 유학전략: 나이, 전공, 가고자 하는 대학, 집안의 서포트
막연함 대신 전략과 노하우가 연봉상승의 핵심
충분히 실력과 가능성이 있는 분들이 무엇부터 시작해야 하는지 막연함을 느끼며 아까운 시간만 보낼 때, 적절한 멘토링이 원하는 방향을 찾고 나아가는 추진력이 되는 것을 보았습니다.
현지에서 실제로 취업/이직을 하며 여기까지 오며 쌓은 경험와 노하우, 다양한 동료에게 들은 성공담과 전략을 공유하고, 해외 취업을 위한 용기를 드리려 합니다.
연봉에 대해 많이 물어보시는데, 지역마다 다르지만 실리콘밸리 기준 인턴(주니어) 초급 연봉은 대략 150,000불(1억 8천만원)정도입니다. 현재 제가 받는 연봉은 캘리포니아에서 충분히 자가를 구매할 수 있는 정도라고 보시면 됩니다. 조금만 자랑을 하자면, 집 근처에는 고 스티브잡스의 집이 있고, 아침이면 실리콘밸리를 이끄는 IT기업 리더들이 자전거를 타거나 커피 마시는 모습을 심심치않게 볼 수 있는 재밌는 동네입니다.
멘토링 방향 예시/소요시간
- 기술/커리어 상담
- 현재 기술 수준 파악 + 개인 목표를 위해 필요한 스킬/커리어 세팅 및 전략과 실제 사례 공유 (1시간)
- 시뮬레이션
- 코딩 테스트/피드백 (최소 1시간)
- 모의 영어 면접 (최소 1시간)
- 프로젝트 조언
- 비영리 목적 프로젝트/취업 포트폴리오에 대해서 방향이나 기술 조언 (최소 1시간)
- 기타 상담/조언
- 미국 취업 자체에 대해 아직 확신이 없고, 뭐부터 시작해야 할 지도 모르겠는 경우(최소 1시간)
- 전략과 방향성은 수립했지만 여전히 막막해서 격려가 필요하신 분(최소 1시간)
신청 방법/진행 방식
서로에게 주어진 짧으며 값비싼 시간을 최대한 유용하게 사용하고 싶습니다. 아래의 링크를 통해 멘토링을 작성하시고, 저에게 많은 것을 묻고 최대한의 것을 얻어가시길 바랍니다!
- 양식 작성 (https://forms.gle/XtgnETW2kxjeNUPS9)
- 확인 후 준비 과정 및 시간 조율
- 전달된 Google Meet으로 멘토링 진행
멘토 이력/강의
강의
로드맵
전체 3수강평
- 실리콘밸리 엔지니어와 함께하는 Apache Superset
게시글
질문&답변
섹션 10에 수업 자료 링크가 없네요
안녕하세요 이건희님,이 영상 섹션은 게시문입니다. 아무런 링크가 원래 없었는데 혹시 인프런에 문의해 보시겠어요? 불편을 드려 죄송합니다
- 0
- 2
- 15
질문&답변
postgres_loader DAG 에러
안녕하세요 김현지님,보충 영상 자료 설명과 함께 올려 놓았습니다.불편을 드려 죄송하고, 질문해 주셔서 감사합니다(사진)!
- 1
- 3
- 22
질문&답변
postgres_loader DAG 에러
안녕하세요 김현지님,이 예제는 PostgreSQL이 Docker에서 돌고 있기 때문에 Airflow도 Docker로 돌리시면 액세스를 하실 수가 없습니다.강의 중에 Apache Airflow 설치하기 보시면 제가 두가지 사용법을 가르쳐 드렸는데, 여기서는 Standalone 모드를 사용해서 Airflow를 시작하셔야지 PostgreSQL을 액세스 하실 수 있습니다. 혼동을 드려 죄송합니다. 제가 따로 영상을 올리겠습니다. (사진)(사진)
- 1
- 3
- 22
질문&답변
Replit UI가 업데이트 되서 강의 진행이 멈췄어요
안녕하세요 admin님,기존 답변에 말씀드린대로, 업데이트 동영상 올려놨으니 필요하시면 확인해 보시면 좋을 듯 합니다."[업데이트] 파이썬 패키지 인스톨하는 방법" 감사합니다.
- 2
- 3
- 58
질문&답변
Replit UI가 업데이트 되서 강의 진행이 멈췄어요
안녕하세요 admin님,레플릿이 많이 바껴서 어려움을 드려 죄송합니다. 이부분은 제가 동영상으로 다시 올려서 말씀드리도록 하겠습니다. Python 패키지를 인스톨하시는 방법은 다음과 같습니다. 일단 위의 + 버튼을 누르세요(사진) 다음은 developer를 누르세요(사진) 그리고 imports를 누르세요(사진)그리고 Add new package를 누르세요(사진) 그 다음은 필요하신 패키지를 인스톨하세요(사진) 그러면 다음과 같이 사용하실 수 있습니다.(사진) (사진) 마지막으로 질문 남겨주셔서 감사합니다!
- 2
- 3
- 58
질문&답변
쇼츠 관련 질문
안녕하세요 JE님,쇼츠는 중요한 거 재미있게 한번 휘리릭 보시라고 올려놔서 선택사항입니다. 모든 내용은 뒷부분 본강의 기초강의에서 다시 나옵니다 ㅎㅎㅎ
- 0
- 1
- 20
질문&답변
S3 폴더 구조에 따른 Static Partition Pruning, DPP 질문
안녕하세요 sgjeong1108님,Dynamic Partition Pruning(DPP)이 제대로 동작하려면 스파크가 "파티션 컬럼 -> 디렉터리 위치" 매핑을 메타데이터로 알고 있어야 합니다.이 매핑을 알리는 일반적인 방법이 말씀하신 Hive-style 디렉터리(col=value/…) 이고, 이 경우 메타스토어가 없어도(그냥 spark.read.parquet만 해도) 자동 "파티션 디스커버리"가 됩니다근데, Hive-style이 아니어도 됩니다. 다만 그 경우엔 메타스토어(또는 Delta/Iceberg 카탈로그) 에 파티션을 등록해 스파크가 매핑을 알게 해줘야 SPP/DPP가 작동합니다만약 디렉토리가 /year=2024/data.parquet라면 다음과 같이 하시면 됩니다.df.write .partitionBy("year") .mode("overwrite") .parquet("/path/to/data")그게 아니라면 location을 사용하시면 됩니다.CREATE EXTERNAL TABLE events ( user_id BIGINT, ts TIMESTAMP, ... ) PARTITIONED BY (year INT) STORED AS PARQUET LOCATION 's3://bucket/events'; -- 이거는 상위 루트 -- 폴더명이 'year=2024'가 아니어도 되요 ALTER TABLE events ADD PARTITION (year=2024) LOCATION 's3://bucket/events/2024'; ALTER TABLE events ADD PARTITION (year=2025) LOCATION 's3://bucket/events/2025';
- 0
- 2
- 27
질문&답변
Top Queue Interview Questions 질문
안녕하세요 이시우님,수강생님의 생각이 아주 좋습니다. "물리적으로 큐처럼 만드는 건 어렵다"는 부분은 정확해요.다만, 스택 두 개를 통해 논리적으로 큐의 동작을 흉내낼 수 있다는 점이 핵심이에요.즉, 구현 관점에서는 완전히 가능하며 실제로 자주 사용되는 인터뷰 문제이기도 합니다.
- 0
- 1
- 21
질문&답변
Queue 강의를 듣고 난 후에 대한 질의
안녕하세요 김제원님,좋은 질문들이 많네요.큐를 지정할 때는 무조건 큐의 이름을 지정해 줘야 하나요? 자동으로 비어 있는 woker에 큐를 할당하는 방법은 없나요?=> 꼭 지정할 필요는 없습니다.. BaseOperator(queue="...")를 지정하지 않으면 기본값(default) 큐로 갑니다. Airflow/Celery 설정의 default_queue를 바꾸면 기본 큐 이름을 바꿀 수 있어요.=> “빈 워커”로의 자동 배정은 큐 단위로만 이뤄집니다. Celery는 “같은 큐를 구독하는(worker -q) 워커들” 사이에서 작업을 분배합니다. “현재 가장 한가한 워커를 자동으로 찾아서” 같은 기능은 같은 큐를 공유할 때에만 자연스럽게 일어납니다(라운드로빈+prefetch 수준). cpu_intensive라는 woker에 여러개의 큐가 동시에 요청이 왔을 경우 동기적으로 처리하나요?=> 동기적이라는 말이.. 직렬 처리를 말씀 하시는 건가요? Celery 워커는 기본적으로 worker_concurrency(프로세스/스레드 수)만큼 병렬로 처리합니다. 한 워커가 여러 큐(-q cpu,gpu,io)를 구독하면 각 큐에서 들어온 작업을 하나의 작업 대기열로 합쳐 자신의 동시성만큼 병렬 실행해요. 직렬 처리를 원하신다면, 그 워커를 worker_concurrency=1로 세팅하시면 될 겁니다. 큐를 생성하면 해당 큐의 물리적 자원은 어떻게 할당 되는 것인가요?=> 큐는 "논리적 라우팅 키"일 뿐, 자원을 직접 할당하지 않습니다. 자원은 Worker에서 알아서 합니다.. 워커 프로세스 수(concurrency), 머신 vCPU/RAM, 컨테이너 리소스 제한(요청/제한), 쿠베라면 노드/네임스페이스 등에서 결정됩니다. 대체로 하나의 DAG에서 강의에 예시와 같이 여러 개의 큐를 사용하는 경우가 있을까요?=> 가능은 하지만, 너무 많이 하나로 넣는 것은 추천드리지 않습니다.. 일반적으로는 “리소스 클래스별” 소수 큐로 충분합니다. 예를 들면 cpu_intensive, io_heavy, gpu, external_api 이런 식으로 말입니다. 워커를 많이 만들어 환경을 구성하는 사례는 어떤 사례가 있는지 알 수 있을까요?=> Work Load를 분리할 때 CPU 바운드/IO 바운드/GPU/대용량 메모리 작업을 서로 다른 워커 그룹으로 격리할 때가 있을 수 있겠고 ...멀티 테넌시/팀 분리가 필요할때 팀별 큐/워커로 나눠 소음(노이즈 네이버) 방지 및 운영 책임 분리를 원할때? 쯤이 있을 것 같습니다.
- 0
- 1
- 28
질문&답변
broadcast Join과 boradcast + UDF 차이
안녕하세요 sgjeong1108님,좋은 질문이네요. 일단 실행 계층 측면에서 봤을때, broadcast join은 JVM 내부에서 해시 조인, Whole-Stage Codegen 최적화를 가능하게 하지만 UDF + broadcast(파이썬 UDF)는 JVM와 Python를 계속 왕복해서 비효율적이며, 코드젠/컬럼너 실행도 비활성화되어있습니다.또한 broadcast join는 카탈리스트 최적화, 통계, AQE 활용 가능해서 대체로 빠른 반면에, UDF + broadcast는 필터,프루닝,프레디킷 푸시다운 등 대부분 막혀서 느립니다.결과적으로 기본은 항상 broadcast join로 설계를 하시되, Lookup 자체가 함수형 변환이어야 하거나, 외부 라이브러리를 꼭 써야 할때나... 조인으로 표현이 어려울 때는 UDF + broadcast를 사용하시면 됩니다.
- 0
- 2
- 26






