전체 글 64

개인 개발자와 프로페셔널 개발자의 차이

나는 이천 여 사용자를 대상으로 하는 받아쓰기(speech-to-text) 도구를 여러 라이브러리를 조합해 혼자서 만들었고 사내에 서비스 했었으며, 이 경력을 토대로 채용 면접관들의 많은 의심을 뚫고 수천만 명을 서비스 대상으로 하는 국내 굴지의 IT 서비스 회사의 머신러닝 엔지니어로 취직했었다. 여기서 나는 두 개 부서, 총 3개 팀을 거치면서 여러가지 기술과 업무방식을 배울 수 있었다. 최근에는 핀테크 회사에 데이터 사이언티스트로 이직했으나 여기서는 업무 범위에 제한이 더 적어, 나의 경험과 흥미에 따라 머신러닝 엔지니어로서의 역할을 많이 하게 될 것 같다. 약 1년 반이 조금 넘는 시간 동안의 내 경험을 회고해 보면서 내가 개인 개발자로서 일할 때와 달리 대규모 서비스를 하게 되는 조직에서 엔지니어..

IT in General 2024.09.04

영어가 밥은 안 먹여줘도

영어가 밥은 안 먹여줘도 상당한 비용은 절약해 줄 수 있다.첫째, 지식이 물 건너오면 몇 배 비싸진다. 패**캠** 등에서 제공하는 강의 내용이 원래는 유데미나 코세라 등에서 훨씬 저렴하게 제공되고 있다는 불평을 듣곤 한다. 한국어만 사용하고 있다는 이유로 인해 단지 번역과 재편집을 해서 한국어 화자가 전달해 주는 내용을 (유튜브에는 무료로 풀렸을 수 있는) 몇 배나 십수배에 해당하는 돈을 주고 들어야 하는 것이다. 영어를 잘한다면 그럴 일이 없는데 말이다.둘째, 원서로 보면 쉬운 개념도 번역해 놓고 보면 너무 어려워진다. 영어는 쉽고도 맥락에 맞는 단어로 개념을 정의하기에, 원어 자체로 보면 이해하기에도 기억하기에도 쉽고 이를 유사 개념에 대해 확장해서 이해하기도 쉽다. 하지만 이를 한자 혹은 한글로 ..

Soft Talks 2024.08.04

연습 면접

면접 과정을 통해 실제 기업이 물어보는 질문을 듣고 합격/불합격을 통해 피드백을 들어 발전을 하라는 말들을 한다. 하지만 면접 자체가 있다는 것 때문에 아무래도 스트레스가 있게 된다. 원래 입사 생각도 하지 않던 기업과의 면접 과정에서는 떨어지게 되면 역시 기분이 나쁘고 붙게 되면 그걸 거절하는 과정 자체도 마음이 안좋게 된다. 그러나 그런 과정 자체는 어디에서도 살 수 없는 경험이기 때문에 수업료라고 생각해야 할 것 같다. 그리고 혹시나해서 본 면접이 잘 되어 합격과 처우 제시를 받고, 인터뷰 과정에서 질문을 하다 보니 내가 해당 직무와 기업에 대해 알게 되면서 해당 포지션에 가고 싶은 마음이 생길 수 있다. 이 점을 잘 알기에, 기업에서도 구직자가 이 직무를 진심으로 원하지 않는 모습이 조금이라도 보..

카테고리 없음 2024.07.06

스카웃 제의

흔히들 굴지의 기업이나 학교 등으로부터 자신이 '스카웃 제의'를 받았다고 말하는 경우, 청자가 화자에게 몇가지 할 수 있는 확인성 질문이 있다.헤드헌터가 연락한 건가요? 아님 HR이 했나요? 아니면 해당 팀에서 했나요?헤드헌터는 거칠게 말해 1건 성사시 1년 연봉의 몇 %를 보상으로 받기 때문에 저인망식으로 기업의 눈높이와 다른 사람에게도 연락을 엄청 많이 뿌린다. 그래서 링트인에 프로필 있는 사람이라면 헤헌한테 연락을 심심지 않게 받게 된다. 그러나 그 뒤로 많은 단계가 남아있기 때문에 그 자체로 스카웃 제의라고 말할 수는 없다. 헛다리를 짚는 경우가 상당히 많음을 경험적으로 알고 있다. 그래선지 요새는 채용하는 회사의 HR이 직접 연락을 돌리는 경우가 더 많은 것 같다.HR이 직접 했다면 그래도 이력..

Soft Talks 2024.06.29

Immutable vs mutable

파이썬을 처음 접할때 Immutable과 mutable 객체가 있다는 것을 배운다. 그리고 그에 해당하는 것을 기억하면서, 무슨 자료형은 '바꿀 수 없다'고 기억한다. 예를 들어 string은 immutable, list는 mutable 이런 식이다. 그런데 그 효과를 정확히 알지 않으면 상당한 시간을 디버깅 하느라 낭비할 수 있다. 정리해본다. 만약에 "".join(L1) 이렇게 한다고 할 때와 L1.extend(L2) 할 때 큰 차이가 무엇일까. 전자는 새 string 객체가 리턴되지만, 후자는 None이 리턴된다. 따라서, 저 결과를 무언가에 append 하고 싶다면 전자는 그냥 저 식을 argument로 넣지만(오히려 .copy() 가 안됨), 후자는 저 식을 실행한 후의 L1을 argument ..

[rap] drop the table

빡센 곳에 batch 되었지 매일 데이터 뽑느라 속이 DB지는 jira 추운 겨울에도 난 outer를 벗었지 아침 10시 이제 사무실로 join left, right, inner 이리저리 붙여봐도 내 삶의 key는 보이지 않지 겨우 한달도 안됐는데 일은 이제 double 벌써 세 번째 check-in 활자 위로 float하는 나의 삶 정체를 드러내는 사무실 빌런, 이건 또 merge? bit자루로 쓸어 버리고 싶은 너 어차피 너도 모르면서 틀린 code 훈수랍시고 두는 너 하지만 일은 결국 내가 해야 하는 거지? 이런 boolean ack 조건을 이기고 매일 py가 나고 spark가 튀어도 퇴근하고 집에 가면 가을에 yaml어가는 열매처럼 커가는 나의 json이 날 보며 bash sh 웃으면 어느새 맘속..

Soft Talks 2023.09.23

github 01: PR 날린데에 다시 commit하기

branch를 따서 작업하고 PR을 날린 다음에, 피드백이 오던지 아니면 내가 문제를 발견해서 commi을 하려고 할 때, 이미 그 사이에 원 레포(origin)에 다른 머지가 생겨서 이미 내가 최초에 branch를 따왔을 때 보다 origin이 앞으로 나가 있을 상황이 있다. 이 때 해결방법을 따라할 수 있도록 살펴보자. feature/jira-123 $ git branch -v 먼저 브랜치를 확인했다. 그랬더니 메인 브랜치 이름이 main 이더라. 예전에는 기본값이 master였다고 하는데 요즘은 main이 기본값이라고 한다. feature/jira-123 $ git checkout main error: 다음 파일의 로컬 변경 사항을 체크아웃 때문에 덮어 쓰게 됩니다: my/file.py 브랜치를 전..

IT in General/OS 2023.09.21

요새 삶

일이 너무 바쁘고 어렵지만 그런 상황을 받아들이고 꾸준히 개선하는 것을 목표로 삼고 있다. 아침에는 주 3회 운동 후에 문제를 1-2개 풀고 출근하며, 퇴근후에는 아이 보고 집안 일 하고 나서 필요하면 야근하고 아니면 문제 1개 정도 풀고 일찍 자려 노력하고 있다. 1개 풀면 방전이라 더는 머리를 부여잡고 풀려고 해봐야 비효율이고 그냥 일찍 자고 아침에 일찍 일어나서 운동을 일찍 갔다 문제를 푸는 걸 하는게 낫다고 본다. 주말엔 애 보고 집안 행사 하고 정리하느라 시간이 훌쩍 간다. 힘들다. 그래서 월요병이 심하기는 하지만 유연근무제의 힘을 빌어 체력과 지력을 최적화하고 있다. 오히려 공기업에서 처럼 졸리든 어쩌든 9-6만 버티면 퇴근 가능한 삶이 쉬운 것이었다는 생각이 들면서... 낮에는 동료들과 티타..

Soft Talks 2023.09.20