소통왕으로 불리는 어느 플러터 개발자의 이야기

소통왕으로 불리는 어느 플러터 개발자의 이야기

4,500명의 수강생과 함께 
재미있는 플러터의 세계로! 

#개발자 #플러터 #비전공자 #즐거움

매일 힘들어도, 그 속에 즐거운 일은 존재한다고 하죠.
맛있는 음식 먹기, 친구와 수다 떨기, 씻고 전기장판 위에 눕기…
소소한 행복이 일상에 가득하죠.

이처럼 행복하다고 느끼면서 사는 것은 참 중요한데요.
여러분은 지금 하는 일에 즐거움을 느끼면서 살아가고 있나요?

다섯 번째 인포커스개발자 코드팩토리 님
이야기를 담아보았습니다.

즐거움과 꾸준함만 있다면
인생을 충분히 행복하게 살아갈 수 있다는
지식공유자의 이야기로 출발해봐요.

인포커스 #5 📸

지식공유 경험과 플러터에 대한
코드팩토리 님의 다양한 생각을 공유합니다!

Scene #1 코드팩토리, 최지호입니다.

안녕하세요. 개발을 사랑하고 가르치면서 큰 기쁨을 느끼는 코드팩토리, 최지호입니다. 현재 코드팩토리 주식회사에 소속되어 있고 밀리의 서재에서 플러터 차세대 프로젝트도 리드하고 있습니다. 인프런에서 강의를 제작하면서 유튜브도 관리하고, 그렇게 재미있게 살고 있네요. 현재까지 <Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!>, <Dart 언어 4시간만에 완전정복>, <Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!> 이렇게 3가지 강의를 제작했어요. 반갑습니다!


Scene #2 우연한 경험으로 시작된 즐거운 개발자의 삶

전 영국에서 대학교를 다니며 생화학을 전공한 비전공자 출신이에요. 아무래도 학과가 학과인 만큼 주위에 개발을 하는 사람들이 없었는데, 2학년 때 우연히 코딩을 알게 되어 혼자서 작게나마 시도해보며 개발이라는 걸 시작한 게 5년 정도 된 것 같아요. 그러다 랩실에서 개발이 꼭 필요한 프로젝트를 맡게 되었는데, 교수님이 너무 좋아해 주시고 좋은 결과물을 내게 되면서 자신감을 얻어 본격적으로 개발자로 일을 시작하게 되었죠.

지금까지 개발자로 일하면서 좋은 기억으로 남았던 경험이 크게 두 번 있어요. 하나는 처음으로 취업했을 때예요. 밀리만이라는 컨설팅 회사에서 커리어를 시작하게 되었는데, 개발자로서 인정받은 게 처음이라 정말 기분이 좋았던 기억이 나네요. 또 다른 하나는 인프런이나 오프라인에서 강의하다 보면 제 덕분에 취업했다는 연락이 오는 경우가 종종 있어요. 저로 인해 다른 사람들이 성장하고 원하는 걸 성취했다는 경험을 보면서 보람이 느껴요. 매번 들을 때마다 놀랍기도 하고요.

많은 분이 좋은 개발자에게 필요한 자질이 뭐라고 생각하냐는 질문을 해주시는데, 저는 계속 공부하려는 모습이 되게 중요하다고 항상 말씀드려요. 개발자는 평생 공부를 해야 하는 직업이라는 말이 있을 정도인데, 학습에 대한 욕심이 분명히 있어야 하는 것 같더라고요. 그리고 개발자는 대부분 컴퓨터랑 있는 시간이 많다 보니까 그 자체를 버티기 힘들어하는 사람들이 생각보다 많아요. 약간 TMI이긴 한데, INFJ인 저는 스스로 개발자가 잘 맞는다고 생각하거든요. 물론 단정 지을 수는 없지만, MBTI로 치자면 I 성향을 가지신 분들이 더 유리할 수도 있겠다는 생각이 문득 드네요.


Scene #3 즐거운 지식공유 경험

인프런이라는 곳은 제가 처음으로 개발을 배우기 시작했을 때부터 인지하고 있었으니 알게 된 건 꽤 오래됐네요. 개발을 잘 모를 때에도 모니터링하면서 이런 사이트가 있구나, 정도로 생각했는데 제가 어느새 강의를 제작하고 있다니 새삼 신기해요.

전 원래 누군가에게 지식을 알려주는 걸 좋아하던 사람이었어요. 한국으로 치면 수능 같은, 해외의 International Baccalaureate (IB) 과정이 있어요. 이전에 IB 강사로 활동하면서 가르침의 뿌듯함을 많이 느끼고 있었거든요. 그러다 개발을 본격적으로 시작하면서 주변에서 나도 가르쳐달라고 하는 요청이 여럿 생겼고, 공부한 내용을 알려줘야겠다는 생각이 들었어요. 그래서 강의를 제작해볼까 생각하던 참에 인프런에서 먼저 컨택이 왔고 이렇게 강의를 제작하게 되었어요.

직장에서 퇴사하고 친구들과 함께 스타트업을 설립해서 새로운 커리어를 시작했었는데, 그때 당시에는 플러터는 크게 인기가 없었고 React Native가 되게 강력했어요. 그래서 리액트 네이티브로 개발을 하게 되었는데, 하다 보니 디버깅 과정이 너무 힘들었어요. 그러다 보니 조금 더 크로스 플랫폼이 잘 되어있는 게 있지 않을까 생각하다 플러터를 배우게 되었고, 플러터를 이용하여 새로운 앱 런칭을 하기 시작했어요. 이 좋은 걸 한국에서는 아직 많이들 쓰지 않는다는 게 아쉬웠는데, 제가 써보면서 느꼈던 부분들을 잘 전달할 수 있겠다 싶었어요. 이 분야를 가르치는 강사들이 많지 않기에 진입 장벽이 좀 낮지 않을까 하는 생각도 들었고, 플러터 분야에 있어서 선점해보고 싶다는 생각에 강의 주제를 플러터로 잡고 강의를 제작하게 된 거죠.

인프런에서 제작된 강의를 먼저 봤는데, 제가 원하는 형태의 커리큘럼들이 많더라고요. 하지만 이 말은 반대로 말하면 저 또한 커리큘럼을 짜는 데 시간이 많이 소요된다는 거였죠. (웃음) 실제로 강의를 찍는 기간은 보통 한 달이 안 되는데, 항상 커리큘럼을 짜는 게 시간이 가장 많이 소요돼요. 저의 경우는 강의를 찍기 전 미리 프로젝트를 만들어서 그걸 풀어 설명하는 형태로 강의를 구성하는데요. 항상 강의를 보는 수강자의 입장에서는 생각해보는 편이에요. 그래서 하나의 지식을 얻고 나면 다음은 어떤 게 궁금할까, 그 뒤는 또 어떤 지식을 얻고 싶을까 하는 그 문맥을 중요하게 생각해요.

그렇게 하다 보니 제가 제작한 강의들도 여러 가지 프로젝트를 직접 시도해보면서 플러터에 대한 입문 지식을 얻고, Dart 언어를 배운 후 중급 과정으로 넘어가는 형태로 제작하게 되었네요. 이런 부분에 있어서 좋은 평가를 주시지만 저는 이런 콘셉트를 유지하고 이어가는 부분이 조금은 어려울 때도 있는 것 같아요. 하지만 반응이 너무 좋아서 더 열심히 해야겠다 싶었어요. 3개의 강의 평점이 5.0, 5.0, 4.9인데 제가 경력도 없고, 유튜브에서 영향력이 컸던 것도 아니다 보니 언젠가는 잘 되겠지 하고 막연하게 생각은 했어도 사실 이렇게 엄청난 반응은 예상을 못했어요.

저는 커리큘럼의 흐름을 가장 많이 신경 쓰고, 그 다음으로는 커뮤니케이션에 힘을 많이 주는 편이에요. 사실 어떻게 전달하더라도 개발이라는 거 자체가 어쨌든 너무 어렵거든요. 아무리 잘 설명해도 모르는 부분은 언제나 있기 마련이라 질문이 들어왔을 때 최대한 제가 많이 도움을 드릴 수 있도록 사후 서비스에 포커스를 많이 맞추는 편이에요.

제 강의가 하나에 막 30시간씩 되다 보니까 검수를 한다고 하는데, 3번만 돌려봐도 거의 100시간이 되거든요. (웃음) 그렇게 검수를 하더라도 또 문제가 생기긴 하지만, 그런 부분을 수강생분들이 많이 감안해서 봐주시고, 저한테 피드백을 주시면 제가 바로 반영하는 편이에요. 저 또한 비전공자 출신이다 보니까 배우고 싶고, 더 나은 개발자가 되고 싶은 갈망이 어떤 건지 너무나도 잘 알거든요. 그리고 그 과정 속에서 어떤 힘든 점들이 있는지 잘 이해하기에 궁금한 게 있을 때 당장 그 궁금증을 해소시키고자 해서 피드백에 포커스를 두는 편이죠.


Scene #4 마법같은 플러터의 매력에 빠지다

플러터는 불가능하다고 생각했던 것이 갑자기 마법처럼 되는 느낌이에요. 비유적으로 표현하자면, 원래는 치킨집에서는 치킨만 시킬 수 있고, 피자집에서만 피자를 시킬 수 있고, 떡볶이집에서만 떡볶이를 시킬 수 있다고 해볼게요. 하지만 요즘에 있는 콘셉트의 배달집들은 치킨, 피자, 떡볶이를 한 번에 시켜 먹을 수 있는 곳이 있잖아요. 이게 한 식당에 있으면서 이전에는 상상도 못했던 3가지 음식이 한 번에 배달이 된다는 것과 비슷한 느낌이라고 생각해주시면 이해가 쉬울 것 같아요.

원래는 3가지 음식별로 필요한 주방장이 다른 것처럼 iOS, 안드로이드, 데스크탑, 웹의 영역별로 개발자가 따로 필요하고 공수도 다 따로 들어가지만 플러터는 개발자들이 모여 하나의 콘셉트로 개발을 하면 배포는 플러터에서 알아서 해주는 거죠. 그래서 파급력이 엄청 크고, ‘이게 된다고?’ 싶은 것까지 정말 되어서 그 때부터 플러터의 매력에 빠지게 되었어요.

iOS 앱을 개발할 때와 안드로이드 앱을 개발할 때는 사용하는 언어와 프레임워크가 완전 달라요. 그렇기 때문에 하나의 앱을 제작할 때 두 플랫폼에 배포를 하려면 iOS와 안드로이드 개발을 따로 진행해야돼요. 하나의 앱을 두 번 만들게 되는 거죠. 이걸 개선한 첫 메이저 프레임워크가 React Native예요. Javascript로 컴포넌트를 작성하면 iOS와 안드로이드 네이티브 컴포넌트로 코드를 변환해주는 방식인 거죠.

하지만 플러터는 아예 다른 어프로치(approach)를 가져가요. 플러터는 스키아(Skia)라는 엔진을 사용하기 때문에 스키아 엔진을 실행할 수 있는 플랫폼이라면 어디든 똑같은 UI를 그릴 수 있어요. 언어로 치면 중국어를 하는 사람과 영어를 하는 사람이 있을 때 “안녕"이라는 말을 하면 중국어는 'Ni hao'로 번역이 되어야 하고 영어로는 'Hello'로 번역이 되어야 서로 소통이 가능하죠. 이게 React Native의 크로스 플랫폼 작동 방식이에요. 하지만 플러터는 번역 없이 “안녕"이라는 의미를 뇌파로 전달해서 의미 자체를 이해하게 해주는 방식이에요. 단어가 아무리 번역되어봤자 그 의미가 변경되지는 않으니까요. 그렇기 때문에 높은 퍼포먼스를 발휘할 수 있고 일관된 크로스 플랫폼 UI를 구현할 수 있습니다.

이렇게 마법같은 플러터는 아쉽게도 수요가 그렇게 많지는 않은 게 사실이에요. 플러터가 나온지 3년 정도밖에 안 된 굉장히 따끈따끈한 프레임워크이기 때문이라고 생각해요. 해외에서는 흔히 아는 알리바바, BMW 등 다양한 곳에서 플러터를 쓰고, 이미 상당히 활성화되어 있어요. 하지만 국내를 두고 보자면 회사 입장에서는 플러터로 개발을 하고 싶어도 일단 플러터 개발자가 적기 때문에 쓰는 것을 주저해요. 이렇게 공급이 적다 보니, 개발자들도 플러터를 배우는 것에 대해 주저하게 되죠.

위에서처럼 한 번 더 언어로 비교해보자면 우리나라에 영어, 중국어, 일본어를 쓰는 사람은 많지만 아랍어를 쓰는 사람은 비교적 많지 않잖아요. 그처럼 시장에서 아랍어를 많이 사용하지 않으니 아무리 아랍어가 마법의 언어라고 하더라도 쉽게 배우기 어려운 느낌인 셈입니다. 하지만 장기적으로 봤을 때는 콘셉트 자체가 너무 좋기 때문에 불확실성만 조금 제거된다면 분명히 시장에서 크게 주목받을 기술이라고 생각해요. 회사와 개발자, 그리고 기술의 삼각형 안에서 신뢰가 생기는 순간이 오면 충분히 좋은 날이 올 거라 생각하고 있습니다.

Scene #5 소통왕의 즐거운 하루

저는 요즘 강의 제작 외에도 주 2회 1시간 반에서 2시간 정도 라이브 방송을 진행하고, 채팅방도 관리하면서 지내고 있어요. 채팅방이나 디스코드로 연락을 주시면 어쨌든 질문에 대한 대답이 실시간으로 이뤄지기가 어렵기 때문에 바로바로 소통할 수 있는 기회가 있으면 더 명쾌한 답을 얻을 수 있지 않을까 하는 생각에서 시작하게 됐어요. 강의와 관련된 질문뿐만 아니라 커리어나 간단한 질문과 같이 어떤 질문이든 전부 받고 있어요.

막간 인터뷰 🎤

Q. 수강평 중 노래를 부른다는 내용이 있던데, 사실인가요?

그 날 술을 많이 마시고 집에 가서 이야기를 하고 싶어서 방송을 켰는데 갑자기 노래방에 가고 싶은거예요. 노래방 가고 싶다는 말을 했더니 그냥 여기에서 부르라고 하시더라고요. 저도 술김에 용기가 생겼는지 한 번 불렀던 기억이 나요.

이제는 라이브 방송을 시작하면 제일 먼저 들어와서 2시간 내내 제가 노래 부를 때까지만 기다리는 분들이 계세요. 그럴 때 한 곡씩 부르게 되면서 약간 루틴처럼 되어버린 것 같아요. 제 노래를 왜 기다리시는지 저도 모르겠는데 여튼 이 자리를 빌려 감사하다는 말 전하고 싶습니다.

아무래도 강의라는 게 제가 생각하는 과정 속에서 만들어낸 콘텐츠이다 보니 모두에게 다 완벽하게 맞을 수는 없단 말이죠. 그런데 질문을 주실 때 본인이 정확히 어떤 것이 궁금하고 어떤 부분이 이해가 안 되는지 말을 해주시면 제가 다른 방식으로 또 설명을 드릴 수 있기 때문에 그런 과정 속에서 만족을 느끼시는 것 같아요. 힘든 일상에서도 제 강의를 수강해주신 분들이 남겨주신 수강평을 보고 정말 큰 힘을 얻곤 해요. 초보자뿐 아니라 가끔 가다가 경력이 되게 기신 분들이 10년 넘게 개발을 하시면서 지금까지 본 강의 중에서 가장 설득력이 높았다는 식으로 써주신 분도 있었는데 굉장히 감사하고 인상적이었어요.

스티브 잡스의 연설 중 점과 점이 만나서 선이 되고, 선과 선이 만나서 면이 되고, 면과 면이 만나서 도형이 된다는 내용이 있거든요. 평생 살아오면서 했던 모든 경험은 이유가 있고 그것들끼리 모두 연결이 된다고 생각해요.

개발자로서 하나를 먼저 깊게 파고서, 옆으로 얕게 파고드는 게 좋다고 생각해요. 일단 최소한 하나는 깊게 알고 있어야 공학적인 개념에 대해 확실하게 알 수 있고, 그 뒤로 다른 개념을 하나씩 덧붙여가면서 성장할 수 있다고 생각합니다. 이를 통해 그 경험들끼리 모두 연결될 수 있을 거예요. 포기하지만 않는다면 언젠가는 모두가 좋은 개발자가 될 수 있을 거라 생각합니다.

저의 목표는 목소리에 힘이 있는 사람이 되는 거예요. 제가 그동안 이뤄왔고 보여줬던 모습만으로 사람들이 제 말을 믿고 따라올 수 있도록, 그리고 그들과 신뢰를 쌓고 좋은 기술들을 전달하고 좋은 개발을 하면서 그렇게 꾸준히 성장하고 싶습니다.

코드팩토리 님의 강의를 만나보세요.


[인포커스]를 계속 받아보고 싶다면?

매달 첫 번째 & 세 번째 화요일마다 찾아오는 인프런 뉴스레터,
[헬로 인프런]으로 가장 빨리 인포커스를 받아보세요!

헬로 인프런 구독하러 가기 💌
([인프런 소식 및 홍보]를 ON으로 바꿔주세요 😊)

댓글 4
  • JAEEUN SHIN
    JAEEUN SHIN

    왜 요즘 라이브 잘 안 하세요? 왜 요즘 노래 안 부르세요?

  • Zero.G
    Zero.G

    코팩님의 딕션이 너무 좋습니다.
    유튭 노래방도 더 좋구요..ㅋㅋ

  • chihwani
    chihwani

    코팩님의 이야기 잘들었습니다 초급 중급 그리고 책까지 나오네요. 저는 3개다 구매해서 매일 매일 틈날때마다 봐요 넘. 재밌어요. 쉽게 설명해주시고 많은 도움이 되요. 저도 플러터를 마주했을때 이게 돼? 이렇게 쉽게 라눈 생각을 했습니다. 향후 더 발전될거라 믿구요. 코팩님도 더 번창하시길 빌게요. 아참 코팩님 강의에 파이어베이스 연동 강의는 없던데 대중적인 파이어베이스 무료 강의해주시면 많은 도움이 될 것 같아요

  • g9191hc
    g9191hc

    사랑합니다 코드팩토리님


    코드팩토리
    코드팩토리

    내가 더