점들이 모여 나중에 큰 그림이 된다는 말을 믿어요 – 창천향로 이동욱 2편

점들이 모여 나중에 큰 그림이 된다는 말을 믿어요 – 창천향로 이동욱 2편

Today We Learned #04
인프런이 만난 사람 – 개발자에게 듣다

점들이 모여 나중에 큰 그림이 된다는 말을 믿어요

– 창천향로 이동욱 2편

Q. 인프런 첫 강의, 왜 IntelliJ 인가요?

일단 IntelliJ 가 유튜브에서도 그렇고 한글로 된 자료가 많이 없다는 게 컸어요. 그리고 유데미에 비슷한 강의가 있는데 22만 원이거든요. 거기는 할인을 90프로씩 때리니까 실제로 들을 땐 2만 2천 원이지만.

스프링*은 한글 자료나 유튜브, 오프라인 강의도 많아요. 그리고 자바 스프링 인프런 무료 강의가 있더라고요. 그래서 무료 강의가 있으면 유료강의는 잘 안되겠다 싶었어요.
*스프링 프레임워크: 자바 플랫폼을 위한 오픈소스 어플리케이션 프레임워크

Java 개발툴은 이클립스에서 점점 Intellij로 넘어가고 있어요. 그리고 운영하는 커뮤니티도 관련이 있으니 홍보하기도 편했어요.


Intellij는 외국 사이트에서 평균적으로 3-4시간이면 만족도가 높았어요. 이 정도 퀄리티면 사람들이 만족하는구나, 첫 시작으로 이 정도면 괜찮겠다 싶었어요. 그런데 실제로 찍어보니 오래 걸렸어요.

편집 후 나온 분량은 3시간이었어요. 찍으면서 공짜로 풀까? 고민도 했어요. 돈 받겠다고 하기가 부끄러웠어요. 퀄리티도 자신할 수 없었어요. 편집 기술이 없어서 재채기 같은 잡음들만 잘라냈거든요. 사람들이 돈을 낼까라는 생각도 들고. 주변에서 이거 왜 유료로 올렸냐고 할거 같기도 하고, 별별 생각이 다 들었어요. 제작 진도는 느리고 퀄리티도 마음에 안 들다보니까.

하지만 공짜로 올려도 문제였어요. 왜냐면 그 다음부터 다른 분들이 인프런 같은데 강의를 안올릴 거 아니에요. 올려봤자 공짜면 누가 강의를 하겠어요.

예전에 굉장히 유명하신 분과 만나 스터디를 하고 밥을 먹은 적이 있어요. 그때 그분 말씀이 모회사에서 하는 150-200만원짜리 강의가 비싸다고 생각 안 한다고. 본인이었다면 4-500만 원이라도 자기보다 잘하는 사람의 노하우가 있다면 얻어올 거라고 얘기하시더라고요.

우리나라는 입시교육은 비싼데 자기 경력에 관련된 교육은 저렴하게 책정되어 있다고. 그래서 공짜로 하지 않을 거라고. 그 이야기가 생각이 났어요.

무얼 하든 수익이 나야 잘하는 분들이 강의를 올리겠구나, 사실 재야의 고수들이 있잖아요. 숨어있는 고수분들이 돈이 되는 걸 알아야 강의를 만들텐데 싶기도 하고요.

무료라면 그런 분들이 자기 시간내서 만들지 않을 테니까. 그래서 인프런의 모 지식공유자분이 4천만 원, 5천만 원 벌어가시는 게 사람들이 이거 괜찮겠다, 생각하게 만드는 좋은 사례인 것 같아요.

Q. 비전공자였어요. 어떤 지점에서 프로그래밍에 매력을 느끼셨나요?  

전기전자공학과였어요. 이쪽은 프로그래밍은 거의 안 하고 전자회로나 통신공학에 집중했어요. 그런데 제가 색약이라 적색이랑 녹색을 구분을 못해요. 전기전자공학에서 저항이라는 게 있어서 띠 색깔로 수치를 측정하고 회로를 만들어야 하는데 색깔 구분을 못하니 제대로 꽂을 수가 없었어요.

구별이 안되니까 몇 번 태워먹기도 하고 전공이 크게 마음에 들지도 않았어요. 그러다 3학년 때 소프트웨어공학 수업을 들었어요. 성적은 별로였는데 이건 노트북만 있으면 할 수 있겠다 싶어서 고민을 많이 했어요.

여기로 가야하나 확신이 없었으니까. 그땐 컴퓨터 공학 수업을 들으면 밑밥 깔아주는 역할이었거든요. 다 전공자이고 전 아무것도 모르는 상태였으니까요.

중소기업도 못 들어가면 어떻게 하지? 비전공, 지방대에 학점도 별로인 사람을 어느 회사에서 뽑지? 생각했어요. 그러다 4학년 1학기 끝나고 휴학하고 서울로 갔어요. 그리고 10월부터 2월까지 국비교육을 들으면서 전자공학보다는 맞는다고 느꼈어요. 당시에 전자공학을 공부하기로 마음먹고 장학금도 한번 받았지만 이 이상은 못하겠다 싶었거든요.

4개월 중 마지막 두 달은 학원에서 잤어요. 명절에도 당일 빼고는 안 내려갔어요. 잘 데가 없으니까 책상에서 맨날 잤어요. 그래서 몸이 너무 안 좋아졌어요. 집중력도 떨어지고. 그래서 이럼 안되겠다 싶다가도 밤 2시에 자고 아침 7시에 일어나서 학원 화장실에서 씻는 생활을 두 달 동안 했는데요. 그렇게 해도 이 일을 계속할 수 있겠다 싶었어요.

그때 코딩 공부하고 같이 학원 다닌 사람 중에 스타트업을 만든 분이 있어요. 거기 일을 도와주면서 공부했어요. 책상이랑 전기도 있고 밥도 주니까 일하고 공부하고, 그렇게 3달 정도를 보내면서 개인 포트폴리오를 만들었어요.

그리고 학교로 돌아가 다른 학생들은 졸업작품으로 로봇을 만드는데 저 혼자 웹사이트를 만들어서 전시했어요. 다행히 교수님이 받아주셔서 졸업하고 1년 뒤에 취업을 했어요. 그때부터 시작이었죠.

Q. 현재 관심 있는 기술 스택은 무엇인가요? 

NOSQL 에 조금씩 관심을 두고 있어요. 지금 팀에서는 RDB를 쓰고 있지만 한계점에 도달했어요.

매월 메인 데이터가 수천만건이 쌓이는데요. 내부 상세 데이터로 치면 더 많겠죠. 몇달이면 1억 건씩 쌓여요. 그래서 기존 데이터베이스로는 한계가 있어요. RDB를 확장해서 쓸 건지 아니면 NOSQL로 갈 건지 고민하는데, NOSQL이 좀 더 낫지 않을까 생각하고 있어요.

근데 그 기술을 회사에서 쓰진 않았어요. 회사 일정이나 개인 일정 때문에 밀리고 올해가 가기 전에 도입할 시기를 보려구요.

사실 선뜻 말하지 못해요. 본인이 쓰자고 해놓고 장애난걸 해결 못하면 안되잖아요. 느린 거랑 못고치는 건 큰 차이가 있잖아요.  이 기술은 잘하면 앞으로 문제가 해결되지만, 큰 문제가 생겼을 때 다루지 못할까 봐 무서워서 도입을 고민하고 있어요. 혼자 계속해봐야죠.

결국 내 서비스가 있어야 테스트해볼 수 있어서 개인 서비스를 만들고 싶었어요. NOSQL 공부도 하고, 얘를 어떻게 잘 쓸 수 있을까 궁리도 하고요. 자료가 많이 없더라고요. 튜토리얼은 많은데 깊은 지식은 아는 사람들끼리만 알고 찾기 어려워서 정보를 얻기가 힘들어요.


Q. 2019년에 세운 실현 가능한 목표가 있나요.

제가 갈대 같아서 마음이 바뀌는 일이 많아요. 길을 가다가도 옆길로 빠질때가 있잖아요. 물론 한길로 쭉 가도 좋지만 옆길로 빠져서 도움이 됐던 경우도 많거든요.

예전에는 여러 계획들을 잡았어요. 점들이 모여서 나중에 큰 그림이 된다는 말을 믿는 편이에요. 올해 상반기에는 책을 집필하기로 계약을 맺었어요.

열혈 시리즈에는 스프링이 없거든요. 전에 연락 온 출판사는 매크로처럼 메일이 왔었는데 이 출판사는 정성이 담긴 메일을 주셨어요. 그래서 한번 뵈었는데 같이 책을 냈으면 좋겠다는 열망이 강하셨어요. 2018년 10월에 계약했고 이번 상반기에는 꼭 써보려고요.

Q. 인프런에서 다음 강의를 만든다면요?

상반기에 책 집필이 끝나면 기효님 (캡틴판교)이랑 같이 강의를 찍을 예정이에요. 기효님이 프론트엔드를 하시고 제가 백엔드를 하잖아요.

큰 회사는 백엔드와 프론트엔드가 나눠져있잖아요. 대기업에서는 클라이언트랑 백엔드랑 완전히 나뉘는데 두 분야가 왜 나눠져있고 어떻게 같이 일하는지 궁금해할 것 같아요. 그래서 제가 스프링부트를 하고 기효님이 Vue.js를 맡아서 트위터 같은 서비스를 만드는데요. 백엔드와 프론트엔드가 어떻게 협업해서 두 개의 코드를 합치고 테스트하는지 이 사이클을 쭉 돌려보면 어떨까 생각해서 강의를 진행할 예정이에요.

Q. 어떤 개발자이고 싶으신가요. 

일일커밋을 2년 넘게 유지하고 있거든요? 계속해보고 싶어요. 30년 커밋이 있으면 재밌을 것 같아요. 제가 예전에 갑상선암에 걸렸었어요. 작년 3월에 수술해서 1주일간 입원했었거든요. 수술하면 못 움직이잖아요. 그래서 수술 전날 11시에 커밋하고 새벽 1시에 또 커밋하고 잤어요.

미리 커밋을 준비해놓고 버튼만 클릭하면 커밋이 되도록 준비해놨어요. 그렇게 입원해있는 동안에도 커밋을 했어요. 그걸 하고 나니 앞으로도 계속할수 있겠다 싶더라고요. 그래서 일일커밋 유지가 첫 번째 목표고요.

두 번째로 같이 일했던 회사 사람들이 모두 저를 인정해주면 좋겠어요. 다른 커뮤니티에서 인정해주는 것도 좋지만 같이 일은 하지 않았잖아요. 같이 일해본 사람들이 ‘저 사람 진짜 일 잘해’라고 얘기해주면 좋겠어요.

그리고 살짝 유명해졌으면 좋겠다? 하하병이라고 하는데요. 저는 스스로 유명한지 모르지만 주변 사람들이 ‘아! 저 사람이 그 사람이래’ 하는 거 있잖아요. (웃음)

블로그 시작할 때도 저 사람이 발표한다, 그럼 이름만으로 수십 명을 모을 수 있는 사람이 되고 싶단 생각을 했어요. 겸손함을 유지한 채 유명해지면 좋겠어요. 이유는 잘 모르겠어요.

Q. 부지런함의 원동력은 어디에서 오나요.

제가 부지런했으면 대학교 성적이 그렇게 개판이지는 않았을 거예요. 기본도 못했으니까. 게임을 좋아해요. 예전에 리니지할 때 하루에 15시간 정도 게임을 했는데 같은 몬스터만 잡았어요.

시간당 쎈 몬스터를 적게 잡을 때랑 약한 몬스터를 많이 잡을 때의 가성비를 따졌을 때 더 낫다고 생각해서 같은 것만 잡았어요. 15시간씩 한 달 동안 했었거든요. 그때 하나도 지루하지 않았어요.

액션 게임도 아니고, 지겨운 게임이거든요. 클릭만하고. 왜 그땐 같은 화면, 같은 캐릭터로 하루에 15시간씩 해도 안 질리고 재미있었지? 나중에 생각해보니 이상했어요.

눈에 보여서 그런 거 같아요. 몬스터를 잡아서 벌어들이는 돈이 아주 작더라도 경험치가 늘어나는 게 눈에 보이잖아요.

내가 성장하는 게 보이면 결국 지루해 하지 않고 계속할 수 있었던 것 같아요. 그럼 현실에서 어떻게 성장하는 걸 눈으로 볼 수 있을까? 묻는다면 깃헙에 일일커밋 그래프가 있어서 커밋한 걸 확인할 수 있게 해줘요. 제 입장에서는 그게 게임이라고 생각했어요. 경험치 바를 채우듯 이 칸을 채운다.

블로그 방문자 수도 수치잖아요. 이걸 어떻게 성장시키지, 컨텐츠를 많이 공유시키지 생각했어요. 어찌 보면 일종의 게임이니까. 어떻게든 눈에 보이는 지표를 만들려고 노력했어요. 지표가 있으면 덜 지루하거든요.

운동도 그냥 운동만 하면 재미없는데 인바디로 체지방 수치랑 몸무게가 줄어드는 게 보이면 더 열심히해요. 무얼 하든 꾸준히 하려면 지표가 있어야 한다고 생각해요. 그거 때문이지 않을까요.

Q. 번아웃이 오진 않나요. 온다면 어떻게 풀어내시나요?SI 다닐 땐 번아웃 많이 왔어요. SI를 떠나고 싶은데 맨날 야근시키고 집은 신림역인데 전산실이 분당 야탑에 있었어요. 그래서 여기 갔다 저기 갔다 했어요. 아무리 시간을 내려해도 어렵고, 체력은 계속 떨어지고 이러다 탈출못하는 건 아닌가? 계속 이렇게 야근하고 갑질당하다가 끝나나? 생각했어요.

탈출하고 나니 조금 덜한 거 같아요. 제가 원해서 탈출했고, 원하는 회사에 들어왔으니까 그래서 좀 덜해요. 그래도 전력 질주는 하지 않아요. 이 일은 일주일 전력질주해서 끝내는 졸업작품 같은 게 아니라 30년, 40년을 바라봐야 하잖아요.

무리해서 일찍 일어나고 밤에 늦게 자고, 하루에 4-5시간씩 자는 생활은 나이 먹으니 못하겠더라고요. 수면 시간은 7시간을 유지하고 그 안에서 못하면 못하는 대로, 만약 모자라다 싶으면 도시락 사 와서 점심시간에 모자란 부분을 채워요. 저녁 약속은 월화목금은 안 잡고 수요일만 잡아요.

그렇게 시간을 확보해요. 주변에는 하루에 5시간씩만 자면서 자기 서비스에 올인하는 분도, 개인 공부만 하는 분도 계시는데 그렇게 하면 탈진 비슷한 게 올 거 같아서 저는 80프로 정도만 하자고 생각해요. 그래서 번아웃은 아직 없어요.

불안할 때도 있어요. 자기만의 무언가를 이룬 분은 결국 잠과 시간을 아껴 몰입한 분들인 것 같아요. 무얼 이루려면 저렇게 해야 하나 생각했었거든요. 저는 일단 이렇게 해보고 만약 효과가 없다면 다르게 해보려고요. 지금은 테스트 단계에요.

Q. 개발자로서 가장 뿌듯했던 순간이 있나요? 

가장 뿌듯했던 순간은 잘 모르겠어요. (웃음) 소년만화의 주인공처럼 큰 이벤트를 계기로 각성한 게 아니라서요. 뿌듯했던 순간들이 차곡차곡 모여 계속 개발일을 할 수 있었던 것 같아요.


첫 회사에서 퇴사한다고 말씀드렸더니 소속팀장님도 아니셨던 연구소장님이 직접 파견지에 (하필 다리도 다치셔서 목발 짚고) 오셔서  왜 퇴사하는지, 남으면 어떤게 좋은지 설득하셨는데요. 이렇게 붙잡아 주시는 분도 계시는구나, 그래도 나름 열심히 개발을 했구나, 생각했어요.

두번째 회사에서도 본부 내 개발자 중 혼자 특진을 받고, 별도로 인센티브를 받기도 했어요. 이때도 열심히 하길 잘했다 싶었어요.

현재 회사에서도 좋은 평가를 받았고, 누군가에게 지금처럼만 하면 된다는 얘기를 직접 듣기도 했어요. 그동안 보내온 시간들을 보상 받은 느낌이었어요. (웃음)

이외에도 뿌듯한 순간들은 많았어요. 같이 공부했던 동생들이 모두 취업했을때, 프로그래밍 수업 중, 선생님이 칭찬해주셨을때, 같이 일하는 동료들이 모르는 문제가 생겨 저를 찾아올때.

이런 순간들 때문에 “내가 최고야” 는 아니지만, “재능이 없는 편은 아니구나” 생각할 수 있었던것 같아요. 못 한다고 생각하면 재미없어서 개발일을 계속 못했을 수도 있어요. 뿌듯함을 주는 일들이 계속 생겨서 다행이에요.

Q. 주변 맛집을 알려주세요. (인프런 공식 질문, 개발자 그 동네 맛집이 궁금하다.)

회사 근처 잠실역 9번 출구에서 조금만 더 가면 홈플러스가 있어요. 거기 ‘이태리 어부’라는 가게가 있는데 고등어구이, 우럭탕, 회덮밥, 등등 메뉴들이 있어요. 저는 거의 월요일마다 가요. 맛있고 깔끔하게 잘 나와요. 잠실역 이태리어부. 이번에 회덮밥 드신 분도 맛있게 드셨어요.

>> 인터뷰 1편 보기

창천향로 이동욱 님이 정성껏 만들었습니다.

우리는 성장 기회의 평등을 추구합니다.

 

 

 

당장 결과물이 안나와도 기다릴수 있는 사람- 창천향로 이동욱 1편

당장 결과물이 안나와도 기다릴수 있는 사람- 창천향로 이동욱 1편

Today We Learned #04
인프런이 만난 사람 – 개발자에게 듣다

당장 결과물이 안 나와도 기다릴 수 있는 사람

– 창천향로 이동욱 1편

Q. 필명이 ‘창천향로’에요. 어떤 의미인가요? 

만화책 중에 ‘창천항로’라는 만화책이 있어요. 삼국지에서 조조를 중심으로 구성한 이야기에요. 보통 삼국지가 유비를 기준으로 하는데 이건 조조 입장서 쓴 이야기에요. 근데 너무 재밌는 거예요. 삼국지 조조전이란 게임도 많이 했었고요. 당시 인생 만화라 무조건 아이디로 써야겠다 했는데요. 이 아이디를 누군가 이미 쓰고 있어서 한 글자를 더 붙여서 쓰고 있어요. 저는 조조 캐릭터가 마음에 들어요.

Q. 블로그에 활발히 기록하고 계세요.

지금 세 번째 회사를 다니고 있어요. 블로그는 첫 번째 회사 다닐 때는 못했고 두번째 회사 들어가고 2015년도에 시작했어요. 근데 한 달에 한 번 쓸까말까였어요. 집도 사람들이 안 오면 폐허가 되잖아요. 블로그도 사람들이 안오니까 할 마음이 없어져서 글을 안 올리게 되더라고요.

2015년도에 썼던 글을 보면 퀄리티가 엄청 떨어지거든요. 막무가내로 쓴 글들이 많아요. 그러다 한 번은 세미나 후기를 썼는데 그게 대박 비슷하게 났어요. 그때부터 사람들이 오길래 세미나 후기도 쓰고 관련 공부 내용을 썼어요. 그렇게 큰 사이즈는 아니지만 방문자 수가 계속 늘었어요. 요즘은 4000명 정도 들어와요. 그래서 좀 할 맛이 나요. 주말에는 천명에서 2천 명, 평일에는 4천에서 5천 사이를 왔다 갔다해요.
* 창천항로 기술 블로그 – 기억보단 기록을  

Q. 글쓸때 만화로 비유를 많이 드시던데요.

만화나 TV를 보다가 나중에 써먹을 수 있겠는데 때 싶으면 에버노트에 멘트랑 장면을 기록해둬요. 구글링해보면 해당 페이지가 딱 나올 때가 있어요. 그럼 가장 감명 깊었던 장면, 이렇게 저장을 해둬요. 검색해서 나오는 그 장면들을 모아 글을 쓸때도 있어요.

열심히 하면 잘 안되는 것 같아요. 열심히 하면 사람들이 좋아하는 글이 잘 안 나오는 것 같더라고요. 그냥 자기 전이나 샤워할 때나 어디 기차 타고 이동할 때 생각나는 걸 쓰면 좋아해 주시고 이런 주제로 써야지 작정하고 쓰면 잘 안 되는 것 같아서 그냥 생각 없이 살려고요. (웃음) 그래서 집에 TV가 없는데 TV를 살까 싶기도 해요.

채널을 돌리다 우연히 봤는데, 재밌거나 저럴 수 있구나 싶은 프로그램들이 많아요. 나이를 먹으면서 넷플릭스든 유튜브든 내 취향에 맞는 콘텐츠만 골라보니까 새로운 걸 만날 기회가 없고 좋아하는 장르, 분야, 작가 위주들의 프로그램만 보니까 범위가 한정 지어지는 것 같아요. 했던 생각, 했던 말들만 하게 되는 경향이 있어요. 다양한 환경을 접하고 싶은데 쉽지 않아요.

Q. 페이스북 커뮤니티 <초보 개발자 모임>, <JetBrains Korea User Group>의 운영자이기도 해요.

JetBrains 사용자 모임이라고 인텔리제이, 웹스톰 등 JetBrains 에서 만든 제품군의 한국 사용자가 모여있는 페이스북 그룹이에요. 저는 일반 회원으로 있다가 관리자분이 떠나면서 저랑 다른 분들을 운영진으로 선택했어요. 운영진 중 한분은 JetBrains 한국 총판업체의 과장님이세요. 그분이 행사가 있을 때 발표자로 운영진들을 밀어주려고 하셔서 혜택을 좀 받았어요.

또 요즘은 Github에 주니어 개발자 채용정보 페이지 운영을 하고 있는데요. 재미난 일들이 좀 많아요. 스타트업 인사팀에 계신분들이 자기 회사 잡플래닛 평점이 3.3이 안되는 데 혹시 공고를 올릴 수 없느냐, 이런 연락을 많이 주세요.
주니어 개발자를 위한 취업 정보

그래서 제가 아예 명시를 했어요. 어떤 회사인지 모를 때는 무조건 잡플래닛 평점보고 하겠다고요. 만약에 평점이 3.3이하일 경우에는 받지 않는다고. 사람인이나 잡코리아처럼 다해주면 안 되잖아요. 내가 잘 아는 회사거나 모르는 회사더라도 외부에서 평가가 괜찮은 회사면 올리겠는데 그게 아니면 안된다고 몇 번 튕기기도 했고요. 소개 글을 정성스럽게 써주시는 분도 계시고. 재밌어요.

Q. 커뮤니티를 세 개 운영 중인데 벅차거나 그러진 않으세요? 

네, 제가 발표하는 걸 되게 좋아해요.제가 말하는걸 좋아하거든요. 근데 어떤 회의든 아니면 회사에서는 제가 이야기를 항상 다 할 수는 없잖아요.

저는 얘기하는 걸 좋아하는데 그걸 표출할 수 있는 창구가 컨퍼런스에요. 나와 비슷한 취향을 가진 사람들한테 하고 싶은 말이 있으면 어디에 표출하지? 싶을 때 제 친구들, 제 회사 동기들한테는 얘기하기 조금 애매해요.

왜냐하면 퇴근하고 나서도 개발이나 취업, 세미나 이야기를 하는 건 좀 애매하잖아요. 그런 것들을 커뮤니티를 통해 할 수 있으니까 저에게는 오히려 스트레스를 푸는 장소인 것 같아요.

Q. 즐겨 찾는 ‘기술 블로그’가 있다면 알려주세요. 

권남* 님의 ‘까먹지 말자’ 블로그에요.
* 기술 블로그 링크 

개인적으로 멀리서 그분을 존경했어요. 권남님은 레거시를 어떻게 개편해야 하고 기술을 어떻게 적용해야 하는지, 그리고 자신의 위치에 관해 쭉 글을 쓰셨는데요. 지금은 저희 회사로 오셨어요. 다른 팀이지만 같이 일하게 되어 너무 좋아요.

비 기술 블로그에서는 생각노트가 있어요. 저희 회사 기획자분들도 많이 보시더라고요. 되게 좋아요. 그 분만의 인사이트가 있어요. 생각노트 블로그를 평소에 많이 참고해요. 회사에서도 공유된 적이 있어요. 생각노트에서 배민으로 인해 장사가 어떻게 바뀌고 있는지 포스팅 한 글*이 있었거든요.

개발을 제외하고 궁금한 게 있을 때 종종 들러요. 좋은 블로그에요. 저도 그렇게 되고 싶어요. 생각노트 뉴스레터 구독자가 9천명이 넘었어요.

뉴스레터는 페이스북에서 좋아요 누르는 거랑 완전 다른 접근성을 가지잖아요. 메일 주소를 입력하고 인증을 받아야 뉴스레터를 구독하는데, 사람들이 그 수고를 들일 만큼 글이 퀄리티가 좋고 그 숫자가 개인 블로그인데도 굉장히 많은 편이니까요. 생각노트처럼 단골을 만들고 싶다는 생각이 들더라고요.

Q. 회사에서는 어떤 일을 하나요?

속해있는 팀은 결제 정산 개발팀이에요. 거기서 저는 백엔드를 맡았어요. 저희 회사가 사실 크진 않거든요.

총 직원은 1000명인데요. 개발자는 200명, 개발 직군에서도 웹프론트, 모바일 앱, 데이터 사이언스를 빼면 백엔드 분야는 130명~140명 정도에요. 그런데 인프라 엔지니어분들이 적어서 백엔드 개발자가 코드 짜면서 인프라도 같이 해야 하는 상황이에요. 또 필요한 툴이 있으면 만들어야 하니까 주력은 백엔드 자바 코드를 짜는 일이지만 인프라랑 웹 프론트도 겸사겸사하고 있어요.

Q. 지금 하는 프로젝트도 간단히 소개해주세요.

지금은 정산이랑 포인트 두 가지 프로젝트를 맡고 있어요, 크로스오버가 되어야 하기 때문에 한 사람이 보통 프로젝트 1-2개를 맡아요. 저랑 같이 정산담당자가 있고 그분은 다른 업무를 같이하는 방식으로 해야 이 사람이 빠져도 다른 사람을 대체할 수 있어요. 전체를 다 가져갈 순 없거든요.

결제 쪽 담당자는 일본으로 여행 갔다가 거기서 작업하시기도 했어요. 왜냐하면 에러가 났는데 대응해줄 사람이 없었거든요. 그런 일도 있어서 지금은 두가지 일을 하는데요. 이것도 사람이 늘어야 나눌 수 있어서 사람을 찾고 있어요.

Q. 속한 개발팀의 자랑하고픈 지점이 있나요.

각자 잘하는 분야가 있어요. 저희가 큰 회사가 아니다 보니 인프라, 웹프론트도 해야하고 aws도 다뤄야 하는데, 각 분야를 잘하는 사람이 있어요. 인프라를 잘하는 분, 스프링부트 책을 쓰신 분, 도메인을 완전히 꿰고 있는 분도 있어요. 기획자나 운영팀 직원보다 도메인을 잘 알아서 가져온 기획을 퇴짜놓기도 해요.  

각자 모자란 부분을 채워주는 분들이 있어요. 대신에 만약 인프라 잘하시는분이 퇴사하면 위험해요. 왜냐하면 그분 위주로 일이 돌아갔으니까요. 모두가 골고루 잘하면 괜찮지만 각자 장단이 명확하니까 한쪽이 빠지면 위험해요.

회사를 다녀보니 저는 오래 다닐 것 같아요. 아직 제가 모자란 부분이 많은데요. 각 분야를 잘하는 분들께 땡겨 배울 수 있어서 좋아요. 다들 공부도 열심히 하고, 톱니바퀴기 맞물리듯 모자란 부분을 채워주면서 돌아가서 좋아요. 100% 만족하는 건 아니에요. 더 잘하시는 분이 많이 오면 좋겠어요.

Q. 백엔드, 누구나 잘할 수 있는 분야는 아닌 것 같아요. 어떤 사람들이 (어떤 습관을 가진 사람들이) 잘할 수 있을까요?

‘프로그래머의 열정을 말하다’라는 책에 이런 얘기가 있어요. 클라이언트 사이드는 기술적인 고장이 쉽게 일어나요. 하지만 백엔드의 기술적 도전은 서비스가 성공하기 전까지는 잘 일어나지 않거든요.

뒤에서 난장판을 쳐도 트래픽이 없을 때는 괜찮아요. 아무런 장애도 나지 않으니까요. 서비스가 커져야 기술적 도전과 어려움을 겪고 직접 해볼 수 있어요. 그런 경험을 하려면 큰 회사를 갈 수밖에 없는 거죠. 왜냐하면 트래픽과 수많은 데이터들을 최적화해서 다루고 기술적 도전들을 겪고, 다루려면 그런 환경을 갖춘 회사로 가야 하는데요. 그걸 얻기가 쉽지 않아요. 제 생각에  자질보다는 그런 기술적 도전을 할 수 있는 회사에 속한 사람들이 백엔드를 잘 할 수 있는 여건을 갖고 있다고 생각해요.

혼자 하는 서비스는 자기 마음대로 해도 상관없잖아요. 하루 사용자가 100명이라면 크게 상관없어요. 인프런도 마찬가지지만 서비스가 수직 상승하면 각 시기마다 필요한 기술과 구성이 완전 달라지거든요.

서비스가 커감에 따라 같이 성장해갈 수 있는 환경이거나, 아니면 너무 잘 갖춰져있어서 그대로 갖고 오면 되는 환경이거나 둘 중에 하나를 접해볼 수 있으면 좋을 것 같아요.

그런 트래픽이나 데이터를 만져볼 수 있는 환경에 있지 못하면 성장을 못하잖아요. 백엔드는 트래픽이 없으면 본인이 아무리 자질을 갖고 있어도 경험하지 못하거든요. 그래서 다들 그런 환경을 찾아가는 거 같아요.

저기 가면 뭔가 대단한 보물이 있겠거니 생각해서요. 밑바닥, 백지 트래픽에서 쭉쭉 올라가는 경험이 중요하고, 다양한 경험을 해본 사람이 백엔드를 잘 하는 것 같아요. 그래야 이렇게 하면 큰일 난다고 사전에 얘기해줄 수 있어요. 이해도도 높고요.

‘이렇게 안 해도 다 잘되던데요.’ 라고 말하는 사람들은 트래픽 경험을 해보지 않아서예요. 실제로 경험한 사람들은 그렇게 하면 어떤 일이 발생한다는 걸 알지만 보여줄 순 없잖아요. 그래서 대화하고 설득하려면 그런 환경을 경험해봐야 해요.

백엔드는 당장 결과물이 안 나와도 기다릴 수 있는 사람에게 적합하다고 생각해요.  당장 결과물이 나와야지만 되는 사람은 프론트엔드로 가야 하고요. 예를 들면 터미널만 보고도 일할 수 있는 사람들. 왜냐하면 백엔드는 그냥 api라서 화면 데이터만 나오거든요. 그럼 내가 뭘 만들었는지도 모르고, 혼자 서비스를 만들지 못해요.

초기에는 백엔드를 조금만 배워도 서비스를 만들 수 있어요. 하지만 클라이언트는 제대로 배워야 서비스를 만들 수 있잖아요. 서비스 디자인이 구리면 안쓰잖아요. 화면이 별로면 사용자가 안 쓰잖아요.

백엔드 개발자가 자기 공부시간을 빼서 클라이언트만 공부하지는 않을 거고, 남는 시간에 조금씩 공부해서는 쓸만한 서비스 화면을 만들기는 어려워요. 그래서 혼자서 서비스를 만들지 못할 수도, 당장 결과물이 안 나올 수도 있지만, 개발하는 걸 좋아하는 분들이 백엔드에 어울리지 않나 생각해요.

>>인터뷰 2편 보러가기

창천향로 이동욱 님이 정성껏 만들었습니다.

우리는 성장 기회의 평등을 추구합니다.

 

 

 

 


 

빠르게 배워봤자 빠르게 잊힌다는게 제 지론입니다 – 개발자 김은기 2편

빠르게 배워봤자 빠르게 잊힌다는게 제 지론입니다 – 개발자 김은기 2편

Today We Learned #03
인프런이 만난 사람 – 개발자에게 듣다

빠르게 배워봤자 빠르게 잊힌다는 게 제 지론입니다

– 개발자 좋은사람 김은기 2편

Q. 지식을 공유하게 된 계기가 있나요?

IT 분야에 최적화된 지식공유 사이트는 인프런에서 처음 봤어요. 다른 사람을 가르치고 저도 같이 발전하는 프로세스를 좋아해요. 왜냐하면 남을 가이드하고 제가 가진 지식을 전달하려면 2~3배 준비를 해야 해요. 그런 의미에서 저도 발전이 되고, 웹을 이용해 365일, 24시간 자신이 듣고 싶을 때 IT 관련 지식을 습득할 수 있다는 점도 저의 목적에 부합했어요.

그때 마침 파이썬, 크롤링 프로젝트를 하고 있었는데요. 고거랑 딱 맞물려서 한번 해보자는 마음으로 만들었어요.

Q. 강좌 올리고 난 뒤의 변화라면 어떤게 있을까요?

인프런에 강의를 올리고 나서 외부적으로 저를 필요로 하는 곳에서 적극적인 요청이 왔어요. 좋은 기회도 왔고요. 스타트업이나 이름있는 회사에서도 러브콜이 왔어요. 좀 더 적극적으로 사람들의 아이디어와 ‘이런 크롤링을 만들고 싶어요’같은 문의사항이 많이 왔어요.

답변은 제가 프로젝트가 너무 바쁘지 않은 한 100% 해드리는 편인데요. 이제 막 강의를 듣기 시작한 학생이 ‘이런 패턴으로 만들어보면 어때요?’ ‘이런 사이트는 ‘좋은 사람’님의 강의를 듣고 접근을 해봤어요.’라고 할 때면 정말 많은 생각을 하게 돼요. 서로 교류하면서 제가 디벨로퍼로써 급속도로 발전해나가는 게 가장 큰 변화에요. 이건 경력과는 상관없는 부분인데요. 또 경력이 많다고 훌륭한 developer라고 볼 순 없다고 생각해요.

또, 좀 더 깊게 파고드는 습관이 생겼고요. 블로그에 많이 찾아오셔서 아이디어를 건네고 질문을 함께 해결하는 과정에서 저의 개발 능력이 급속도로 발전한다는 것을 느꼈어요. 강좌를 계기로 다른 회사나 출판사, 기타 세미나, S사 등에서 저를 알게 되어 다양한 요청이 들어왔고, 삼성 SDS 멀티캠퍼스에서 딥러닝 기반 빅데이터 전문가 과정에서 강의를 하는 계기가 되기도 했고요.

Q. 처음 만드신 강의가 파이썬 웹 크롤링 강의에요. 어떻게 만들게 되셨나요?

유튜브 빅데이터 분석을 할 때 다양한 데이터가 필요했어요. 빅데이터 분석에서 어떤 모델을 학습시킬 때 데이터양의 힘이 정말 커요. 데이터의 양이 많아질수록 학습률, 분류, 회귀의 정확도가 높아져요.

유튜브나 인스타그램, 트위터에서 제공하는 API를 활용해서 데이터를 수집하다가 Stack over Flow에서 GUI 기반으로 유튜브 영상을 다운로드하거나, 네이버나 다음 같은 포털 사이트의 특정 기능을 자기 비즈니스에 특화해 개발하고 싶어 하는 글들을 많이 봤어요.

우리나라뿐만 아니라 Stack over Flow, Github에서 이슈, 질문, Q&A를 통해 검색을 해보니 파이썬 웹크롤링이 많이 없더라고요. 파이썬, 예를 들면 PyQT*를 활용하는 강의가 보이지 않았어요.
*파이썬에서 GUI 프로그래밍을 할 때 사용하는 대표적인 패키지

이 주제를 다루는 강의를 만들면 저도 발전할 수 있고, 강의를 듣는 사람들도 자기가 필요한 곳에 파이썬의 라이브러리를 활용해서 업무 자동화와 편의성을 도모할 수 있겠구나,라는 생각에서 강의를 만들었어요.

Q. 그다음엔 Go 강의를 만드셨어요.

딥러닝 기반 프로젝트를 진행할 때, 파이프라인 기반으로 데이터를 전처리 및 모델 학습하는 부분에서 Golang을 이용하면 빠르고 효율적이라는 걸 Github에서 발견했어요.

그래서 이 언어는 뭐지? 하고 관심만 갖고 있었는데요. 본격적으로 Revel*이라는 웹 프레임워크로 간략한 POC, 즉 프로토타입 프로젝트를 만들면서 많은 장점이 있다는 걸 알게 되었어요. 물론 단점도 있지만. Go 언어를 구글에서 만들었고, Google docs, Twitch, Dropbox, 도커, 깃헙 러너 등 전 세계를 이끄는 굵직한 프로젝트들이 Golang으로 되어 있다는 걸 많이 모르시더라고요. 
*Go 기반의 웹 프레임워크

자바나 파이썬도 물론 세계적으로 유명한 언어지만, 전 세계를 이끄는 서비스를 제공하는 업체들의 백엔드, 그리고 비트코인과 암호화폐들도 Go 언어를 기반으로 만들어진 것들이 많아요. 그리고 Golang을 제가 실무에서 파이프라인이나 웹 프레임워크를 사용하고 만족스러운 피드백을 받았기 때문에 자신감을 갖고 Golang 강의를 제작했어요.

Q. 기억에 남는 수강생이 있을까요?

인프런 <파이썬 웹크롤링 수업> 중에 한 학생이 있었어요. 내가 이렇게까지 답변을 해야 하나, 자기가 검색해서 보면 쉽게 찾을 수 있는데, 싶을 정도까지 많은 질문을 했어요.

처음에는 저도 사람인지라 조금 귀찮고 고의적으로 답변을 미루기도 했었는데요. 어느 순간, 그 친구에게 답변을 하면서 저도 몰랐던 부분들을 알게 됐어요. 예를 들어 파이썬에도 디자인 패턴이 있거든요. 패턴과 규약에 관해 질문하는 걸 보면서 이 분은 나중에 정말 파이썬을 잘하게 되겠구나, 자기만의 크롤러를 만들어서 활용할 수 있겠다 생각했죠.

나중엔 점점 질문의 수준이 높아져서 제가 질문을 따라가지 못해 답변하려고 2-3시간 동안 코딩해보고 데이터와 결과물을 보고, 정확한 아웃풋이 나왔는지 확인해서 답변을 줬어요. 그분이 마지막에는 제 블로그까지 찾아와서 감사의 인사를 10줄에 걸쳐서 하더라고요. 그때 제가 처음에 귀찮아하던 부분을 반성을 했고, 이 과정에서 저 역시 성장하는구나 다시금 깨닫는 계기가 되었어요.

Q. 수강생에게 건네는 조언이 있다면? 

어떤 문제를 해결하려면 어느 정도의 시간이 필요합니다. 이건 개발뿐만 아니라 어떠한 공부라도 마찬가지인 것 같아요. 시간과 열정, 또 이해하려는 노력을 투자해야 걸맞는 숙련도가 상승해요. 바로 구글링해서 갖다 붙여놓고 어, 된다 하고 넘어가면, 갖다 쓰는 엔지니어로 갈 수밖에 없을 거 같아요. 물론 안 좋은 뜻은 아닙니다.

하지만 구조적, 성능적으로 문제가 없는 견고한 소프트웨어를 만들기 위해서는 프로젝트 하나를 만드는데 시간이 오래 걸리더라도, 기초부터, 알고리즘이나 자료구조를 기반으로 프로그래밍을 시작을 하셨으면 좋겠어요.

수강생분들은 검색을 깊게 해보고 막연히 예제 파일만 따라 하는 게 아니라, 변형을 해서 A를 만들었다면 A, B로, 또 B, C로, A, B, C로 만들고 응용해보세요. 파이썬을 배웠다면 Java 로도 만들어보는 식으로 활용한다면 정말 비약적인 속도로 실력이 상승한다고 생각해요. 그 부분을 염두에 두시고 공부하시면 좋겠습니다.

Q. 지금 막 프로그래밍을 시작하는 사람에게 효율적인 공부법이 있을까요?

먼저 내가 왜 프로그래밍을 하는지를 생각해야 될 것 같아요. 단순히 먹고살기 위함인지 아니면 빠르게 돈을 벌기 위함인지. 그렇게 (프로그래밍을 시작)하시는 분들은 오래 못 하더라고요. 프로그래밍을 왜 공부하는지, 내가 뭘 하고 싶은지를 정확하게 파악하는 게 중요합니다. 또 자기한테 알맞은 언어를 선택을 해야겠죠. 모든 언어를 잘 할 수는 없기 때문에 현재 트렌드, 그리고 자기와 부합하는 언어가 무엇인지를 선택하세요.

가장 중요한 건 변수 선언부터 차근차근 시작하는 겁니다. 빠르게 배워봤자 빠르게 잊힌다는게 제 지론입니다. 프로젝트를 단계별로 나눠서 차근차근 배우고자 하는 언어의 특성을 캐치해 정확하게 기초부터 배우는 거죠.

저는 어린이 앱을 이용하는 것을 추천해요. 요즘은 초등학생들도 코딩을 배우잖아요. 바로 어려운 책을 보는 것보다 쉬운 교재로 배우는 게 좋아요. 예를 들어 스크래치 같은 프로그램은 단순하기 때문에 남녀노소 누구나 쉽게 접근이 가능하죠. 기초를 떼고 스스로 만족했다면 그때 입문서 이상의 프로그래밍 교재로 직접 코딩해보고 또 새로운 것을 변형해서 만들어보세요.

꼭 필요하다고 생각하는 건 ‘스터디’와 ‘멘토’에요. 사람들 앞에서 발표하거나 공부하는 기간이 정해지면 평소에 생각하지 못한 능력이 나오기 때문에 여태까지 공부해온 것들의 숙련도가 많이 상승되는 계기가 돼요. 멘토를 구해도 좋고요. 네이버 프로그래밍 카페 등에서 만든 스터디로 다른 사람과 교류하면서 가르치고 계획하고 지도 받다 보면 실력이 비약적으로 상승합니다.

마지막으로 다른 사람이 만든 코드를 갖고와 개선해보는 작업도 중요해요. 코드는 실력과 더불어 성격, 그 사람의 캐릭터가 드러나있기도 해요. 요즘은 인터넷에 오픈소스를 공유하기 때문에 다른 사람이 만든 코드를 직접 읽고 바꿔보고 개선해보면 자신의 프로그래밍 능력도 발전합니다. 초심자들은 이런 스텝을 따라 공부하면 좋을 거같아요.

Q. 인프런에서 눈여겨 본 지식 공유자가 있을까요?

작년에 리액트나 Vue. js기반으로 프로젝트를 하면서 강의를 찾아봤는데요. <실습 UI 개발로 배워보는 자바스크립트와 Vue. js 개발>강의를 감동적으로 봤습니다.

웹 기술을 이용한 클라이언트 서버 Application에서 자바스크립트가 이러한 역할까지 할 수 있구나, 제가 생각했던 이상의 또 다른 세계가 있구나를 알게 해줬어요. 책에서 읽어보긴 했지만 순수 자바스크립트를 활용해서 MVC(Model View Controller) 패턴을 강의에서 직접 구현하는 걸 보고 많은 걸 깨달았어요. 김정환 님이 되게 잘하시는 것 같습니다. 또 배워보고 싶고요.

테스트 주도 개발로 만드는 Node, 견고한 JS 소프트웨어 만들기 이런 건 진짜 숙련도가 끝에 있지 않는 한 강의할 수 없는 내용이기 때문에 이러한 내용을 가지고 파트 하나에 전념하고 계신다는 게 정말 부럽고 자극이 됩니다. 그래서 김정환 님의 강의들을 추천드리고 싶어요.

Q. 지식공유할까 말까 망설이는 분들께

저는 이렇게 생각합니다. 무조건 하세요.내가 가진 능력을 공유하기 위해 정리하고 분류하고 새로운 걸 찾아보는 과정에서 본인이 획득하는 경험은 정말 어마어마하다고 생각해요. 수업을 듣는 분도 실력이 향상되고, 또 수강생이 배운 지식을 바탕으로 사회생활을 하며 결과를 만들어내는 네트워크가 지속적으로 퍼져 나갈 때 좋은 개발 문화가 형성돼요.

그래서 ‘이걸 다른 사람들보다 더 잘 안다고 생각해’라는 부분이 있다면 무조건 공유하는 게 좋다고 생각해요. 그 과정에서 얻는 건 물질적인 소득과 비교할 수 없을 정도로 큽니다. 제가 그걸 체감했어요. 망설이지 마시고 무언가 공유할게 있다면 정리, 분류하고 체계화시켜서 다른 분들께 지식을 제공해주세요.

Q. 강의를 잘 만드는 노하우가 있다면 알려주세요.

저는 노하우가 없다고 생각합니다. 그냥 자료를 수집하고 제가 가진 지식을 정리하고 또 최근에 버전업이 되진 않았는지, 어떤 걸 접목시키면 좋을지, 더 효율적으로 제공하는 방법은 무엇일지만 생각합니다. 문서를 만들고 예제 소스 정리하고 또 개선하면서 강의를 만드는데요. 강의를 시작하고 녹화가 끝나면 예상시간보다 훨씬 길어져요. 특별한 노하우는 없습니다.

>> 인터뷰 1편 보기

좋은사람 김은기 님이 정성껏 만들었습니다.

우리는 성장 기회의 평등을 추구합니다.

 

 

 

저는 이 직업이 정말 좋다고 생각해요 – 개발자 김은기 1편

저는 이 직업이 정말 좋다고 생각해요 – 개발자 김은기 1편

Today We Learned #03
인프런이 만난 사람 – 개발자에게 듣다

저는 이 직업이 정말 좋다고 생각해요.

– 개발자 김은기 1편

Q. 먼저 소개 부탁드려요.

저는 항상 열려있는 개발자 ‘좋은사람*’이고요. 평범하게 개발하고 있어요. 아키텍처의 효율적인 개선과 코드 간소화, 최신 기술들을 현행 프로젝트에 적용하기, 그리고 퍼포먼스와 트렌드에 관심이 많은 개발자입니다.
*좋은사람 님 기술 블로그

Q. 과거에 하신 일과 현재의 일이 궁금해요.

과거에 해온 일은 SI라고 하죠. 큰 규모의 시스템을 처음부터 끝까지 개발하는 건데요. 애플리케이션이 어떻게 만들어지는 지를 정신없이 겪으며 지나왔어요.

R&D에서는 파이썬 쪽의 OCR, 머신러닝, 빅데이터처리 기술을 이용해 대용량 데이터 처리를 진행했고요. 현재는 딥러닝을 이용한 자연어 처리를 하고 있습니다. 지금은 딥러닝을 활용해 자연어 처리를 깊게 파고 있어요. 철자 검사, 동의어 찾기 등을 딥러닝을 이용해 해결하는 프로젝트로 의미분석과 시맨틱 애널리시스*(Semantic Analysis) 학습을 시키고 있어요.
*자연어 분석과정, 자연어 이해 기법 중 하나이며 여러 의미 분석 방법과 다양한 유형의 문법을 이용한다.

Q. 어떻게 개발에 입문하셨나요?

컴퓨터공학을 전공했지만 어렸을 때부터 프로그래밍을 좋아하진 않았어요. 하드웨어의 작동원리 또는 커스터마이징이라고 하죠? 기존의 하드웨어를 뜯어 납땜 같을 걸 해서 새로운 기능을 추가하는 것에 관심이 많았어요.
* 커스터마이징: 이용자가 사용방법과 기호에 맞춰 하드웨어나 소프트웨어를 설정하거나 기능을 변경하는 것.

하지만 하드웨어가 소프트웨어의 퀄리티에 좌우되고, 하드웨어 사양이 높아도 SW가 받쳐주지 못하면 좋은 제품이 나오지 못한다는 걸 분명히 깨달았어요. 그래서 약간 늦은 나이에 소프트웨어 방면으로 전향했어요.

서른 살 즈음이었어요. 당시 SI의 기술을 경시하는 분위기 속에서 SI로 개발에 입문했어요. 그때 정말 많이 힘들었죠. 우리나라의 개발 문화를 조금 쇠퇴시키는 게 SI 문화라고 볼 수 있어요. 불필요한 야근, 정해지지 않은 방법론, 제한된 개발자의 역할 같은 것들.

예를 들어 각종 학원에서 몇 개월만 수업을 듣고 바로 SI로 들어와 작업하는데요. 그렇게 만든 품질은 견고하지 못하다는 걸 깨달았어요. 진입장벽이 낮게 만들어진 소프트웨어는 또 두 차례, 세 차례를 개발을 또 하게 돼요.

안 좋은 점만 얘기를 드렸는데요. 요즘에는 SI도 개발 방법론을 숙지하고 실천하는 프로젝트 매니저나 고객사들이 점점 많아지고 있어요. 프로젝트를 처음부터 끝까지 겪어볼 수도 있고요. 새로운 기술을 찾아 바로 적용하고, 어떤 고객사든지 클라이언트가 원하는 제품을 만들고 그에 따른 만족감과 성취감도 크게 느낄 수 있어요. 다양한 도메인을 경험할 수도 있고요. SI로 개발에 입문한 건 저한테는 굉장한 큰 경험이었습니다.

Q. 프로그래머의 좋은 점은 무엇인가요?

저는 프로그래머라는 직업이 정말 좋다고 생각해요. 첫 번째로 우리나라가 IT 기술 인프라로는 강국에 속하기 때문에 IT 기반 비즈니스 모델로 사업할 수 있는 곳이 정말 많습니다. 그만큼 실력이 좋으면 이직을 쉽게 할 수 있고 또 좋은 회사에서 실력에 준하는 연봉을 받을 수 있어요.

두 번째로 정확하게 기획, 설계 분석된 애플리케이션을 만들 수 있고, 제 날짜에 고객의 니즈를 맞춰 비즈니스 모델, 아이디어를 제품화시키는 능력이 있다면, 1인 개발자로서 많은 수익과 명성과 개발자로서의 인지도를 모두 획득할 수 있어요.

세 번째로 프로그래머는 새로운 것을 창조하는 일이고, 기술의 패러다임이 금방금방 바뀌기 때문에 자기 계발의 기회가 정말 많습니다. 식상한 농담이지만, ‘마흔 살이 넘으면 외식업이나 창업을 준비해야 한다.’ 이런 말은 과거의 자기 계발에 뒤떨어지고 트렌드에 뒤떨어지는 일부 사람들이 만들어낸 말이라고 생각해요. 적어도 제 주위에는 그런 사람은 보이지 않습니다.

열정적이고 진취적으로 일하는 개발자라면, 또 최근에 나온 AWS를 잘 활용하면 이직 시장에서 폭넓게 자기 위치를 선점할 수 있어요. IT 회사도 많고 각 회사마다 필요로 하는 인재들이 정말 다양해요.

1인 개발자로서 제품을 만들어 수입을 창출하고 자신의 인지도를 높이면 사회생활을 영위해 나가는 데에는 부족함이 없어요. 저는 이런 점에서 프로그래머라는 직업이 매우 좋다고 생각합니다.

Q. 관심있는 기술분야가 있나요? 덧붙여 그 분야가 중요하다고 생각하는 이유가 궁금합니다. 

데이터의 빠르고 민첩한 처리가 프로젝트의 성패를 좌우하는 시기가 왔어요. 예를 들어 A 진영에서 관련 오픈소스가 나오면, B 진영에서도 나와요. 이를 활용하는 엔지니어들은 정말 바쁠겁니다. 서로마다 장단점이 명확하고 또 자기만의 최적화된 데이터 프로세싱 시스템을 확보하기 위해 이런 기술력을 습득할 수 있는 좋은 시기라고 생각해요.

저는 AWS를 활용해서 실시간 스트리밍 데이터를 수집, 처리, 분석할 수 있는 시스템을 만들고 있어요. 데이터가 왕이기 때문에 이런 통찰력을 확보할 수 있고 효율적으로 비용을 낮출 수 있는 AWS를 활용합니다. 저장된 데이터를 일반 SQL, NOSQL 또는 자바나 파이썬 을 활용해 직접 조회하고 제공하는 데이터 처리 플랫폼에 관심이 있어요.

데이터를 처리, 분석하고 이와 관련된 제품을 만들어 내부적으로 활용하거나 이익 창출에 힘써야 하기 때문에 경쟁에서 우위에 설 수 있는 기반을 확보하는 것이 가장 중요한 영향을 미칠 거예요.

또 블록체인과 지능형 네트워크가 중요한데요. 지금까지는 데이터를 사후 처리했거든요. 이제 실시간 처리를 이용해 신속하게 데이터를 통합하고 스트리밍 데이터 서비스를 제공하는 기술이 방송, 금융 분야에 막대한 영향을 끼칠 거예요.

그런 의미에서 파이썬, Golang, R이 중요하고요. 특히 데이터 분석 처리에 용이한 범용 프레임워크 언어로서 파이썬의 위상은 점점 높아질 거라고 생각해요. 거기에 덧붙이자면 데이터를 처리하고 가공하고 학습하는 데이터 엔지니어의 역할이 점점 위상을 높여갈 겁니다.

Q. 강의는 어떻게 구상하시나요?

자랑은 아니지만 책을 많이 읽습니다. 정말 많이 읽어요. 책을 읽으면서 느낀 건데요. 어려운 책, 쉽게 읽다가 끝나는 책, 남는 게 없는 책이 있어요. 일반적인 바운더리 안에서 쉽게 학습할 수 있는 부분을 넓게 펼쳐 쓴 책들도 많고요.

좋은 강의는 중심을 잡고 있어야 한다고 생각해요. 그래서 기초로 시작하지만 도전할 수 있는 파트, 예제 파일, 또는 어떤 ‘목적’을 꼭 강의에 넣으려고 해요. 그렇게 만들면 강의가 어려워지기도 하는데요. 하지만 저는 강의를 만들 때 너무 쉽게 만들려고 하진 않습니다.

처음엔 기초부터 시작하지만 수강생이 강의를 반복해서 들었을 때 처음에는 해결되지 않은 부분이 나중엔 ‘아, 이런 거였구나’라고 반드시 성취감을 느끼도록 하고 싶어요. 그럴 수 있도록 카테고리와 예제 파일을 구성합니다.

Q. 평소 어떤 툴을 자주 사용하세요?

윈도와 맥을 둘다 사용합니다. 맥은 맥 mini를 주로 사용해요. 들고 다니면서 모니터만 연결하면 매우 쉽게 사용할 수 있기 때문이죠. 노트북은 Window, 데스크탑도 Window를 사용하고요. VS Code, Atom 에디터 그리고 전사적으로 모든 기능을 제공해야 하는 파트에서는 인텔리제이를 많이 씁니다. 프로젝트에 따라서 이클립스를 사용하고요. IntelliJ 기반의 소프트웨어와 파이참, 웹스톰을 즐겨 써요.

Q. 지금 프로그래밍을 시작하는 사람은 어떻게 공부하는 게 좋을까요?

고급, 중급, 초급 이런 개발자들을 우리나라에서 나누는 등급이 있죠. 근데 저는 의미 없다고 생각합니다. 눈으로만 본 게 아니라 직접 키보드로 소리를 내면서 코딩을 한 사람이 잘하거든요.

막연히 Copy & Paste를 하는 것 말고요. 개발자가 갖다 쓸 수 있는 프로그램을 개발하는 개발자, 그리고 그러한 오픈소스를 갖고 와서 개발하는 개발자 두 종류가 있는데요. 둘 다 훌륭하다고 생각해요.

하지만 지금 시작하는 분들은 반드시 요즘 기업에서 채용시스템에 반드시 들어가는 알고리즘을 공부해야 합니다. 무턱대고 시작한 개발자보다 나중에 숙련도가 쌓였을 때 압도적으로 실력 차이가 나는 것을 저는 눈으로 확인하고 체감하고 있기 때문인데요.

각 언어를 배우기 전에 C언어를 활용한 알고리즘 코딩을 먼저 공부하고 자료 구조라든지 알고리즘 문제를 많이 풀어서 기본을 1년 정도 익히고 개발 엔지니어로서의 실무 필드로 나오셔도 충분히 훌륭한 프로그래머가 될 수 있을 거라고 생각해요. 나중에 다시 하려면 쉽지 않아요. 가장 중요한 건 알고리즘에 관한 기초학습이라고 말씀 드리고 싶어요.

Q. 최근에 읽은 책 중, 추천할 책이 있나요?

현재 제 관심사는 대용량 데이터의 실시간 전처리에 있어요. 내가 만들고 싶은 걸 AWS를 활용해 만들어보는 게 가장 핵심입니다. 요즘 90% 이상이 AWS 활용 가능자를 인재로 영입하려 하는데요. AWS를 공부해보시길 추천드립니다.

<실전 AWS Workbook>이란 책이 있어요. 검색하면 1위로 나오는 책인데요. 얇고 정말 좋습니다. 전자책으로도 나와있어요. AWS를 활용한 인프라, 데이터 분석, 백업, 모바일 앱 등 실무 필드의 현업들한테 필요한 것들을 잘 요약해서 설명해놨더라고요. 너무 도움을 많이 받은 책이라서 추천하고 싶어요.

Q. 스트레스는 어떻게 푸세요?

음악을 좋아해요. 듣는 것뿐만 아니라 연주하는 걸 좋아합니다. 밴드에서 드럼을 치면서 스트레스를 풀어요. 또 게임기를 직접 사서 조립하고, 라즈베리 파이를 기반으로 레트로 게임기를 기성품을 만들거나, 직접 파츠를 사서 만들기도 해요. 그렇게 스트레스를 풀어요.

>>인터뷰 2편 보러가기

좋은사람 김은기 님이 정성껏 만들었습니다.

우리는 성장 기회의 평등을 추구합니다.

 

 

 

 
 
선형대수학개론

선형대수학개론

배우러 가기

1. 선형대수학개론, Introduction to Linear Algebra

공대생이세요? 공대생 출신이세요? 공학자세요? 대학원생이세요?그렇다면 당신은 선형대수학개론을 반드시(!) 숙지 해야 합니다.

학교에서 영어수업으로 선대개를 듣는데 교수님이 하는 말씀을 도무지 못알아듣겠다고요?
당신을 위해 이 강좌를 준비했습니다.

취미로 대학수학을 공부하고 싶어요? 이거 딱인데요?

그런 분야에 종사하지 않다고요?
그래도 들으면 좋아요 🙂 세상을 보는 시각이 조금은(!) 변할거에요.

카이스트에서 배우는 대학수학의 레벨이 궁금하신가요?
그 흔치 않은 기회를 당신에게 드립니다!

Feat. 살다보니 필요한데 까먹은 분들 (보통의 공대대학원생들…) 대부분 공대생들이 학부 1~2학년때 선형대수학개론을 배웁니다. 근데 그때는 중요한지 모르고 대충 들어요 (저도 그랬습니다…) 하지만 여러분이 공학에 평생 몸을 담굴 위인이라면 대충 들었던 과거를 보통 후회합니다.혼자 다시 교과서를 들고 공부를 해보려고해도… 귀찮죠… 그럼 이 강좌가 딱입니다. 그냥 틀고 들으시면 되니까요!

Feat. 아 영어수업 도무지 못알아 듣겠다… 드랍할까…? No! 타블렛깎는노인이 선대개를 인프런에서 가르친대!영어용어를 그대로 쓰지만 한국어 수업이라 부담없이 배울 수 있겠군요?

Feat. 적적한데 뭐 취미생활 할꺼 없을까? 난 남들과 달라. 대학수학을 취미로 배울꺼야! 어? 인프런에 선대개 강좌가 있네? 재밌겠네? 고민없이 등록해야지 ^^

Feat. 세일한다 일단 사자.

+ 수치해석을 공부하고 이해해야하는 분들은 선대개의 기본지식이 반드시 필요합니다.
+ 추후, 수치해석 강좌도 만들 계획에 있습니다.

2. 도움이 되는 분들

  • 공대생 (특히 학교 수업이 영어로 진행되는 경우)
  • 대학원생
  • 수치해석을 공부하려는 분들에게 사전 필수 과목
  • 프로그래머
  • 대학수학을 배우고 싶은 분들
  • 심심한 분들
  • 강좌 콜렉터들

3. 참고 사항

  • 모든 용어는 별다른 번역없이 영어용어를 그대로 사용합니다.
  • 많은 예제를 통하여 이해를 돕고자 합니다.
  • 부족한 강좌들은 피드백을 통하여 업데이트를 하겠습니다.
  • 질의응답 가능합니다.
  • 강좌 하나 한땀 한땀 정성을 다해 만들었습니다. (대충하는거 싫어합니다)

4. 학습 목표

  • 선형대수학개론을 마스터 한다.

5. 지식공유자 소개

조범희

새로운것을 배우고 가르치는걸 좋아합니다. 이번 기회를 통해 많은 분들에게 도움이 되면 좋겠습니다.

전문분야 (좋아하는 분야라고 이해해도 좋습니다)
– 전공은 원자력, 그 중에서도 원자로내 중성자 분포를 수치해석방법들을 통해 분석하는… 어쩌구 저쩌구…
– 수학: 선형대수학개론, 대학미적분, 벡터미적분학, 응용미분방정식, 응용해석방정식, 수치해석 – 컴퓨터 언어: 포트란(MPI, OpenMP 포함), Javascript (nodeJS), C#, C++, Solidity, …
– DIY: 인터넷에서 타블렛깎는노인으로 활동하며, 액정타블렛, 빔프로젝터, 스크린, ambilight, 음성인식장치 등등 하드코어한 DIY를 합니다. (강좌로 만들까요..?)

출신학교
– 학부: 카이스트, 원자력 및 양자공학과
– 석사: 카이스트, 원자력 및 양자공학과
– 박사: 카이스트, 원자력 및 양자공학과

배우러 가기