본문으로 건너뛰기

어느 날, 회사에서 서비스 개발을 멈추기로 했다.

· 약 5분
Sewon Kim
소프트웨어 엔지니어 @Neurocle

어그로성이 짙은 제목입니다. 이 글은 회사에서 2개월 간 서비스 개발을 멈추고, 개발 프로세스를 점검하고 개선하는 TF에 참여하면서 느낀 점을 정리한 글입니다. 저도 프론트엔드 개발 말고 이런 업무는 처음이라 2개월간 많은 삽질을 했는데 이 과정을 글로 정리하면서 배운 점, 개선할 점들을 돌아보고 싶었습니다.


TF의 발단

TF란 'Task Force'의 약자로, 특정 목적을 달성하기 위해 일시적으로 구성된 팀을 말합니다. 저희 회사에서는 '지속가능한 개발팀'을 위해 2달간 제품 개발을 멈추고, 회사의 개발 프로세스를 점검하고 개선하는 TF를 구성했는데요. 이 TF는 서비스의 메이저 업데이트 회고 이후 제기된 문제점을 해결하기 위해 시작되었습니다.

새벽 5시 퇴근... 그만 하려면 어떻게 해야할까요?

저희 회사의 제품은 예전 포토샵과 같은 패키지 형태이고, 5~8개월 주기로 서비스를 배포 합니다. 유저에게 배포 메일이 릴리즈 된 이후에는 제품에 버그가 있어도 변경할 수 없기 때문에 마지막의 마지막까지 공들여 QA하고 버그픽스를 진행하는데요. 핫픽스 버전을 내는 것이 비즈니스적으로 비용이 매우 많이 드는 작업이고, 고객과의 신뢰와도 연관되어있기 때문에 모든 개발자가 부담을 가지고 진행합니다. 스프린트 후반에는 종종 주말 출근을 하기도 하고, 최종 빌드 날까지 버그 픽스와 QA를 진행하느라 새벽 퇴근이 당연해지는 문제가 있었어요.

글쓰기 연습

· 약 3분
Sewon Kim
소프트웨어 엔지니어 @Neurocle

블로그 3.0을 시작하며 양질의 글을 쓰기로 마음먹은지 벌써 2년이 지났습니다. 하지만 메세지가 있는 글, 내 마음에 드는 글을 쓰기란 생각보다 쉽지 않았고 2년간 9개 밖에 작성하지 못했습니다. 올해 글쓰기를 조금 더 잘하고 싶어서 글또 9기 활동을 시작했고, 글또에서 <실용주의 글쓰기> 세미나를 듣고 제 작문 활동을 되돌아 봅니다.

2023 year in review

· 약 4분
Sewon Kim
소프트웨어 엔지니어 @Neurocle

지덕체를 고루 갖춘 훌륭한 사람이 되고자 했던 2023년이 지나갔습니다. 회고를 쓰고 있는 지금은 감기에 걸려서 조금 골골대고 있지만 종합적으로 보면 지덕체 스탯을 골고루 찍었지 않았나... 하는 생각이 드네요. 구체적으로 1년동안 어떻게 살았는지, 그리고 2024년에는 또 방향으로 나아가야 하는지 생각하는 시간을 가져보려고 합니다.

Locize로 언어키 관리 생산성을 높인 방법

· 약 3분
Sewon Kim
소프트웨어 엔지니어 @Neurocle

여러 가지 언어를 지원하는 서비스를 만들 때, 개발적인 어려움 외에도 디자이너, 번역가와 협업하면서 마주치는 어려움도 있습니다. 이 글은 제가 다국어 언어 key 관리 업무를 맡으며 겪었던 비효율과 이를 Locize라는 플랫폼으로 해결한 내용을 다룹니다. 언어 key 관리에 고통받는 분들의 생산성을 높이는 데 도움이 되길 바랍니다.

다국어 서비스 개발자가 마주친 7가지 어려움

· 약 5분
Sewon Kim
소프트웨어 엔지니어 @Neurocle

이전 포스트에서 소개했듯이 저는 현재 회사에서 다국어 서비스를 만들고, 운영하고 있습니다. 이 글에서는 3개 국어를 지원하는 서비스를 개발해 오면서 겪었던 어려움과, 이를 해결하기 위해 시도했던 방법들을 공유하고자 합니다. 글로벌 서비스를 운영하시는 분들께 도움이 되었으면 좋겠습니다.

삶의 지도

· 약 3분
Sewon Kim
소프트웨어 엔지니어 @Neurocle

글또 9기를 지원하며 작성한 글입니다.

내가 거의 매일 사용하는 어플 중 하나는 지도 어플이다. 기술이 발전하면서 지도의 기능이 다양해져 단순히 길을 찾는 데에만 쓰지는 않는다. 이동시간을 최적화 할 때, 맛집을 찾아볼 때, 또가고 싶은 곳을 기록할 때에도 쓴다. 새로운 길을 갈 때에도 도움이 되지만, 익숙한 길을 갈 때에도 도움이 되기도 한다.

만약 삶에도 지도가 있다면, 앞으로 가야할 길에 큰 도움이 되지 않을까? 실제 지도를 볼 때처럼 내가 지금 어디에 있고, 어디로 가야하고, 어떻게 가야할지 지도에 비유해 생각해 보려고 한다.

백세코딩

· 약 2분
Sewon Kim
소프트웨어 엔지니어 @Neurocle

나는 어떻게 개발자가 되었나?

프롤로그를 읽고, 내가 어떻게 개발자가 되었는지 다시 생각해보았습니다. 저자는 거의 모든 IT의 역사에서 언급됐던 것처럼 PC가 막 보급되던 때, 우연히 컴퓨터를 접하게 되고 컴퓨터와 사랑에 빠져 청계천과 용산 전자상가를 누비며 개발자의 꿈을 키워온... 전형적인 중년의 개발자 스토리의 주인공이었습니다. 개발이 3D 업종으로 취급받던 때에도, 지금처럼 각광받던 때에도 환경에 휩쓸리지 않고 컴퓨터를 사랑하는 마음으로 '지속가능한 개발 라이프'를 꿈꾸며 살아가고 계시는 모습을 보면서 '나는 사실 프로그래밍에 대해서 이 정도의 추억, 낭만, 열정 같은 건 없는데... 계속 해도 되는 걸까?' 라는 생각이 들었습니다.

저는 사실 컴퓨터엔 관심이 없었습니다. 꿈은 없고, 그냥 놀고 싶지도 않고, 어떻게 살아가야 할 지 몰랐던 때에 배우고 있었던 게 웹 프로그래밍이었습니다. 마침 취업 시장에서 개발자 대우가 좋아지고 있었고, 많은 사람들이 IT 업계로 뛰어들고 있었던 때였습니다. 그래서 저도 그냥 따라가기 시작했습니다. 그렇게 개발자가 되었습니다. 아직도 마음깊이 원하는, 나와 딱 맞는 직업이라고는 확신할 수 없어서 개발자로 몇 십년을 살아온 저자의 이야기를 재미있게 읽었습니다.

거의 모든 IT의 역사

· 약 3분
Sewon Kim
소프트웨어 엔지니어 @Neurocle

역사를 잊은 개발자에게 미래는 없다

약 480여쪽에 이르는 이 책을 읽고 나면 역사를 잊은 개발자에게 미래는 없다. 라는 말이 있을 법도 하다고 느껴집니다. 1955년 스티브 잡스와 빌 게이츠의 탄생으로 IT의 역사는 시작되는데요. 애플과 마이크로소프트를 중심으로 현재의 IT 산업이 어떻게 발전해왔는지, 그리고 부록으로 한중일의 IT 역사도 함께 살펴볼 수 있습니다.

나의 작고 소중한 IT 역사

한컴타자연습

제가 컴퓨터를 다뤘던 첫 기억은 windows97 한컴타자연습 이었습니다. 8살 쯤 다음 아이디를 처음 만들어 가족들과 이메일을 주고받던 시절을 지나 windows10, 스마트폰을 사용하는 시기에 이르기까지 컴퓨터를 숨쉬듯이 사용하던 삶에 비해 역사에는 정말 관심이 없었던 것 같습니다. IT 업계에 뛰어들고 나서도 2년동안은 그저 눈 앞의 기술을 익히는 것에만 급급했던 것 같아요. 이제 단순 기술 트렌드를 쫓아가기보다는 어떤 기술이 어떤 맥락에서 탄생했고, 어떤 문제를 해결하는지에 대한 통찰력을 기르고 싶었는데 이 책을 읽으면서 그런 부분을 많이 채워나갈 수 있었습니다.

웹 브라우저

세계 최초의 웹 브라우저와 웹 서버가 스티브잡스가 설립한 넥스트라는 회사라는 것에 놀랐는데요. 어떻게 보면 제가 지금 먹고 살 수 있게 된 것이 스티브 잡스 덕분이라고도 볼 수 있는데 그런 사실을 까맣게 모르고 있었다니 조금 충격적이었습니다. 시간이 나면 웹 브라우저의 역사에 대해서도 한 번 살펴보고 싶었습니다.

이 외에도 오픈소스의 탄생과 발전에 관한 부분도 재미있었습니다. 대학생 때, 과제로 오픈소스 관련 레포트를 몇 장 제출했을 때에도 오픈소스 정신에 대해서, 이게 레포트를 써야할 만큼 중요한 정신인지 이해하지 못했었는데 이제야 마음으로 이해하게 되었어요! IT에 대한 맥락이 부족해서 이해하지 못했던 것 같은데 흐름을 안다는 것이 얼마나 중요한 지 이제야 알게 되었습니다. 웹 개발, 앱 개발을 막론하고 IT 업계에 종사하고 있다면 흥미롭게 읽을 수 있을 것 같고, 이제는 일상에서 인터넷과 컴퓨터를 떼 놓을 수 없으니 종사자가 아니더라도 재미있게 읽을 수 있을 것 같습니다.

글로벌 시대, 다국어 지원하는 웹사이트 만들기

· 약 3분
Sewon Kim
소프트웨어 엔지니어 @Neurocle

제가 회사에서 만들고 있는 제품은 한국뿐 아니라 일본, 싱가폴, 대만, 유럽 등 다양한 국가에 고객사가 있습니다. 지금은 영어, 일본어, 한국어를 지원하고 있는데요. 취준생 시절 포트폴리오를 만들기 위한 웹서비스 개발을 할 때에는 다국어 지원 경험이 많지 않아서 처음엔 조금 생소한 주제였습니다. 그래서 이번 기회에 다국어 지원을 위한 구현 방법을 정리해보려고 합니다.

먼저, 생각해 볼까요?

naver

위와 같이 다양한 언어를 지원하는 서비스를 만들려면 어떻게 해야할까요? 간단히 구현방법을 생각해보면 다음과 같습니다.

  1. 컴포넌트 내 모든 문구를 하드코딩하지 않고, 언어에 맞는 문구를 반환하는 메서드를 사용한다.
  2. 언어별로 문구를 관리하는 파일을 마련한다.
  3. 언어 선택 버튼을 만들어서, 언어를 선택하면 해당 언어로 문구를 반환할 수 있도록 한다.

생각보다 복잡하지는 않습니다. 직접 구현해 보는 것도 좋은 경험이지만 위에 나열한 것들을 쉽게 구현할 수 있도록 도와주는 라이브러리가 이미 존재합니다!

첫 직장, 스타트업에서의 2년

· 약 4분
Sewon Kim
소프트웨어 엔지니어 @Neurocle

뉴로클에서 일한 지 벌써 2년이 다 되어갑니다. 첫 직장, 스타트업에서의 2년을 돌아보고 앞으로의 각오를 정리해 봤어요.

입사 전

합격 메일을 받고 약 3주간의 시간이 있었습니다. 사실 그때 당시에는 AI 도메인에 대해 잘 몰랐고, 회사가 만드는 제품에 대해서도 잘 몰랐어요. 그냥 개발자로 커리어를 한시라도 빨리 시작하고 싶어서, 빨리 개발을 잘하게 되어 좋은 회사에 가고 싶다는 단순한 생각으로 입사를 결정했던 것 같습니다. 그만큼 모르는 것이 많았기에 불안함도 컸고요.

신입 개발자 생존의 기술

첫 사회생활이다 보니 대책 없이 떨기만 했고, 불안감을 줄여보고자 <신입 개발자 생존의 기술> 같은 책을 사서 입사 이후 시뮬레이션을 돌려보기도 했어요. 저런 책들은 사실 실리콘 밸리를 기준으로 하고 있는 것들이 많기도 하고, 실제로 적용 해 볼만한 것들은 많지 않았던 것 같습니다. 그냥 재미있는 책을 읽을껄... 껄껄

돌아보니 입사 전의 저는 정말 아무것도 모르는 상태였던 것 같네요.