월간 지앤선

인터뷰 및 편집 : 아델라 월간지앤선 편집장

 

본편은 '[2020릴레이인터뷰] 세 번째 주자, 엔지니어 김용균 (1)' 편을 이은 연재물입니다. 김용균님이 거쳐온 프로그래밍에 대한 시작부터 현재가 궁금하시다면, 전 편을 읽어주세요. :)

 


 

안녕하세요, 김용균입니다. 문제를 해결하기 위해 작고 단단한 코드를 작성하는 일을 합니다.

웹의 자유로운 접근성을 좋아합니다.

프로그래밍 언어, 소프트웨어 아키텍처, 커뮤니티에 관심이 많습니다.

지금은 캘리포니아 리버사이드에서 공부하고 있으며 커뮤니티 이상한모임에서 활동하고 있습니다.

 

 

기록, 그리고 edykim.com/ko 블로그

 

Q. 용균님 블로그 소개를 간단히 부탁드려요.

개인 블로그로 2011년부터 운영하고 있습니다. 예전엔 haurair.com에서 운영했는데 edykim.com/ko 이전했어요. 주로 개발 관련 글과 번역을 올리고 있지만 주제를 제한해서 올리고 있진 않습니다.

이전에도 네이버나 싸이월드, 이글루스 등지에서 블로깅을 하다, 2011년에  wordpress를 공부해볼 겸 호스팅을 얻어 블로그를 시작하게 되었는데요. 큰 주제 없이 이런저런 글을 쓰다가 호주로 워킹홀리데이를 떠나면서 좀 더 본격적으로 글을 올리게 된 것 같습니다.

저는 블로그를 얇고 길게 운영할 생각입니다. 또한 요즘 트위터 타임라인에 새로 만들어진 블로그도 많이 보이는데, 그분들께 힘을 더 실어줄 방법은 없을까 고민하고 있습니다.

용균님의 블로그 첫 메인 화면

 

Q. 아무래도 블로그 운영하는데 품이 좀 들 것 같은데, 블로그 운영을 꾸준히 하게되는 원동력은 무엇이라고 생각하시나요?

저는 나중에 제가 볼 글을 올려요. 그래선지 저랑 비슷한 경력이나 환경에 계신 분들도 비슷하게 유익하다 느끼시는 것 같아요. 제 글로 도움이 되었다는 연락을 많이 받는데 그럴 때마다 기분이 좋습니다. 특히 호주에서 워킹홀리데이 비자로 IT 분야에 취업하는 글을 올렸을 때 많은 연락을 받았었어요. 그 글을 보고 도전해서 정착했다는 분도 있었습니다. 그러한 경험이 블로그를 계속 운영하게 하는 힘이 됩니다. 저 역시 다른 분의 블로그를 읽으면서 좋은 피드백을 드리려고 노력하기도 합니다.

SNS가 많아짐에 따라, 이런 저런 글을 쓸 플랫폼은 많아졌지만 시간이 흐르면서 찾기도 힘들고, 정리도 잘 되지 않는 것 같습니다. 개중에는 SNS에 쓴 글을 잘 백업하시는 분들도 계시지만 저는 그렇지 못하겠더라고요. 대신에 블로그에 기록해두는 형태는 장기적으로 기록을 많이 남기는데 적합한 것 같습니다. 특히 저 자신에게 유용한 기록이라면 더 오래 가꾸게 되고요.

 

블로그를 운영하면서 가장 큰 충동은 ‘뭐하려고 이렇게 볼품 없는 글 쓰는데 시간을 쓰나’ 라는 마음 때문에 블로그를 없앨까 고민하는 것이에요. 저도 1년에 두어 번 블로그를 없앨 고민을 하고 있는데 그럴 때마다 테마를 바꾸고 새단장 하면서 기분 전환을 하는 편입니다. 지금은 유치하게 보이는 예전에 작성했던 글을 지우고 싶기도 해요. 하지만 그 글을 누가 보겠나 싶기도 하고, 설령 보더라도 “저도 이런 시절이 있었답니다, 여러분도 블로그 하세요” 같은 마음으로 내버려 두고 있어요.

 

Q. 블로그 서버는 어떤 식으로 운영하나요?

전에는 Digital Ocean에 가장 작은 Droplet에 워드프레스를 직접 운영하고 있었는데 직장을 정리하면서 고정 지출을 줄이기 위해 정적 블로그로 이전했습니다. 현재는 정적 블로그인 Gatsby로 이전했고 netlify에서 무료로 호스팅하고 있습니다. 코드는 Github에 있고 도메인 비용만 지출하고 있습니다.

 

토이프로젝트

 

Q. 작년에 ‘비쥬얼타이머’라는 iOS 앱을 개발했는데, 앱 개발기가 궁금합니다. 참, 저도 그 타이머 정말 잘 쓰고 있어요.

타이머를 사용하고 계신다니 감격이네요! 

호주에서 미국으로 넘어오는 과정에서 학기 시작 전까지 시간이 있었습니다. 이 참에 일상적으로 사용하는 도구를 만들어보겠다는 결심을 했어요. 아무래도 웹으로 만드는 것보다 항상 사용하고 있는 스마트폰에서 쉽게 쓸 수 있는 앱을 만들어보고 싶었습니다. 

 

토이프로젝트를 할 때마다 매번 출시하진 않았지만, 그동안 앱을 만들던 경험이 있던 상태였어요. 미국에 와서 처음 출시했던 앱은 팁 계산기였는데, Native가 아니라서,  앱 같지 않았던 동작이 몇 가지 있었어요. 그래서 이번에는 React Native로 원하는 기획을 구현하고자 했습니다.

 

우선 개발하기 전에는 프로토타입을 먼저 만들었습니다. 앱을 출시한 이후에도 추가된 부분이 많긴 했지만, 프로토타입을 만드는 과정이 프레임워크에 익숙해지는데 큰 도움이 되었어요.

 

또한 개발에 필수적으로 들어가는 라이브러리가 존재하는지 확인하기도 했습니다. 뿐만 아니라, 앱스토어에 출시된 유사 앱을 검색하고 사용해봤고, 리뷰를 통해 사람들이 필요로 하는 부분을 반영했어요. 무조건적으로 리뷰어들의 의견을 따른 것은 아니었지만 리뷰를 통해 사용자 관점에서 앱을 이해할 수 있게 되어 많은 도움을 얻었습니다.

 

여행을 다녀오거나, 가족 행사 등 개인 일정을 제외하면 앱 개발까지 약 3주 내외 정도 소요했던 것 같습니다. 개발 자체에 시간을 많이 쓰기보다는 내부에 있는 리소스를 만드는데 더 많은 시간을 할애했어요. 

 

한편으로는 출시 전에 이상한모임에서 테스트를 진행했는데 앱 개발자 분들이 확실히 더 넓은 시야로 피드백을 주시더라고요. 큰 도움이 되었습니다. 말씀하신 부분들은 현업에 종사하지 않으면 잘 알 수 없는 부분이었어요. 테스트를 진행하는 과정에서 어떤 부분을 염두하며 개발해야 하는지 배우게 되었습니다.

 

출시 이후인 지금도 개선할 부분이 많고 사용자분들도 계속 피드백 주고 계셔요. 하지만 학교를 다니기 시작한 이후로 토이프로젝트 개발에 시간을 거의 못쓰고 있어서 그분들께 참 죄송할 따름입니다. 

 

‘뽀모도로를 위한 반복 기능’이라든지, ‘개발자 팁 보내기 기능’은 모두 사용자 분들이 앱을 직접 사용해보시고 제안하셨던 기능이었습니다. 생각보다 많은 분이 다운로드 후 사용하셔서, 개발자로서 늘 감사한 마음을 지니고 있습니다.

 

이번 앱개발을 통해 그동안 경험하지 못해서 몰랐던 부분을 많이 배울 수 있었습니다.  인앱 결제 등 웹에서는 경험해보지 못하는 부분이 많은데, 비주얼 타이머를 만들면서 어떤 부분이 다르고 비슷한지 알 수 있었고요. 웹과는 다르게 직접 만져볼 수 있는 부분이 많아서 즐거웠습니다.

 

Q. 앱은 직접 디자인 하신건가요? 비쥬얼타이머 앱 디자인이 참 예뻐서 감탄했었습니다.

아이콘은 font awesome을 사용했고, 리소스는 여러 공개된 리소스를 사용하고 있습니다. 그 외 디자인 요소는 직접 작성했습니다. 자신의 기분에 어울리는 색상으로 타이머 배경 색을 지정해서 타이머를 쓸 수 있어서 좋았다는 피드백도 받았었어요. 이렇게 또 예쁘다고 해주시니 기분이 좋네요.

비쥬얼타이머 앱 예시 화면

 

Q. 프로젝트를 하면 어떤 점이 좋은가요? 즐거워진다거나, 갖가지 지식을 업데이트 하게 된다거나, 여러 장점이 있을 것 같아요.

저는 개발을 통해 개발에 필요한 지식을 빨리 익힐 수 있다는 장점을 첫번째로 꼽고 싶습니다. 때로는 이 개발을 통해 결과물이 나오기도 하고, 때로는  다른 형태로 바뀌기도 하고, 때로는 만들다 방치되기도 하고요. 그 중에는 공개하는 코드도 있고, 공개하지 않는 코드로 컴퓨터 어딘가에 있기도 합니다.


교과서 보듯 이론을 배워 학습하는 것보다, 일단 무언가를 만들어보면 확실히 만드는 방법이 손에 빨리 익게 됩니다. 필요에 따라 도구를 학습하는 과정이랑 도구를 배우면서 이런 상황에서 쓰인다 공부하는 일은 다르니까요. 물 교과서처럼 배우지 않아서 생기는 문제도 있긴 합니다. 예를 들어 어렵게 A를 사용하는 것보다 B를 뒤집어 적용하면 간편하게 해결할 수 있는 경우도 있거든요.

두번째로는 다른 사람에게 보여줄 결과물이 생기는 것도 또 다른 즐거움인 것  같습니다. 물론 이미 개발하고 계신 분들한테 보여주면 별로 흥미롭지 않으실 수도  있지만요. 실제로 유용하게 쓰는 사람이 주변에 있다면 그 분 삶에 도움을 드릴 수도 있고 저도 유익한 피드백을 들을 수 있기도 하고요. 저는 반려자님이 앱을 출시 전부터 매일 사용하고 계셨던지라 그분으로부터 더 다양한 피드백을 듣고 앱에 반영할 수 있었습니다!

 

Q. 반대로 프로젝트를 하시면서 힘든 적도 있나요?

토이프로젝트는 힘들면 손에서 멀어지는게 자연스러운 것 같습니다. 아마 대부분 하기 귀찮은 부분 때문에 토이프로젝트를 출시하지 않는 것 같아요. 저도 같은 이유로 비주얼 타이머를 출시하기 전 리소스를 작성하는 시기에 고민이 되었습니다.  앱스토어에 올릴 문구와 다양한 규격의 스크린샷을 찍는 일은 정말 보통 일이 아니었거든요. 저는 타이머를 한국어와 영어 버전을 각각 따로 출시했는데 언어별로 앱에 필요한 리소스를 별개로 만들어야 하는 것 역시 힘들었던 것 같습니다.

 

김용균님의 커뮤니티 참여 이야기, 그리고 해외 생활 이야기가 궁금하시다면, [2020릴레이인터뷰] 세 번째 주자, 엔지니어 김용균 (3) 편을 기다려주세요 :)