DRAMA&COMPANY
We're Hiring!
No Result
View All Result
DRAMA&COMPANY
We're Hiring!
No Result
View All Result
DRAMA&COMPANY
No Result
View All Result

드라마에서 1년의 성장기

rfrost by rfrost
2016년 8월 8일
in 기술 블로그
Reading Time: 1 min read
0

2015년 7월에 입사하여 드라마앤컴퍼니에 온지 이제 1년이 지났습니다. 어느 분야든 정체를 겪다가 한번에 올라가는 순간이 있습니다. 저는 120만명 이상이 사용하는 리멤버 서비스의 안드로이드 앱을 혼자 개발하면서 한번에 올라가는 성장을 경험하고 있습니다. 개발 능력도 많이 성장하였지만, 근본적인 것들을 많이 배웁니다. 그리고 배운 것들 중 의미있는 것들을 나누려고 합니다.

원칙있는 개발, 기술부채의 최소화

지금까지 많은 유저가 실제로 사용하는 무언가를 만든 경험이 없었습니다. 리멤버를 통해 처음으로 돌아가는 서비스를 만들기 시작하였습니다. 일정기간 이상 운영된 서비스는 여러 기능이 얽혀 복잡도가 높습니다. 기획이 지속적으로 변경, 개선, 추가됨에 따라 복잡한 구조 사이로 코드를 변경하는 비용이 점점 증가합니다. 이러한 기술부채는 시장에서 제품을 빨리 검증받아야 하는 초기에는 의미있지만, 리멤버는 그런 시기가 지나있었습니다. 저는 기본으로 돌아갔습니다.

기술부채는 어느 시점을 넘어가면 개발속도를 저하시킵니다.

 

책임이 섞여있던 클래스들을 분리하고 리팩토링 하였습니다. 사용되고 있던 다양한 기술들을 역할에 따라 통일하였습니다. Flux, MVP 등의 패턴들을 새로 공부하여 앱 구조를 변경하였습니다. 테스트를 도입하고 CI를 연동하였습니다. 앱의 근본적인 변화가 쉽지는 않았지만, 몇개월의 투자로 이제 예전보다 빠르고 안정적인 개발을 하고 있습니다. 변화에 빠르고 안정적으로 대응할 수 있는 좋은 디자인의 소프트웨어를 만들기위해 기본으로 돌아가면서, 개발과 설계의 중요한 원칙들을 몸으로 익히고 있습니다.

https://speakerdeck.com/rfrost77/rimembeo-andeuroideu-byeonceongi

서비스를 운영한다는 것, 레거시에 대한 존중

프로젝트 단위로 개발을 할 때에는 항상 새롭게 만들었기 때문에 기존 유저를 고려하지 않아도 괜찮습니다. 하지만 돌아가고 있는 서비스에 변화를 준다는 것은, 기존 유저와 배포된 앱버전들을 고려해야 한다는 것을 뜻합니다. 그리고 이것이 운영의 일부입니다. 저는 실제 돌아가는 서비스에 대한 운영경험이 부족하였습니다. 생산성있는 개발환경과 퍼포먼스 좋은 소프트웨어를 만들기위해 고민하였지만, 기존의 것들까지 포함한 안정성은 많이 생각하지 못하였습니다.

그렇게 가입이 안되거나, 명함이 사라지거나 등의 몇번 큰 버그가 있었습니다. 운영을 고려하지 않고 많은 변화를 주었기 때문입니다. 불안정한 개발로 사용자 경험을 해치는 실수를 하면서, 레거시가 꼭 나쁜 것은 아니구나, 그것들까지 감싸면서 안정적으로 개발하는 것이 진짜 서비스를 ‘운영’하는 것이라는 것을 배웠습니다. 트렌드와 최신 기술을 꾸준히 따라가고 배우는 자세는 개발자로서 필요합니다. 하지만 실제 서비스는 약간의 퍼포먼스보다 검증된 안정성이 더욱 중요합니다. 저는 비용을 치루고 나서야 안정성을 검증하고 변화를 적용하는 자세를 배울 수 있었습니다.

운영되고 있는 서비스는 약간의 퍼포먼스보다 안정성이 더 중요한 이슈입니다.
운영되고 있는 서비스는 약간의 퍼포먼스보다 안정성이 더 중요한 이슈입니다.

문제 정의, 깊은 고민

모든 커뮤니케이션에는 이유가 존재합니다. 특히 문제에 대해 논의할 때에는 더욱 그렇습니다. 그런데 대화가 흘러가다보면 논점에서 벗어나기 쉽습니다. 그래서 문제를 정확히 용어로 정의하는 것이 중요합니다. 논의 주제를 적어놓고 보면서 계속 생각을 바로잡아야 올바른 결론을 도출할 수 있습니다. 회의뿐만 아니라 무언가를 고민할 때에도 마찬가지입니다. 내가 이것을 고민하는 이유를 계속 생각하면서 논리를 진행해야 좋은 의사결정을 할 수 있습니다. 드라마인들은 문제를 접근하기 전에 왜 우리가 이것을 해결해야 하는지 정의하고 시작합니다. 자연스럽게 저 또한 문제를 정의하고 생각을 정리하는 좋은 습관을 익혔습니다.

저는 이전까지 직감과 경험을 바탕으로 빠르게 무언가를 판단 하였습니다. 좋게 말하면 결단력 있는 것이지만, 가벼운 고민으로 좋은 의사결정을 하지는 못했습니다. 드라마에서 여러 의사결정을 보면서 문제에 잘 접근하는 방법을 배웠습니다. 구체적으로 그림을 그려보는 것이 중요합니다. 실제적인 깊은 고민은 의사결정을 단단하게 하고, 혹 결정이 실패하더라도 많은 Lessons Learned을 줍니다. 너무 긴 시간을 소요하면 안되겠지만, 내가 할 수 있는 최선의 깊이까지 바르게 고민하는 자세는, 매 선택으로부터 나를 발전시키는 중요한 발판 입니다.

문제를 정의하고 구체적으로 선택지를 따져가여 깊이 고민합니다.
문제를 정의하고, 다양한 선택지를 구체적으로 고민하며, 바른 해결책을 찾아갑니다.

좋은 비전을 공유하는 훌륭한 동료들과 재밌게 일하는 경험

지금까지 이것저것 배운 것들을 말씀 드렸지만, 제가 1년동안 얻은 가장 큰 것은, 좋은 비전을 공유하는 훌륭한 동료들과 함께 재미있게 일하는 지금의 경험 자체 입니다.

회사는 무언가를 함께 이루어나가며, 과정에서의 수익을 공유하는 집단입니다. 함께 이룰 무언가를 우리는 비전이라고 부릅니다. 가능성 있고 재미있는 비전 아래에는 좋은 사람들이 모이고, 모두 목표를 위해 자신의 최선을 다합니다. 드라마앤컴퍼니는 그런 일이 일어나고 있는 회사입니다. 우리가 바라보는 큰 그림을 위해 한 방향으로 함께 달리고 있습니다. 지금의 좋은 경험은 앞으로의 커리어에서도 타성에 젖지 않고, 목표를 향해 힘껏 달리도록 동기를 부여해주는, 긍정적인 마인드의 원동력이 될 것입니다.

좋은 비전을 훌륭한 동료들과 함께 잘 풀어내는 지금의 경험은, 앞으로의 커리어를 긍정적으로 쌓아갈 중요한 양분입니다.
좋은 비전을 훌륭한 동료들과 함께 잘 풀어내는 지금의 경험은, 앞으로의 커리어를 긍정적으로 쌓아갈 중요한 양분입니다.

 

저는 1년동안 이렇게 성장하였습니다. 아직 부족한 점이 많지만, 좋은 팀원들과 함께하기 때문에 지금처럼, 지금보다 더욱 발전할 수 있을 것이라 믿습니다. 앞으로 2년, 5년, 10년 후 저는 어떤 모습일지, 그리고 제가 뛰어든 이 비전이 어떻게 펼쳐질지 너무나 궁금합니다.

Reference

  • http://martinfowler.com/bliki/DesignStaminaHypothesis.html

이 글 공유하기:

  • 트위터로 공유하기 (새 창에서 열림)
  • 페이스북에 공유하려면 클릭하세요. (새 창에서 열림)

관련

Related Posts

리멤버 서버/웹 팀은 어떻게 일을 하는가?
기술 블로그

리멤버 서버/웹 팀은 어떻게 일을 하는가?

이번 글에서는 리멤버 서비스들의 웹 사이트와 API, 인프라를 담당하고 있는 서버/웹 팀이 일하는 모든 방식을 다루고 있습니다. 추상적인 글을 넘어서 실제 스크릿샷 등을 포함하여 저희가 어떻게 일을 하고 있는지 낱낱이 보여 드리고자 합니다.

2020년 12월 21일
[인터뷰] “6개월 전의 코드가 부끄럽고 아쉬웠어요.”
기술 블로그

[인터뷰] “6개월 전의 코드가 부끄럽고 아쉬웠어요.”

‘성장’을 갈망하는 4년차 개발자 인터뷰Server/Web팀 강태화님, 이민구님이 리멤버를 선택한 이유.   강태화님 : 4년차 개발자이자 리멤버 서버 개발자. ‘세상을 변화시키는 작은 조직’에 동참하고 싶다는 그는 사진앱을 개발하다, IoT 회사의 펌웨어 개발자를 거쳐 리멤버 서버 개발자로 합류 이민구님 : 4년차 프론트...

2020년 11월 30일
Java&Spring 개발자가 Ruby on Rails 를 해보고 마주친 생각들
기술 블로그

Java&Spring 개발자가 Ruby on Rails 를 해보고 마주친 생각들

안녕하세요? 리멤버를 개발하는 드라마앤컴퍼니 서버/웹팀의 서버 개발자 이한별입니다. 저는 Spring Framework 로 제품 개발을 3년 정도를 했습니다. 이후 최근 11개월동안은 Rails 로 제품 개발을 하고 있습니다. Spring 개발자가 왜 Rails 에 관심을 갖게 됐는가? Spring, 특히 Spring Boot 라는 Framework...

2020년 11월 16일
Next Post
Ruby 코드 성능 최적화 (feat. ruby-prof, Benchmark)

Ruby 코드 성능 최적화 (feat. ruby-prof, Benchmark)

아름다운 모델 구조를 찾아서

아름다운 모델 구조를 찾아서

답글 남기기 응답 취소

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다

DRAMA&COMPANY

© 2021 DRAMA&COMPANY

Sites

    Follow Us

    No Result
    View All Result