스토리 홈

인터뷰

피드

뉴스

조회수 1405

블로그 운영 방법에서 엿보는 VCNC의 개발문화 - VCNC Engineering Blog

 VCNC에서 엔지니어링 블로그를 시작하고 벌써 새로운 해를 맞이하였습니다. 그동안 여러 글을 통해 VCNC 개발팀의 이야기를 들려드렸습니다. 이번에는 엔지니어링 블로그 자체를 주제로 글을 적어보고자 합니다. 저희는 워드프레스나 텀블러와 같은 일반적인 블로깅 도구나 서비스를 사용하지 않고 조금은 개발자스럽다고 할 수 있는 특이한 방법으로 엔지니어링 블로그를 운영하고 있습니다. 이 글에서는 VCNC 개발팀이 엔지니어링 블로그를 운영하기 위해 이용하는 방법들을 소개하고자 합니다. 그리고 블로그를 운영하기 위해 방법을 다루는 중간중간에 개발팀의 문화와 일하는 방식들에 대해서도 간략하게나마 이야기해보고자 합니다.블로그에 사용하는 기술들Jekyll: Jekyll은 블로그에 특화된 정적 사이트 생성기입니다. GitHub의 Co-founder 중 한 명인 Tom Preston-Werner가 만들었으며 Ruby로 작성되어 있습니다. Markdown을 이용하여 글을 작성하면 Liquid 템플릿 엔진을 통해 정적인 HTML 파일들을 만들어 줍니다. VCNC 엔지니어링 블로그는 워드프레스같은 블로깅 도구를 사용하지 않고 Jekyll을 사용하고 있습니다.Bootstrap: 블로그 테마는 트위터에서 만든 프론트엔드 프레임워크인 Bootstrap을 이용하여 직접 작성되었습니다. Bootstrap에서 제공하는 다양한 기능들을 가져다 써서 블로그를 쉽게 만들기 위해 이용하였습니다. 덕분에 큰 공을 들이지 않고도 Responsive Web Design을 적용할 수 있었습니다.S3: S3는 AWS에서 제공되는 클라우드 스토리지 서비스로서 높은 가용성을 보장합니다. 일반적으로 파일을 저장하는 데 사용되지만, 정적인 HTML을 업로드하여 사이트를 호스팅하는데 사용할 수도 있습니다. 아마존의 CTO인 Werner Vogels 또한 자신의 블로그를 S3에서 호스팅하고 있습니다. VCNC Engineering Blog도 Jekyll로 만들어진 HTML 파일들을 아마존의 S3에 업로드 하여 운영됩니다. 일단 S3에 올려두면 운영적인 부분에 대한 부담이 많이 사라지기 때문에 S3에 올리기로 하였습니다.CloudFront: 브라우저에서 웹페이지가 보이는 속도를 빠르게 하려고 아마존의 CDN서비스인 CloudFront를 이용합니다. CDN을 이용하면 HTML파일들이 전 세계 곳곳에 있는 Edge 서버에 캐싱 되어 방문자들이 가장 가까운 Edge를 통해 사이트를 로딩하도록 할 수 있습니다. 특히 CloudFront에 한국 Edge가 생긴 이후에는 한국에서의 응답속도가 매우 좋아졌습니다.s3cmd: s3cmd는 S3를 위한 커맨드 라인 도구입니다. 파일들을 업로드하거나 다운로드 받는 등 S3를 위해 다양한 명령어를 제공합니다. 저희는 블로그 글을 s3로 업로드하여 배포하기 위해 s3cmd를 사용합니다. 배포 스크립트를 실행하는 것만으로 s3업로드와 CloudFront invalidation이 자동으로 이루어지므로 배포 비용을 크게 줄일 수 있었습니다.htmlcompressor: 정적 파일들이나 블로그 글 페이지들을 s3에 배포할 때에는 whitespace 등을 제거하기 위해 htmlcompressor를 사용합니다. 또한 Google Closure Compiler를 이용하여 javascript의 길이도 줄이고 있습니다. 실제로 서버가 내려줘야 할 데이터의 크기가 줄어들게 되므로 로딩속도를 조금 더 빠르게 할 수 있습니다.블로그 관리 방법앞서 소개해 드린 기술들 외에도 블로그 글을 관리하기 위해 다소 독특한 방법을 사용합니다. 개발팀의 여러 팀원이 블로그에 올릴 주제를 결정하고 서로의 의견을 교환하기 위해 여러 가지 도구를 이용하는데 이를 소개하고자 합니다. 이 도구들은 개발팀이 일할 때에도 활용되고 있습니다.글감 관리를 위해 JIRA를 사용하다.JIRA는 Atlassian에서 만든 이슈 관리 및 프로젝트 관리 도구입니다. VCNC 개발팀에서는 비트윈과 관련된 다양한 프로젝트들의 이슈 관리를 위해 JIRA를 적극적으로 활용하고 있습니다. 제품에 대한 요구사항이 생기면 일단 백로그에 넣어 두고, 3주에 한 번씩 있는 스프린트 회의에서 요구사항에 대한 우선순위를 결정합니다. 그 후 개발자가 직접 개발 기간을 산정한 후에, 스프린트에 포함할지를 결정합니다. 이렇게 개발팀이 개발에 집중할 수 있는 환경을 가질 수 있도록 하며, 제품의 전체적인 방향성을 잃지 않고 모두가 같은 방향을 향해 달릴 수 있도록 하고 있습니다.VCNC 개발팀이 스프린트에 등록된 이슈를 얼마나 빨리 해결해 나가고 있는지 보여주는 JIRA의 차트.조금만 생각해보시면 어느 부분이 스프린트의 시작이고 어느 부분이 끝 부분인지 아실 수 있습니다.위와 같은 프로젝트 관리를 위한 일반적인 용도 외에도 엔지니어링 블로그 글 관리를 위해 JIRA를 사용하고 있습니다. JIRA에 엔지니어링 블로그 글감을 위한 프로젝트를 만들어 두고 블로그 글에 대한 아이디어가 생각나면 이슈로 등록할 수 있게 하고 있습니다. 누구나 글감 이슈를 등록할 수 있으며 필요한 경우에는 다른 사람에게 글감 이슈를 할당할 수도 있습니다. 일단 글감이 등록되면 엔지니어링 블로그에 쓰면 좋을지 어떤 내용이 포함되면 좋을지 댓글을 통해 토론하기도 합니다. 글을 작성하기 시작하면 해당 이슈를 진행 중으로 바꾸고, 리뷰 후, 글이 발행되면 이슈를 해결한 것으로 표시하는 식으로 JIRA를 이용합니다. 누구나 글감을 제안할 수 있게 하고, 이에 대해 팀원들과 토론을 하여 더 좋은 글을 쓸 수 있도록 돕기 위해 JIRA를 활용하고 있습니다.JIRA에 등록된 블로그 글 주제들 중 아직 쓰여지지 않은 것들을 보여주는 이슈들.아직 제안 단계인 것도 있지만, 많은 주제들이 블로그 글로 발행되길 기다리고 있습니다.글 리뷰를 위해 Pull-request를 이용하다.Stash는 Attlassian에서 만든 Git저장소 관리 도구입니다. GitHub Enterprise와 유사한 기능들을 제공합니다. Jekyll로 블로그를 운영하는 경우 이미지를 제외한 대부분 콘텐츠는 평문(Plain text)으로 관리 할 수 있게 됩니다. 따라서 VCNC 개발팀이 가장 자주 사용하는 도구 중 하나인 Git을 이용하면 별다른 시스템의 도움 없이도 모든 변경 내역과 누가 변경을 했는지 이력을 완벽하게 보존할 수 있습니다. 저희는 이런 이유로 Git을 이용하여 작성된 글에 대한 변경 이력을 관리하고 있습니다.또한 Stash에서는 GitHub와 같은 Pull request 기능을 제공합니다. Pull request는 자신이 작성한 코드를 다른 사람에게 리뷰하고 메인 브랜치에 머지해 달라고 요청할 수 있는 기능입니다. 저희는 Pull request를 활용하여 상호간 코드 리뷰를 하고 있습니다. 코드 리뷰를 통해 실수를 줄이고 개발자 간 의견 교환을 통해 더 좋은 코드를 작성하며 서로 간 코드에 대해 더 잘 이해하도록 노력하고 있습니다. 새로운 개발자가 코드를 상세히 모른다 해도 좀 더 적극적으로 코드를 짤 수 있고, 업무에 더 빨리 적응하는데에도 도움이 됩니다.어떤 블로그 글에 대해 리뷰를 하면서 코멘트로 의견을 교환하고 있습니다.코드 리뷰 또한 비슷한 방법을 통해 이루어지고 있습니다.업무상 코드 리뷰 뿐만 아니라 새로운 블로그 글을 리뷰하기 위해 Pull request를 활용하고 있습니다. 어떤 개발자가 글을 작성하기 위해서 가장 먼저 하는 것은 블로그를 관리하는 Git 리포지터리에서 새로운 브랜치를 따는 것입니다. 해당 브랜치에서 글을 작성하고 작성한 후에는 새로운 글 내용을 push한 후 master 브랜치로 Pull request를 날립니다. 이때 리뷰어로 등록된 사람과 그 외 개발자들은 내용에 대한 의견이나 첨삭을 댓글로 달 수 있습니다. 충분한 리뷰를 통해 발행이 확정된 글은 블로그 관리자에 의해 master 브랜치에 머지 되고 비로소 발행 준비가 끝납니다.스크립트를 통한 블로그 글 발행 자동화와 보안준비가 끝난 새로운 블로그 글을 발행하기 위해서는 일련의 작업이 필요합니다. Jekyll을 이용해 정적 파일들을 만든 후, htmlcompressor 통해 정적 파일들을 압축해야 합니다. 이렇게 압축된 정적 파일들을 S3에 업로드 하고, CloudFront에 Invalidation 요청을 날리고, 구글 웹 마스터 도구에 핑을 날립니다. 이런 과정들을 s3cmd와 Rakefile을 이용하여 스크립트를 실행하는 것만으로 자동으로 이루어지도록 하였습니다. VCNC 개발팀은 여러 가지 업무 들을 자동화시키기 위해 노력하고 있습니다.또한, s3에 사용하는 AWS Credential은 IAM을 이용하여 블로그를 호스팅하는 s3 버킷과 CloudFront에 대한 접근 권한만 있는 키를 발급하여 사용하고 있습니다. 비트윈은 특히 커플들이 사용하는 서비스라 보안에 민감합니다. 실제 비트윈을 개발하는데에도 보안에 많은 신경을 쓰고 있으며, 이런 점은 엔지니어링 블로그 운영하는데에도 묻어나오고 있습니다.맺음말VCNC 개발팀은 엔지니어링 블로그를 관리하고 운영하기 위해 다소 독특한 방법을 사용합니다. 이 방법은 개발팀이 일하는 방법과 문화에서 큰 영향을 받았습니다. JIRA를 통한 이슈 관리 및 스프린트, Pull request를 이용한 상호간 코드 리뷰 등은 이제 VCNC 개발팀의 문화에 녹아들어 가장 효율적으로 일할 수 있는 방법이 되었습니다. 개발팀을 꾸려나가면서 여러가지 시행 착오를 겪어 왔지만, 시행 착오에 대한 반성과 여러가지 개선 시도를 통해 계속해서 더 좋은 방법을 찾아나가며 지금과 같은 개발 문화가 만들어졌습니다. 그동안 그래 왔듯이 앞으로 더 많은 개선을 통해 꾸준히 좋은 방법을 찾아 나갈 것입니다.네 그렇습니다. 결론은 저희와 함께 고민하면서 더 좋은 개발문화를 만들어나갈 개발자를 구하고 있다는 것입니다.
조회수 690

숙박앱에 필요한와이즈트래커 리포트 Top 3

숙박앱은 O2O 서비스를 선도하는 사업 중 하나로 빠르게 시장을 확보하기 위한 다수의 앱이 생산되면서, 유사한 경쟁 앱 속에서 차별화 된 서비스로 고객을 잡기 위한 노력이 치열한 사업영역 이기도 합니다. 그래서 숙박 앱 운영에 도움이 될 와이즈트래커의 리포트 3가지를 소개하고자 합니다.1. 상품 카테고리 리포트숙박의 등급은 생각보다 다양합니다. 그러나 숙박 앱에서 한 화면에 보여지는 컨텐츠는 1~2개이며, 이후에는 지속적인 스크롤링으로 원하는 숙박장소를 찾기 때문에 사용자가 선호하는 컨텐츠를 상단에 효과적으로 배치하는 게 중요합니다.상품 카테고리 리포트는 각 숙박 카테고리별로 방문수(=유니크 조회수), 평균 체류시간 등 인게이지먼트 지표와 더불어 객실선택, 예약하기, 주문, 매출액 등 다양한 컨버전 지표를 함께 제공합니다. 나아가 상품 리포트를 통해서 ‘특급’이란 카테고리 중 실제 어떤 호텔이 효과가 좋았는지를 파악할 수 있습니다.이러한 데이터는 컨텐츠 배치 뿐만 아니라, 제휴 영역을 확장하는 데도 어떤 카테고리에 집중해야 할지 참고할 수 있는 유용한 데이터입니다.2. 화면 이동경로 리포트숙박 앱 UI는 매우 심플하고 직관적인 편입니다. 사용자는 예약이 앱 실행의 주 목적이기 때문에, 퍼블리셔는 보통 첫 화면에 컨텐츠를 스크롤링해서 볼 수 있도록 구성하지만 의외로 예약에 접근하는 행동패턴은 다양할 수 있습니다.샘플 데이터처럼 목적을 갖고 검색을 통해 빠르게 상품 정보를 획득하고자 하는 사용자의 비중이 많다면, 모바일 기기에 적합한 내부 검색엔진 편의성 및 결과 화면의 퀄리티가 매우 중요할 것이며 이는 예약율과 직결될 수 있습니다. 반대로 검색했는데 만족하지 못한 결과 값을 제공했다면, 높은 외부 유출 비율을 나타낼 것입니다.화면 이동경로 리포트는 이러한 다양한 사용자들의 행동패턴을 타겟별로 4가지 타입(A화면 이후, A화면 전/후, A화면 도달경로, A화면에서 B화면을 도달하는 경로)으로 분석하여 네비게이션 개선에 통찰력을 얻을 수 있는 데이터를 제공합니다.3. 내부 검색어 리포트 숙박 앱에서 검색엔진을 사용하는 빈도는 꽤 높습니다. 앱을 실행하자마자 검색하는 사용자는 서핑을 즐겨하기보단 자신이 원하는 컨텐츠(정보)만을 빠르게 받고 싶은 성향이 있습니다. 해당 사용자에겐 효과적인 검색결과 화면을 제공하는 것이 핵심입니다.검색결과 화면은 2가지가 필히 고려돼야 합니다.1) 검색결과와 관련성 높은 결과 값 제시( 방대한 결과값은 오히려 재검색하게 하여 불편함을 제공)2) 검색결과 값이 없을 경우 대안을 제시( 빈 페이지 제시는 매우 부정적인 경험으로 기억)내부 검색어 리포트는 사용자의 검색빈도가 높은 인기 키워드를 파악할 수 있으며, 검색 실패수 지표를 통해 온전한 결과 값을 제시하지 못한 경우를 찾아 검색엔진 개선의 방향을 잡을 수 있습니다.
조회수 739

육아도 경력이 될 수 있을까?

과거의 오늘을 보여주는 한 SNS에서 5년전 내가 쓴 글을 만나게 되었다. 5년전 나는 출산을 3개월 정도 앞둔 임산부였고, 아프리카에서 돌아와 간신히 얻은 일자리를 포기한 경력중지상태였다. 글에는 당시 내가 느낀 불안함과 무기력함이 가득 담겨 있었다. 어떻게 잊을 수 있을까. 나는 그때의 내 마음이 너무나 또렷하게 기억이 난다. 아이를 만나는 것은 기대되는 일이고 축복임이 분명했지만, 내 마음 한 구석에는 ‘나는 이제 끝났어’ 라는 절망감이 늘 공존했었다.그렇게 출산 후 아이를 기르다가, 처음으로 용기를 내어 지원한 서류가 통과하여 면접을 보러 가던 날도 기억이 난다. 오랜만에 입은 정장 바지는 지퍼가 도무지 올라가지 않았고, 결국 수습할 수 없는 삐죽삐죽 잔디머리를 한 채로 면접을 보러 갔었다. 붙고 안 붙고를 떠나 그것은 나의 투쟁이고 오기였다. 아직 나는 살아있다는 외침임과 동시에, 지금이 아니여도 좋으니 언제라도 다시 용기를 내기 위한 예방주사 같은 도전이었다. 하지만 면접을 마치고 돌아오는 길에 나는 우울했다. 출산 후 아이를 키우는 동안 내가 얼마나 사회와 동떨어지게 되었는지를 온몸으로 느꼈기 때문이었다. 나는 확실히 긴장했고 위축되어 있었다. 누가 묻지도 않았지만, ‘사실 나는 아이를 키우는 엄마예요’ 라고 이야기를 해야 했던 것은 아니었을까 라는 생각도 들었다. 그 후로 꽤 오랜 시간, 나는 내가 가진 모든 능력이 모두 사라져 버린 것 만 같다는 생각에 몹시 큰 불안을 느꼈다.사실 한 회사를 운영하는 대표로 살고 있는 지금도, 여전히 나는 위축되는 마음을 종종 느끼곤 한다. 아이에게 예기치 못한 변수가 생길 때, 엄마이기에 어쩔 수 없는 시간의 제약을 느낄 때, 저녁에는 아이를 돌보느라 전화를 받을 수 없을 때.. 사회생활을 어렵게 하는 순간을 마주할 때 마다, 다른 보통의 사회생활을 하는 사람보다 항상 어딘가가 부족하다는 생각을 하게 된다.그런데 우리는 정말 엄마가 되면서 모든 능력이 멈추거나 사라지게 된걸까?  곰곰히 생각해보면 그렇지 않다. 과거의 내 모습을 생각해보면 오히려 지금의 나는 여러모로 깊고 넓어져있음을 느끼게 된다. 엄마라는 역할이 개발시킨 능력이 참 많다.이전에는 나와 다른 생각을 가진 사람을 수용하는 것이 참 힘들었지만 이제는 거의 다 견딜만하다는 생각이 든다. 아이의 울음소리 짜증소리 엄마미워 라는 그 땡깡을 하루에도 수십번 참아낼 만큼 인내력을 가지게 되었기 때문이다. 또 하루에도 수백번씩 무언가를 요구하는 아이를 키워내며 동시에 살림을 비롯한 여러 가지 일을 처리할 수 있는 멀티태스킹도 가능하게 되었다. 이전의 나는 다른 사람의 감정에 이렇게 까지 주의를 기울일 필요가 없었지만, 이제는  내 감정을 처리하려고 노력하는 것은 물론이고 아이에게 공감하고 민감해지려고 노력하게 되었다. 하기 싫으면 대충하거나 회피했던 내가 엄청난 책임감이 생겨, 아이 우는 소리에 벌떡벌떡 깨며, 졸린 눈을 비비며 아이를 돌보는 초능력도 갖게 되었다.그뿐인가? 아이를 키우며 어떤 어려운 일도 도망가지 않고 해결해보려고 노력하게 되었으며, 아이의 눈짓과 몸짓을 표정을 보며 왜 그렇게 하는지 눈치챌 만큼 엄청난 센스도 보유하게 되었다. 돌이켜 보면 엄마가 되기 전에는 도저히 할 수 없었던 많은 일들을 이제 나는 할 수 있게 되었다. 엄마로 살면서, 나는 이전보다 더 시간을 아끼며 집중하는 지혜를 갖게 되었다.그러고 보면, 엄마로 보낸 시간도 우리에겐 경력이다. 우리는 멈추지 않았고 사라지지 않았다. 아이를 돌보는 정신 없는 일상에서도 우리는 성장하는 방향으로 가고 있었다. 확실히 우리는 이전의 우리가 아닌 것이다. 우리가 엄마로 살면서 갈고 닦은 많은 능력은 엄마로서 뿐 만 아니라 어느 곳에서 어떤 일이든 할 수 있을 만큼 유용한 것이다. 회사라는 조직과 업무에 적응할 수 있는 기회와 용기가 우리에게 주어진다면, 조금만 가정과 일을 함께 해나갈 수 있는 환경이 주어진다면, 우리는 엄마경력기간 동안 갈고 닦은 모습을 발휘하며 일할 수 있을 것이다.나는 이제 엄마를 경력으로 부르기로 다짐했다. 아직은 사회가 엄마와 경력을 같은 선 위에 두지 않지만, 그렇게 부르고자 하는 작은 노력들은 반드시 필요하며 의미가 있다고 생각한다. 그리고 이러한 메시지를 만들어 가고자, 소셜벤처 몇 곳이 함께 엄마경력자인 여성들을 위한 프로젝트를 시작하려고 한다. 엄마라는 역할 안에 있는 나를 발견하게 하고 세상과 연결되는 과정을 만들어가며, 작지만 의미 있는 메시지를 사회에 전달해보고자 한다. 사소해 보이는 작은 움직임들이 모여, 엄마라는 역할을 바라보는 새로운 관점들이 모여 의미 있는 변화를 만들어가게 되길 기대해본다.#그로잉맘 #경단녀 #경력단절여성 #엄마도경력이다 #일하는엄마 #육아와일 #스타트업CEO #기업문화 #여성복지
조회수 2614

스타트업 CTO의 일

최근 다음과 같은 고민이 깊어졌다."나는 잘하고 있을까?""내가 지금 해야만 하는 중요한 일은 무엇일까?""나의 역할은 어디까지고, 무엇을 위임해야 할까?""어떤 사람을 채용해야 할까?"팀의 구성원이 떠나기도 했고, 회사도 여러 가지 도전을 받고 있으며, 나 자신의 정체도 느끼는 것이 고민의 시작이다. 위 질문들의 공통된 뿌리는 “나의 일은 무엇인가?”라는 질문이다.'나의 일'이라는 것은 '스타트업 CTO의 일'이다. 하지만 모든 스타트업의 CTO가 하는 일이 나와 같지는 않다. 스타트업은 다양한 단계가 있고, 목표로 하고 있는 시장도 제각각이다. 가지고 있는 기술, 목표로 하는 기술도 다르고, 구성원 또한 제각각이기 때문이다. 하지만 어느 정도 공통점이 있을 거라 생각한다. 혹시 이 글을 어느 스타트업의 CTO가 읽으신다면 자신의 일과 비교를 해봐 주시길 부탁드린다.본격적으로 시작하기 전에 이 글은 내가 앞으로 겪을 경험에 따라 많이 바뀔 수 있음을 미리 알려둔다.CTO?Chief Technology Officer의 준말이다. 경영진 중의 한 명으로 회사에서 기술과 관련된 모든 일을 관리, 책임진다. 여기에서 '기술과 관련된 모든 일'이라는 모호한 것을  들여다보기 위해서는 CTO의 역할을 좀 더 나눠 볼 필요가 있다. 다음과 같이 나눠보고 각각에 대해서 살펴보자.Technical Leader - 최고의 엔지니어Technical Businessman - 기술조직과 사업조직의 가교Team Manager - 팀장Product Manager - 프로덕트 관리자Technical Leader보통 CTO라 하면 가장 먼저 떠올리게 되는 역할이다. 기술기업의 경우 핵심 기술역량을 보유하고 있거나, 서비스 기업의 경우 주도적으로 서비스를 개발/운영해본 경험이 있어야 한다. 다음과 같은 역할이 요구된다.1) 기술 비전과 로드맵회사의 기술 비전을 세우고, 그 비전을 달성하기 위한 로드맵을 정하고 실행해야 한다. 실행을 위해서 기술 조직에 비전을 전달하고 공감을 얻어 낼 수 있어야 한다.2) 아키텍트회사가 만드는 서비스 아키텍처를 만들고 발전시켜 나가야 한다. 동시에 이 서비스가 동작하는 인프라 아키텍처를 셋업하고 견고하게 만들어야 한다. 이를 위한 개발 스택들을 결정하고 적용해야 한다.3) 좋은 기술 코치팀이 기술적으로 성장할 수 있는 환경을 갖추고 코칭을 해야 한다. 팀의 구성원이 기술적 목표를 높게 유지할 수 있도록 해야 한다.4) 시니어 개발자시니어 개발자로 다음과 같은 역할을 해야 한다.· 팀이 현재 겪고 있는 가장 어려운 문제를 풀 수 있어야 한다.· 회사의 핵심 기술을 이해하고 높은 퍼포먼스로 제품을 만들어야 한다.· 개발 효율을 높일 수 있는 환경을 갖춰야 한다. (DevOps)· 문서화를 해야 한다.Technical Leader로서 위와 같은 일들을 잘 하게 되면· 고도화되더라도 효율이 떨어지지 않는 시스템· 높은 제품의 성능· 높은 기능적 완성도· 경쟁력 있는 기술과 그 기술을 갖춘 팀을 얻을 수 있다. 위 일들은 조직이 커지게 되면 팀의 시니어 개발자들이 점점 나누어 가지게 된다. (단, '기술 비전과 로드맵'을 제외하고) 다르게 말하면 반드시 위의 역할을 잘 나누어 가질 수 있는 사람을 시니어 개발자로 채용해야 한다.Technical Businessman대부분의 스타트업은 기술을 기반으로 시장의 문제를 해결(=사업)한다. CTO는 기술조직과 사업조직이 함께 잘 굴러가기 위한 가교 역할을 해야 한다. 이를 위해서는 회사의 사업에 대한 이해와 사업적인 센스가 필요하다.1) 기술적인 조언시장의 문제를 기술적으로 해결하고자 한다면, 기술조직에서 아이디어가 나와야 한다. CTO는 보통 가장 많은 아이디어를 사업조직에 제공해야 한다. 또한 회사가 새로운 일을 시작하고자 할 때, 그 일이 기술적으로 가능한 일인지, 어느 정도 크기의 일인지를 추정해야 한다. 비록 추정이 조금 부정확하더라도 추정이 있어야 사업적 판단을 할 수 있다. 그리고 회사에서 그 추정을 가장 잘 해야 하는 사람이 CTO다.2) 사업을 기술조직에 전파“나는 왜 이것을 개발해야 하는가?”에 대한 개발자의 질문에 답을 해주어야 한다.(정확히는 물어보기 전에 알려주어야 한다.) 이 일을 하는 사업적인 이유를 충분히 설명해 주어야 개발자는 동기를 얻고, 정해진 것 이상의 것을 만들어 낼 수 있다.3) 기술을 다른 조직에 전파회사가 가진 기술을 다른 조직에 전파해서 충분히 이해할 수 있도록 해야 한다. 그래야 기술이 아이디어를 만나 빛을 발하고 회사의 가치가 높아진다.Technical Businessman으로 위와 같은 일들을 잘하게 되면 회사가 가진 기술이 사업에서 효과적으로 사용된다. 그리고 사업을 위해 필요한 기술이 기술조직에서 발전하게 된다. 이 일들은 조직이 커지게 되면 역시 시니어 개발자와 프로젝트 관리자에 의해서 대체될 수 있다.Team Manager일반적인 팀장/조직장이다. 이 역할을 잘 수행하기 위해서는 커뮤니케이션 능력, 시간/리소스 관리 능력을 갖추어야 한다.1) 채용좋은 개발자를 채용해야 한다. 이를 위해서는 다음과 같은 기본적인 일을 해야 한다.· 채용 공고를 작성하고 올린다.· 면접을 진행하고 채용을 결정한다.· 좋은 사람을 소개받고 만난다.채용을 위해서는 장기적으로는 회사의 '기술 브랜드', '기업 문화'를 만들어 나가는 것이 도움이 된다. 물론 이런 것 보다 회사가 로켓처럼 날아가는 게 효과는 훨씬 더 좋다.2) 인력의 유지어렵게 뽑은 인력을 잘 유지해야 한다.  · 개인의 비전과 회사의 비전을 일치시키기 위해 노력한다. 다른 말로는 동기부여라고 한다.· 개인의 조직 내 성장을 돕는다.· 개인이 회사에서 만나게 되는 문제를 해결해 준다.물론 충분한 대우를 해주는 것도 중요하다.3) 자원의 산정과 확보프로젝트가 시작되기 전에 프로젝트에 필요한 인적, 물적 자원을 구체적으로 산정한다. (위의 Technical Leader가 하는 초기 결정을 위한 추정과는 다르다.) 대부분의 경우 어떤 사람이 어떤 일을 할 것인가를 결정짓는 일이다. 그리고 개발 혹은 운영에 필요한 추가적인 자원들을 준비한다. 장비가 될 수도 있고, 외부 서비스가 될 수도 있다.4) 일정의 계획과 관리일정을 계획하고, 관리한다. 다른 팀 혹은 외부와 의존성이 있는 경우 특히 이런 부분들을 잘 관리해서 일정이 차질 없이 진행이 될 수 있도록 한다. 프로젝트의 진행상황은 시각화하여 공개적으로 확인할 수 있도록 한다.5) 업무 프로세스 개선업무 프로세스를 개선해서 효율적으로 일할 수 있도록 해야 한다. 이를 위해서는프로젝트 관리 도구의 도입이슈 트래킹 시스템 도입스크럼/칸반등의 개발 방법론을 도입하고 운영등이 필요하다.3), 4), 5)는 우리가 일반적으로 프로젝트 관리자(PM)라 부르는 사람의 역할이기도 하다.이 일을 잘하게 되면회사에 필요한 인적 구성/역량을 갖춘 기술 조직을 유지할 수 있다.팀이 효율적으로 일할 수 있다.타 팀과 조화롭게 일할 수 있다.팀이 진행하는 프로젝트를 성공으로 이끌 수 있다.이 일들은 조직이 커지게 되면 중간 관리자, PM, HR 담당자가 생기면서 대체될 수 있다.Product Manager팀이 고객들이 원하는 제품을 전달하게 한다. 이 역할을 잘하기 위해서는 사업, 기술에 더해 UX에 대한 이해가 추가로 필요하다. (인터넷 서비스의 경우)1) 고객에 대한 이해고객을 보다 잘 알기 위한 노력을 해야 한다. 이를 위해서는 서비스에 관련된 지표들을 지속적으로 관찰해야 한다. 또는 인터뷰, 고객 대응 등을 통해 고객의 소리를 직접 듣는다.2) 고객의 대변자고객이 원하는 바를 명확하게 적은 스펙 문서를 작성해서 메이커에게 전달해야 한다. 또한 애매한 사항들이 있을 때 이를 최종적으로 결정해야 한다. 때로는 고객을 대신해서 제품에 대한 쓴소리를 해야 한다.3) 제품의 비전과 로드맵"우리는 어떤 제품을 만들어 갈 건가요?"라는 질문에 답을 할 수 있어야 한다. 즉, 제품의 비전을 구축해야 하고 이를 위한 구체적인 로드맵을 만들고 실행해야 한다. 이 비전을 조직에 전파하고 공감을 얻어야 한다.4) 우선순위의 결정사업, 고객의 측면에서 때로는 기술/디자인 부채를 없애기 위한 메이커의 입장에서 우선순위를 결정해야 한다.각 구성원 간의 이해관계가 부딪치는 부분이다. 효과적인 커뮤니케이션을 통해 슬기롭게 해결해 가야 한다.5) 제품의 퀄리티제품의 퀄리티를 책임진다. 직접 QA도 하고 디테일을 챙겨서, 구성원들이 높은 퀄리티를 목표로 할 수 있도록 해야 한다.이 역할을 잘하게 되면 좋은 제품을 만들어서 고객들의 호응을 이끌어 낼 수 있다. 또한 제품을 만드는 구성원들이 만족감을 얻을 수 있다. 이 역시 조직이 커짐에 따라 기획자, UX 디자이너가 일부 역할을 대체할 수 있으며 Product Manager를 뽑을 수도 있다.마치며스타트업의 CTO가 해야 하는 일은 이렇게 많다. 사실 스타트업 초기에는 위에서 말한 모든 것이 필요하지는 않다.(일단 컴퓨터를 사고, WIFI 설정도 하고..) 하지만 회사와 조직이 성장함에 따라 각각의 역할은 점점 중요해진다. 적당한 시기에 이 역할들을 위임하지 못하면 구멍이 생기기 시작하면서, 결국 여러 가지 중 하나도 제대로 챙기지 못하는 상황이 발생하게 된다. 이렇게 일을 정리하고 보니 지금의 내가 그런 상황이 아닌가 싶다.그럼 이제 내가 해야 하는 일은 동료들에게 적극적으로 도움을 요청해야 하는 것이다. 동료들도 내가 손을 내밀기를 기다리고 있을 거라 생각한다. :)  · 마지막으로 타이틀 이미지는 최근 프로덕트 그룹 워크샵에서 디자이너님의 타이포 세미나 때   제가 직접 그려 본 것입니다.#8퍼센트 #에잇퍼센트 #스타트업CTO #CTO #일상 #하루 #관리자
조회수 808

이건 니가 하시고, 이건 내가 할게요.

<들어가기 전에 잠시 개인적인 생각>일이란 게 참 톱니바퀴 같아요. 이 글을 쓰고 있는 순간에도 사실 다양한 일을 처리해야 하기에 하루하루 생각도 바뀌고 경험도 바뀌어 가고 있어요. 제 앞에 누군가가 있고, 제 뒤에 또 누군가가 있죠. 결국 일이란 게 사람이 하는 일이기에 담당자의 성격과 역량에 따라 수많은 케이스가 나올 수 밖에 없더라구요.이걸 하나로 일반화시키려면 평균치를 내야해요. 다수의 케이스를 고민해야하고, 성공한 또는 실패한 케이스를 찾아봐야 하죠. 하지만 본질적인 고민이 들긴 합니다. 평균치란 건 꽤나 무서운 거예요. 마치 직장인들의 평균연봉이 4,000만원이다! 라는 기사와 같죠. 사실 누구도 딱 평균만큼의 금액을 받는 사람은 없어요. 거리만 다를 뿐 결국엔 각각 평균의 위아래 어딘가에 점으로 위치하고 있습니다. 그러니 어찌보면 평균선이란 것은 허구와도 같아요. 가상의 선이죠. 실무얘기를 하면서 제일 어려운 부분은 바로 이 부분이예요. 딜레마죠. 케이스란 걸 평균화시킬 수 있는가...에 대한 고민도 있고.평균화시킬만큼 케이스가 충분한가? 에 대한 고민도 있죠.마지막으론 그 평균이 과연 정확한 명제인가? 에 대한 의구심도 들어요.그럼에도 불구하고 이런 글을 쓰는 이유앞으로 저와 일할 분들과 '일을 잘하고 싶기 때문' 이예요. 이 글 하나에 무슨 문화가 바뀐다거나 더 나은 사회를 위한 철학을 담진 못할 거예요. 다만 저는 이렇게 일하는 걸 좋아하고 서로서로 편하게 일해야 한다고 생각해요. 안그래도 힘든 일 굳이 짜증내면서 하면 더 힘들잖아요. 대부분의 클라이언트를 제 글을 통해 만나게 되는 경우가 많기 때문에 밑밥까는 느낌으로 적어놓는 느낌이죠.시작에 앞서 이렇게 긴 서론을 쓴 이유는 저번, 오늘, 다음에 할 얘기가 사실 굉장히 이상적이고 추상적인 주제란 걸 알기때문이예요. 그래서 사실 책에 나온 얘기대로 이래저래 각색해서 쓰다가 다 지워버렸어요.평균선으로 어정쩡하게 말하기 보단, 구체적으로 단순하게 말해보도록 할께요. 오늘은 업무분장에 대한 얘기예요.1. 업무분장을 할 땐 리스트업을 해줘요.기획은 니가하고 디자인은 너가 해. 라고 하지 마세요. 기획, 디자인, 마케팅, 총괄..이런 단어들은 엄청나게 커요. 정확히는 하나의 '직무'에 가깝다구요. 어떤 업무들을 할 지 한 단계 더 들어가 줘야 해요.1) 사전미팅 주관/스케쥴링/회의록 작성2) 회의 토대로 기획안 작성(10p 미만) / 제출 및 피드백 반영 후 수정3) 9/15일까지 기획안 최종안 완성4) 투자제안서 플로우 기획 및 텍스트 정리(매출자료는 경지팀 지원)5) 9/20까지 텍스트 완료 후 보고 / 컨펌 시 디자인팀에 인계이렇게 투두리스트를 두두두두 써줘요. 정확하게 언제 얼만큼 무슨 일을 해야하는 지... 표로 만들지 타임라인 형태로 잡을 지 트렐로를 쓸지 플로우를 쓸 지 슬랙을 쓸지 등등은 자유지만 분명한 건 기한과 업무와 책임자이것이 분명하지 않으면 3일 정도 지난 후 혼돈의 사도가 되어있는 담당자를 만날 수 있을 거예요.담당자2. 담당자를 좀 정리해봐요.누가 무슨 일을 하는 지 헷갈리는 경우가 있어요. 외주를 맡길 땐 담당자가 있기 마련이예요. 외부업체 입장에선 컨택포인트...라는 것이 깔끔하길 바라죠. 이 사람 저 사람이 전화를 해대면 혼란스러워요. 만약 제작물 종류가 다양해서 회사소개서는 박사원이포스터와 초대장제작은 이대리가굿즈제작은 오과장이한다고 쳐봐요. 이럴 수 있죠. 한 사람이 모든 걸 다 맡을 순 없으니 쪼갤 수 있어요. 하지만 이건 내부사정이니까 클라이언트님밖에 몰라요. 외부업체입장에선 박사원, 이대리, 오과장의 전화를 번갈아 받아야 하는데, 이대리한테 해야할 말을 오과장한테 하기도 하고 전달이 되기도, 안되기도 하고.... 그야말로 톨킨 세계관의 중간계 전쟁과 같은 카오스가 펼쳐질 수 있어요.이런느낌.외부업체와 컨택 시 담당자가 여러명이라면 회사소개서 제작(9/15) :20p내외/가로좌철 중철제본/500부/표지4p(랑데뷰250g) + 내지16p(스노우180g)담당자 박창선(010-1234-5678 / [email protected]) 이런 식으로 3명 모두 정리해서 전달해주세요. 그리고 외부업체에도 컨택포인트가 있을 거 아녜요. 그러면 그 쪽 업체의 담당자와 매칭해서 누가 누구와 연락을 하는 지 확실히 하는 게 좋아요.우리회사 오과장 - 애프터모멘트 박창선대표 (이렇게 짝궁)이렇게 말예요. 그래야 박창선씨에게 전화오면 오과장님에게 넘겨줄 수 있죠. 참고로 박창선은 제 이름이에요.으하하..3. 사실 이 두개면 돼요. 다른 거 안해도 될 것 같아요.그냥 업무 확실히 잡고 담당자 연락처만 제대로 통일시켜줘도 성은이 망극하여 발등에 키스를 할 거예요.근데 생각보다 업무분장이 잘 되는 곳을 보기 드물어요. 그 이유를 생각해보니 아래와 같아요.1. 일 못하는 사람 짱많아요. 2. 일 잘하는 사람이 적어요.3. 일을 못하는 데 잘한다고 생각하는 사람이 더 많아요.4. 일을 잘하는 데 안하려고 하는 사람도 있어요.5. 전체 일이 어떻게 돌아가는 지 몰라요.6. 전체 일이 돌아가는 건 아는데 하기가 싫어요.7. 쫄보에요. 안해본 일은 안해요.8. 눈치도 있고 다 좋은데 손이 느려요.9. 사내정치가 오져요. 쟤랑 일하기 싫어요.10. 업무분장 자체가 없어요. 그냥 일잘러만 죽어나요.11. 분장은 잘했는데 결과물이 개판이에요.12. 담당자가 퇴사했어요. 인수인계를 안했어요.13. 자꾸 자기가 칭찬받고 싶어해요. 이런 등등의 이슈들이 있어요. 사실 업무분장 자체는 단순한 일이예요. 그냥 일을 구체적으로 쪼개서 나눠주는 거예요. 회사 엠티가서 된장찌개 만들 때 누가 감자썰래? 하는 것과 비슷한 거예요. 그런데 문제는....감자가 들어가는 지 모르거나감자를 썰 줄 모르거나감자를 썰다가 손이 다치거나감자를 정성스레 한오백년 썰고 있거나감자를 너무 크게 썰거나감자를 채로 썰거나감자를 안썰거나감자써는걸 떠넘기거나감자를 먹어버리기 때문이에요.모르면, 배워야 해요.이러다보니 된장찌개를 만들어본 사람에게 업무가 과중되고 그 사람은 지치고 다다음달에 그만둬요. 그럼 감자썰 줄 아는 사람이 아무도 없어요. 물론 껍질을 안벗기고 그냥 끓여도 된장찌개가 안되는 건 아니에요. 맛이 이상할 뿐이죠. 그렇게 이상한 된장찌개를 계속 끓이다보니 그게 맞는 줄 알게되요.아니예요 틀렸어요.업무분장은 제대로 확실하게 해야해요.회의시간이 10시간이면 7시간은 업무분장에 써도 돼요. 제발 그랬으면 좋겠어요.서로서로 납득이 가고 온당하게. 합리적이고 효율적인 배치가 나올 때까지 고민하고 또 대화했으면 좋겠어요. 그런 날이 언제쯤 올진 모르겠지만 그랬으면 좋겠어요. 
조회수 2418

스타트업이 CTO를 찾는 법?

스타트업이 CTO를 찾는 법? 을 알고 계신 분에게 드리는 "질문"입니다. 이 글을 읽으시는 분들에게 부탁드리고 싶은 것은.. 1. 어디에 만나볼 엔지니어(개발자) 분들이 있으니 거기에 포스팅을 해보세요2. 엔지니어 들은 job을 찾을 때, 이런저런 고민을 하니.. 이런 포인트에서 조금 더 고민해보세요. 3. job 포스팅에는 이런저런 구체적인 내용들이 더 필요하니, 구체적으로 XX를 더 작성해보세요4. 이분 한번 만나보시겠어요? (소개 등등) 5. 공유를 해주셔도 좋습니다... 이런 고민을 함께 하시는 분들을 위해~등등의 조언을 댓글로 주셔도 좋고, 메일로 주셔도 좋고.. 아무튼 이 글은 조언을 구하고자 쓰는 글입니다. ^^;개발을 잘 모르는 스타트업 대표가 CTO를 모시는 방법은 어떤 것이 있을까요? ㅜㅜ대부분의 경우 co-founder 중, 엔지니어(engineer) 분이 CTO의 역할을 담당해주시는 것이 일반적인 경우로 보입니다. 하지만 서비스에서 engineer의 비중이 상대적으로 낮은 스타트업의 경우는 회사가 성장해 나감에 따라 function을 더 크게 만들어 나가는 경우도 있겠지요? 파펨도 그러한 회사 중에 하나입니다.지금까지는 할 수 있는 한 효율성을 따져가면서 최소한의 개발을 진행해왔지만, 이제는 조금 더 적극적으로 서비스를 고도화시켜야 할 때! 이기에 이제 좋은 분을 내부에 모셔야 하는데.. 우선 대표 입장에서의 고민을 한번 늘어놔 본다면.. 1) 개발을 거의 모르기 때문에 (새로 모셔야 할) 그분이 실력자 인지 아닌지 알 수가 없다는 불안감2) Ruby on Rails로 개발이 되어 있어, 이 언어에 능한 분을 찾는다는 것이 어렵다는 소문을 이미 많이 들음3) 엔지니어 분들이 선호하는 job 에 대한 구체적인 정보가 없음  반대로 job을 찾고 있는 엔지니어 분의 입장에서 상상력을 발휘해 본다면.. A) 잘 될 회사인지 아닌지 정확히 모르겠음 : 투자 몇 번 받은 것으로 스타트업 평가가 가능?B) 개발팀이 구성되어 있지 않아.. 당분간 나 혼자 full stack으로 일해야 함 : 내가 하나하나 다해야 함? C) 개발이 중심이지 않은 회사에서 일을 하는 게 적합할지? : 나의 커리어 차원에서 도움이 되는가? 위의 내용을 고려한다면, 100년 만의 개기일식이 일어나는 것과 같은 우연이 없다면 정말 만나기 어려운 인연이 아닐까?라는 생각이 듭니다. ㅜㅜ 그래도 어쩌겠습니까... 그런 인연을 찾아 나서야죠. 예전에는 엔지니어 한 분을 만나면, 리쿠르팅과 관계없이 다른 한 분을 소개 요청드리고, 또 그분에게서 다른 분을 소개받아서 계속해서 아는 분들의 영역을 넓혀가고자 노력도 해보았습니다. 그렇다면 파펨 대표가 생각하는 CTO는 어떤 분일까요? 현재의 파펨 구성원들과 아래의 일들을 함께 해나가 주실 분입니다. 1. 자체 커머스로써의 서비스 업그레이드 : 전체 팀과 함께 논의할 일 2. 알고리즘의 upagrade 반영 : 알고리즘 설계자(대표)와 함께 할 일3. 파펨 DB에서 추출할 수 있는 data를 바탕으로 마케팅 insight 발굴 : marketer와 함께 할 일4. 새로운 tool(예, GA보다 amplitude를 한번 사용해보자 등)을 소개하고 도입 이렇게 쓰면 컴퓨터 공학을 전공한 사람에게 저렇게 많은 것을 요청하는 당신은 경영학과 출신이니.. 재무, 회계, HR, 생산관리 모두 잘할 수 있는 사람인가요?라는 질문을 받을 것 같은 느낌이 들지만... ㅜㅜ 아무튼 어려운 리쿠르팅의 길을 떠나기 전에 머릿속에 생각나는 것들을 한번 써보았습니다.파펨에서 engineer를 찾습니다!! 파펨은? a. Ruby on Rails / AWS에서 서비스되고 있고, 나름 github에 히스토리 정리가 잘 되어 있고, 이전에 프리랜서로 개발에 도움을 주신 분이 체계적으로 정리해주셔서 나중에 열어보시면 뜨악하실 정도는 아닙니다. (라고 합니다. ^^;) b. 구체적인 연봉, job title 등은 상황별로 합리적인 논의를 할 준비가 되어 있습니다. C. 퓨쳐플레이와 아모레퍼시픽에서 투자를 유치하였습니다. #파펨 #스타트업 #창업가 #창업자 #마인드셋 #인사이트 #채용 #CTO #팀빌딩 #팀원
조회수 1052

실무의 핵심은 대충, 빨리, 잘!

오늘은 디자이너님들께 도움이 되는 얘기지만, 혹시 직원에게 전해주고 싶은 말이 될 수도 있겠네요 :)일이란 건 시작이 있고 끝이 있어요. 하나 끝나면 다른 게 들어오는 꼬리물기가 되면 좋겠지만, 대다수의 일이란 것은 항상 돌림노래처럼 겹쳐서 움직이기 마련입니다. 그러니 하루에도 3,4개 일을 동시에 조금씩 진행시켜야 해요. 안구건조증이 생기고 3번 디스크가 눌리거나 거북목으로 변해가는 몸을 보면서 그제서야 깨달아요.'아 일이란 건 능력이 아니라 생명력을 바탕으로 완성되는 것이구나. 이것이 진정한 흑마법이구나.'지옥마법!!!네 맞습니다. 가뜩이나 힘든 게 일이예요. 근데 그 자체로도 힘든 일을 더 어렵게 만드는 것이 있습니다. 바로 동료의 장인정신과 다른 언어를 쓰고 있는 수많은 타종족들이예요. 동료는 자꾸 요청한 걸 안줍니다. 좀만 기다려보래요. 국어사전에 '좀' 은 짧은 시간을 의미해요. 저 분은 국어를 잘못 배웠어요.그리고 팀장님을 비롯해서 클라이언트나 부하직원이나 심지어 다른 팀원들도 모두 각자의 언어를 쓰고있어요. 생긴 건 다들 한국사람인데 완전 글로벌해요. 갤럭시한 것같기도 해요. 내가 한 말을 못 알아들어요. 마찬가지로 당신의 말도 이해를 못하겠어요. 오늘의 얘긴 매우 짧습니다. 왜냐면 이 얘길 길게 해봐야 같은 말이 반복될 것 같거든요. 하지만 디자인뿐만 아니라 다른 어떤 업무에도 비슷하게 적용될 얘기라고 생각합니다. 실제로 저도 이것때문에 뒷목을 잡은 경험이 많아요. 여러분도 많으실 거예요.일단 뒷목의 추억을 되새겨 보겠습니당.- 자꾸 안줘- 시안만들어 오랬더니 예술하고 있음- 표지 만드는데 2시간씩 걸리고 있음- 메일 하나 보내는데 30분- 폰트 크기만 바꿔서 가져오랬는데 1시간 째 안와- 막상 인쇄했더니 오타 오져벌임- 제작단계에서 실수했대뭐 보통 이런 것들이죠. 압축하면 "시간은 오래걸리는데, 결과물은 엉망진창." 인 경우예요.회사의 시간은 나에게만 국한되지 않습니다. 내가 끝나야 일이 시작되는 다른 누군가도 있죠. 그는 시간은 내가 자료를 전달한 후부터 흐르기 시작해요. 각자의 시간이 모여 회사의 시계가 돌아가요. 서로의 시계가 꼬이기 시작하면 누군가의 시공간이 휘어지고 퇴근을 못하고 애인과 헤어지고, 결혼도 못하고, 과로로 쓰러지는 사태가 발생합니다. (?)그러니 이 시공간의 왜곡을 막을 수 있는 3가지 단어를 알려드릴께요.대충해요1차 시안은 어차피 갈아엎어져요. 레퍼런스 찾는 거 고민하지 마요, 표지에 공들이지 마요, 엑셀에 선 예쁘기 넣을 필요없어요, 누끼 예쁘게 안따도 돼요, 생각나는 대로 막 뱉어야 할 때도 있어요. 일단 졸라맨이든 손그림이든 막 그려서 이렇게요? 라고 얼른 보여줘요. 괜히 어설프게 예쁘게 만들면 상대방은 진짜 그렇게 만들어질 줄 알아요.대충의 좋은 예빨리해요뭔가 대충 정했으면 이제 빨리해요. 물론 무언갈 빨리하기 위해선 타인의 도움도 필요하고 컴터도 좋아야합니다. 하지만 무엇보다 내 손이 제일 빨라야 하죠. 자주 들어갈 것 같은 폴더는 즐겨찾기로 옆에 걸어놓습니다. 계속 똑같은 파일 찾으려고 7번씩 폴더 눌러서 들어가지말고. 전화할 때 상대방이 10번 울리는데도 안받으면 그냥 끊고 다른 데 전화를 겁시다. 삐소리가 들리고 사랑의 메시지를 남길게 아니라면 말예요.레이어 정리하고 미세하게 그림자효과의 투명도를 조정하는 건 지금 할 일이 아닙니다. 그냥 빨리 만들어요.시각정렬 맞추는 것도 지금은 할 일이 아닙니다. 그냥 끝선만 잘 맞춰서 보여줘요. 이거 확정안 아니예요. 시안이예요.엑셀자료를 받았는데 뭔 말인지 모르겠으면 혼자 끙끙대지 말고 빨리 가서 물어봐요. 복사기가 안되면 멀뚱히 서있지 말고 전화를 걸거나 옆구리를 열어서 막힌 종이를 빼내요.파일 날리지마요. 단발마와 함께 다시해야해요.... 라고 울먹거리면 물론 슬프긴 하지만 솔직히 그건 민폐이기도 해요. 잠들어있는 그대의 손에 키보드를 가져다대면 본능적으로 컨트롤 에스를 누를 수 있어야 해요.일은 빨리 할수록 좋아요. 물론 일손이 빠르다는 걸 굳이 자랑하거나 알릴 필욘없어요. 그러면 이 세상 모든 일은 혼자 다 하게 될테니까요. 잘해요수정사항까지 다 받았고, 자료정리도 다 되었고 이제 최종시안을 제작할 때는 '잘' 해야해요. 이 때의 잘은 3가지의미가 있어요.- 실수없이- 고퀄리티- 정리완료맞아요. 제작단으로 넘기거나, 인쇄소에 보내거나, 발표장에 가져가거나 등등.. 최종적으로 나오는 콘텐츠에 실수가 있어선 안돼요. 돌이킬 수 없어요. 돌이키려면 돈이 엄청 들어가요. 당신의 월급으론 그 비용을 충당할 수 없어요. 퀄리티도 당연히 좋아야해요. 위에서 못했던 시각정렬이나 톤조절, 미세한 픽셀정리, 머리카락까지 누끼따기 등등은 이 단계에서 하는 거예요. 물론 이것도 빠르면 빠를수록 좋겠죠.(본인에게)그리고 정리를 잘해야해요. 뭔갈 '잘한다.' 라는 것엔 항상 이것이 포함되어 있습니다. 요리사는 주방을 폭발시키면서 요리를 만들지 않죠. 디자이너도 폴더나 바탕화면을 폭발시키면서 만들면 안돼요. 물론 나만 이해하면 될지도 몰라요. 그러나 그 습관이 쉽게 고쳐지지 않더라구요. 회사 컴퓨터는 내 개인소유물이 아니니까요.보고파일에 201802902.png 이런 파일명을 써서 올린다거나... 다른사람이 내 컴터에서 파일찾으려면 직박구리폴더, 참수리폴더를 일일이 열어봐야 하는 사태가 생기기도 합니다. 새로운 우주가 탄생이미지는 이미지대로, 기획안은 기획안대로 PSD는 버전순서대로, 기타 아트웍자료들은 파일명 잘붙여서 소스파일폴더에 잘 모아놓아놓습니다. 최상위 폴더는 당연히 프로젝트명과 제작날짜를 함께 기재해줘야 하구요. 대충, 빨리, 잘 :)
조회수 10259

Next.js 튜토리얼 7편: 데이터 가져오기

* 이 글은 Next.js의 공식 튜토리얼을 번역한 글입니다.** 오역 및 오탈자가 있을 수 있습니다. 발견하시면 제보해주세요!목차1편: 시작하기 2편: 페이지 이동 3편: 공유 컴포넌트4편: 동적 페이지 5편: 라우트 마스킹6편: 서버 사이드 7편: 데이터 가져오기 - 현재 글8편: 컴포넌트 스타일링9편: 배포하기개요꽤 그럴듯한 Next.js 애플리케이션을 만드는 방법과 Next.js 라우팅 API의 모든 장점을 배웠습니다.대부분의 경우 데이터 소스에서  원격으로 데이터를 가져와야 합니다. Next.js는 페이지에 데이터를 가져오기 위한 표준 API를 제공합니다. getInitialProps라 불리는 비동기 함수를 사용하여 구현할 것입니다.주어진 페이지에 원격 데이터 소스를 통해 데이터를 가져오고 원하는 페이지에 props을 통해 전달할 수 있습니다. 서버와 클라이언트 둘 다 동작하도록 getInitialProps를 작성할 수 있습니다. 그래서 Next.js는 클라이언트와 서버에서 모두 사용할 수 있습니다. 이번 편에서는 getInitialProps를 사용하여 공개된 TVmaze API에서 가져온 데이터로 배트맨 TV 쇼에 대한 정보를 보여주는 애플리케이션을 구현할 예정입니다.설치이번 장에서는 간단한 Next.js 애플리케이션이 필요합니다. 다음의 샘플 애플리케이션을 다운받아주세요:아래의 명령어로 실행시킬 수 있습니다:이제 http://localhost:3000로 이동하여 애플리케이션에 접근할 수 있습니다.배트맨 쇼 데이터 가져오기데모 애플리케이션 내의 home 페이지에 블로그 포스트 목록이 있습니다. 배트맨 TV 쇼 목록을 표시할 것입니다.쇼의 데이터들을 하드코딩하는 대신에 원격 서버에서 그 정보를 가져옵시다.여기서는 TV 쇼를 가져오기 위해 TVMaze API를 사용합니다.TV 쇼 정보를 검색하는 API 입니다.먼저 isomorphic-unfetch를 설치해야 합니다. 데이터를 가져올 때 사용할 라이브러리입니다. 브라우저 fetch API 구현을 간단히 할 수 있도록 만들어진 것이지만 클라이언트와 서버 환경에서 모두 동작합니다.npm install --save isomorphic-unfetchpages/index.js를 다음과 같이 변경해주세요:위의 페이지에 있는 모든 내용은 아래에 표시된 Index.getInitialProps를 제외하고는 익숙할 것입니다:애플리케이션의 어떤 페이지에든 추가할 수 있는 정적 비동기 함수입니다. 이것을 사용하여 데이터를 가져오고 가져온 데이터를 props를 통해 페이지로 보낼 수 있습니다.보다시피 배트맨 TV 쇼 데이터를 가져오고 'shows' props를 통해 페이지로 전달합니다.위에서 보았던 getInitialProps 함수에서 가져온 데이터 숫자를 콘솔에 출력합니다.이제 브라우저 콘솔과 서버 콘솔을 살펴봅시다. 그리고 페이지를 새로고침 해주세요.페이지를 새로고침 한 후 출력되는 메시지는 어디에서 보였나요?- 서버 콘솔- 브라우저 콘솔- 둘 다- 어떤 콘솔에도 출력되지 않았다서버에서만 출력됩니다이 경우 메시지는 서버에서만 출력됩니다.이는 서버에서 페이지가 랜더링되기 때문입니다.이미 데이터를 가지고 있어 클라이언트에서 다시 정보를 가져올 필요가 없습니다.post 페이지 구현하기TV 쇼에 대한 자세한 정보를 보여주는 "/post" 페이지를 구현해봅시다.먼저 server.js를 열고 /p/:id 라우트를 다음과 같이 바꿔주세요.위처럼 바꾼 코드를 적용하기 위해 애플리케이션을 재실행시켜주세요.이전에는 title 쿼리 파라미터를 페이지에 매핑했습니다. 이제 id로 이름을 바꿔야합니다.다음과 같은 내용으로 pages/post.js를 변경해주세요.페이지의 getInitialProps을 살펴봅시다:여기에서 함수의 첫 번째 파라미터는 context 객체입니다. 정보를 가져올 때 사용할 수 있는 쿼리 필드를 가지고 있습니다.예제에서 쿼리 파라미터로부터 보여지는 ID를 선택하고 TVMaze API로부터 데이터를 가져옵니다.이 getInitialProps 함수에서 표시할 제목을 출력하는 console.log를 추가했습니다. 이제 어디에서 출력되는지 볼 수 있습니다.서버와 클라이언트의 콘솔를 둘 다 열어주세요.그 다음 홈페이지 http://localhost:3000로 이동하여 배트맨 쇼 제목을 클릭하세요.위에서 애기했던 console.log 메시지가 보여지는 장소는 어디인가요?- 서버 콘솔- 브라우저 콘솔- 콘솔 둘 다- 아무 콘솔에서도 출력되지 않는다클라이언트 사이드에서 데이터 가져오기브라우저 콘솔에서 메시지를 볼 수 있습니다.클라이언트 사이드를 통해 포스트 페이지에 이동했기 때문입니다. 그런 다음 클라이언트 사이드로부터 데이터를 가져오는 것은 가장 좋은 방법입니다.예를 들어 http://localhost:3000/p/975에 직접 이동한다면 클라이언트가 아닌 서버에서 메시지가 출력되는 것을 볼 수 있습니다.마무리데이터를 가져오고 서버 사이드에서 렌더링하도록 만드는 Next.js의 가장 중요한 기능 중 하나를 배웠습니다.대부분의 유스 케이스에서 충분히 사용할 수 있는 getInitialProps의 기본을 배웠습니다. 더 많은 것을 배우고 싶다면 Next.js의 문서 중 data fetching 문서를 참고할 수 있습니다.#트레바리 #개발자 #안드로이드 #앱개발 #Next.js #백엔드 #인사이트 #경험공유
조회수 1001

회사에서 발견할 수 있는 50가지 유형의 사람들 대정리

예전에 지구의 100명이 살고있는 마을에 비교해서 뭐 61명은 아시아에 살고, 남자가 48명이고 등등 이해하기 쉽게 비교해놓은 표가 있었던 기억이 납니다. 곰곰히 생각해보면 뭐 마을까지 가지 않더라도 우리가 다니는 회사만 봐도 작은 지구촌이 아닐 수 없습니다. 물론 누군가에겐 거대폭풍이 매일 불어닥치는 목성같을 수도 있고 분위기가 살벌한 해왕성이나, "사직서 만지작 - 내일 말해야지 - 월급들어옴 - 일년만 채워보자" 를 반복하는 혜성같을 수도 있겠네요. 1인 기업은 이런느낌.....하아..회사와 지구촌엔 묘한 공통점이 있습니다. 사실 7명이든 70억이든 사람모여 있는 곳이 어디나 비슷비슷한 것 같습니다. 사람은 사회성과 본능의 균형을 간당간당하게 지키며 살아가는 존재니까요. 상반기공채 시즌이 다가왔습니다. 신입지원하시는 분들이나 심지어 경력이직하시는 분들도 입모아 얘기하는 건 항상 '사람' 입니다. 거긴 문화가 어때요? 분위기 어때요? 등등을 궁금해하고, 같이 일할 사람이 어떤 스타일인지 페북도 살펴보고 하는 등을 보면... 확실히 사람문제는 작은 부분이 아닙니다.  그래서 오늘은 가만히...밀싹쥬스를 마시며 생각을 해보았습니다. 지금까지 내가 있던 회사엔 어떤 사람들이 있었는가..하고 말이죠. 생각보다 매우 재미지더군요. 온갖 종류의 사람들이 참으로 다양하게도 적재적소에 잘 배치되어 있었던 것 같습니다. 창문 옆, 벽, 파티션 뒤, 화장실 앞, 문 앞, 부장님 옆자리 등등..각각의 포지션에 맞게 각각의 성향대로 존재하고 있었더라구요. 이번 글은 그냥 웃자고 쓰는 내용이 대부분이지만, 이제 갓 회사에 입사를 준비하시는 분들은 내가 앞으로 어떤 사람들을 만나게 될 지 가벼운 튜토리얼로 생각하셔도 무관할 듯 합니다. 단, 이번 글은 제 개인적 경험에 많이 의존한 글이니 만큼 이 범주에서 벗어난 더욱 다양하고 묘한 존재들이 많다는 것은 알아주셨으면 합니다. 지구는 우리의 상상 이상으로 매우 크고 많은 사람들을 담고 있으니까요.1. 일찍 출근하는 사람: 항상 일찍나와서 카누를 타먹고 책상정리를 합니다.2. 맨날 5분씩 늦는 사람: 신기하게 더도말고 덜도말고 5분 정도만 늦습니다. 아마 기상시간이 동일한 탓으로 보입니다. 지하철시간은 거의 일정하니까 5분 늦게 나를 회사로 데려다주는 바로 그 지하철을 타는 것이겠죠. 3. 맨날 1분 전에 오는 사람: 아까 윗분이 탄 지하철의 바로 앞차를 항상 타시는 분입니다.4. 기계식키보드 쓰는 사람: 타다다다타ㅏ다닫사다타다다삿타다다사다다타다다다다사사다닷. 그 날의 기분이나 일의 다급함을 청각적 정보로 전달해 주십니다. 5. 조용한 사람: 하루종일 아무말이 없습니다. 일만 열심히 합니다. 마우스도 무소음마우스... 6. 눈치스캐너: 출근하자마자 사무실 분위기와 팀장님 기분을 스륵 스캔하고 '어제 팀장님 술 많이 드셨대?' 를 물어보는 분입니다. 가끔 술자리에서 "하아, 진짜 내가 일일이 다 챙겨야 하니 너무 피곤하다.."라는 말도 합니다. 하지만 누가 딱히 챙겨달란 말을 하진 않았습니다. 7. 픽셀성애자: 이 분은 디자이너가 아닌데, 자꾸 픽셀이나 그리드 얘길 합니다. 심지어 나도 디자이너가 아닌데 자꾸 픽셀을 맞추라고 합니다. 옆에 있는 디자이너님은 절 아련한 눈빛으로 2초정도 쳐다봤습니다. 자꾸 픽셀픽셀 얘길 하는데...사실 생각해보면 아는 디자인지식이 그것밖에 없어서는 아닐지...하는 생각을 해봅니다.8. 과자창고: 두 번째 서랍에 항상 외국과자가 가득한 분이 있습니다. 물론 땅콩샌드나 그냥 캔디나, 눈을감자 등도 있습니다. 주로 이 분이 가지고 있는 아이템은 킷캣이나 로이스초콜렛, 3개월 정도 된 펑리수 같은 것들이 있습니다. 9. 정오의 현자: 회사 근방 500m지역의 맛집과 식당, 메뉴, 가격에 대한 정보가 풍부하고 다양한 시식으로 맛평가까지 내려주십니다. 특히 이런 분은 기상에 민감하신데 날씨에 따라 메뉴를 센스있게 결정해야 한다는 신념이 있습니다. 그러나 종종 더 높은 분의 전날 숙취나 당떨어짐 등으로 인해 현자의 말이 묵과되는 경우가 많습니다.10. 더 높은 분: 더 높은 분은 주로 점심을 결정하십니다.11. 그보다 낮은 분: 더 높은 분보다 조금 낮은 분은 점심 후 커피를 결정하십니다.12. 완벽한 일개미: 이 분은 뚠뚠 일을 하십니다. 뚠뚠. 그러나 거의 완벽을 추구합니다. 보고서의 표지와 폰트의 통일, 자간과 위계까지 챡챡 맞춰서 실수없이 일처리를 하려고 노력하시는 분입니다. 주로 안경을 쓰셨을 확률이 높습니다. 뚠뚠. 약간 워커홀릭느낌이 납니다. 13. 후드입은 사람: 꼭 후드입은 분들이 한 분씩 있습니다. 주로 개발자나 디자이너일 가능성이 높습니다. 특히 웹디나 퍼블리셔 분들은 매우 높은 확률로 후드를 입습니다.14. 욕먹는 사람: 욕도 먹는 사람이 항상 먹습니다. 특히 뭔가 미운털이 박히면 똑같이 실수를 해도 더 욕을 먹습니다. 그런데 원래 먹던 분은 좀 더 큰 성량과 다양한 표현이 가미된 욕을 먹는 경우가 있습니다. 저러면 안되는데..싶지만 어쩐지 다른 사원들도 그 분을 딱히 가까이 하려 하진 않는 듯 보입니다. 이런 건 좋지 않습니다. 15. 지박령: 저 분은 왜 집에 안가는 지 궁금합니다. 언제 집에 다녀왔는지도 모르겠습니다.16. 미스테리쇼퍼: 왜 회사컴퓨터로 옷을 사는 지 미스테리한 쇼퍼입니다. 딱히 구매를 하는 것 같진 않습니다. 그냥 보는 것에 의의를 두는 모양입니다. 요즘같은 벚꽃시즌이나 환절기 땐 더욱 스크롤과 알트+탭이 더욱 바빠집니다.17. 점심 안먹는 분: 높은 확률로 다이어트, 약복용중, 어제밤샜어, 피곤해, 잘래, 약속있어..등으로 점심을 안먹는 분이 계십니다. 저도 해봤는데 사실 진짜 이유는 좀 불편해서 입니다. 속도 그렇고 맘도 그렇고... 그리고 진짜 졸릴 때도 있구요.18. 은행가시는 분: 거의 점심을 먹고 나면 1,2명 정도가 은행이나 우체국에 다녀온다고 하십니다. 은행이 이토록 우리가 자주 이용하는 곳이었나 싶지만, 운영지원팀이나 등기발송 등의 업무가 있는 듯 합니다. 대부분 업무를 마치면 커피를 사옵니다. 사실 좀 혼자 있고 싶어서가 아닐까요.19. 병자: 대부분 미열이나, 비염, 안구건조, 위염, 피부트러블 등 다양한 증상과 지병을 보유하고 계십니다. 자주 병원과 약국에 가시고 반차와 연차등을 통해 충분한 휴식을 취합니다.20. 영웅: 뭐 크게 하는 것 같지도 않은데 챡챡 일을 잘해내는 능력자같은 분입니다. 이런 분이 많다면 좋겠지만 애석하게도 영웅은 그리 많지않습니다. 실제로 영웅이 있어도 난세가 아니라면 딱히 그 능력이 드러날 기회도 없구요. 원래 영웅은 위기상황에서 진가를 발휘합니다. 21. 제목학원수강생: 이 분은 다수의 짤과 개그력을 지니고 있습니다. 유쾌한 말발과 드립력으로 회식이나 식사시간을 재미있게 만들어줍니다. 종종 협업툴에도 짤을 올리곤 합니다. 대부분 네이버뿜이나 개드립.net에서 가져온 소스입니다.22. 엘사: 낯가림이 심한 분입니다. 높은 확률로 안경을 쓰고 계신데, 인사나 말을 잘 안받아주는 경향이 있습니다. 뭔가 날 보면 후다닥 지나가기도 하고 다른 분들하곤 말을 잘 하지만 나에겐 업무적인 이야기만 합니다. 이걸 보고'훗 날 보고 설레여서 제대로 눈도 못 마주치는 건가..이놈의 귀여움이란..'따위의 생각을 하면 안됩니다. 그냥 낯을 가리는 성향이거나 아니면 진심 싫은 것일 수도 있습니다.23. NPC: 뭔가 물어보면 필요없는 정보까지 상세히 잘 알려주십니다. 신입들에겐 단비같은 분입니다. 종종 커피나 담배타임, 비타500, 모닝커피 등으로 보상을 주기도 합니다.24. 팩트폭격기: 할 말은 반드시 하는 분입니다.  주로 팀장급과 논쟁을 벌이십니다. 정의로움이 가득하기도 하고, 합리적인 걸 중요하게 생각합니다. '아니, 상식적으로..' 라는 말을 즐겨 하십니다. 말의 속도가 빠르고 성량이 조수밉니다.25. 양손아이템: 고렙의 장비들이 많은 분입니다. 아이맥27인치와 부속품들, 팬쿨러와 아이패드프로, 아이펜슬, 접히는 노트북 등..신기방기하고 비싼 제품들이 가득합니다. 주로 이런 분들은 집에 전동킥보드 같은 게 있습니다.26. 리액션장인: 딱히 뭔 말을 하진 않는데, 웃음소리가 호탕한 분입니다. 파하하하하하하!!.. 27. 오띄꾸띄르: 단 하루를 출근해도 완벽한 패션센스를 뽐내는 분들입니다. 하지만 드문 것 같습니다. 대부분은 그 날 퇴근 후 뭔가 약속이 있을 경우엔 의복과 용모를 단정히하고 오는 것이 보통입니다. 하지만 어쩌다 꾸미고 오면 막 '오오오 약속있어? 애인생겼어?' 등의 시덥잖은 오지랍에 시달릴 수 있습니다. 다른회사 면접보러가요. 라고 대답해주도록 합시다.28. 정치인: 자꾸 라인만들고 다닙니다. 액티브능력으론 뒷다마까기와 '그렇지 않아?' 라고 동조끌어내기가 있습니다. 패시브능력으론 수근대기, 탕비실가기, 담배친구랑 옥상담배하기 등등이 있는데... 여느 정치인이 그러하듯 엮일 땐 조심해야 합니다.29. 엑셀장인: 물어볼 일이 많습니다. 주로 안경을 쓰고 계시고, 웃는 상에 단정한 옷을 즐겨입으십니다.30. 피피티장인: 왠만한 포토샵보다 더 괜찮은 결과물을 파워포인트로 만들어내는 미래형인재입니다. 주로 이 장인님은 집에 늦게 들어가십니다.31. 곧죽을몸: 뭐만 하면 힘들어죽겠다, 못해먹겠다, 졸려죽겠다, 배불러죽겠다, 허리아파죽겠다, 조용해죽겠다 등.. 모든 것에 생명을 걸고 생활하시는 치열한 분입니다. 좀 같이 힘빠지는 경향이 있습니다.32. 아니면말고: 의견을 던졌으면 끝까지 마무리를 지어야지, 이건 별로 맘에 안든다고 하면서 '그냥 뭐 제 의견은 그렇다고요~' 하고 치고 빠지는 분들도 있습니다. 회사를 아프가니스탄이나 베트남정도로 생각하시는 듯 합니다. 게릴라전술은 회사에선 딱히 좋지 않습니다.33. JTBC뉴스룸: 뭔가 모든 정보를 다 알고있는 듯한 분입니다. 누르면 바로바로 '아! 나 그거 알아.' 라고 튀어나오는데 그 정보가 또한 얕고 넓은 것이 놀랍습니다. 하지만 깊게 들어가면 별로 좋아하지 않습니다. 대부분 뉴스를 열심히 탐독하거나 페이스북에 여러 포스팅을 '저장함' 으로 보유하고 있는 분입니다.34. 제록스: 캐릭터 이름이 아닙니다. 복사기 장인입니다. 뭐 고장나면 다 고칩니다. 대부분은 타격과 뭔가열었다닫기 기술로 해결하지만, 종종 잘 쓰지 않는 기능, 내컴퓨터로 스캔이미지 전송하기나, 초기 프린터IP잡기 등등을 수행하실 수 있는 분입니다. 가끔 랜선이나 내선전화선 정리를 하실 수 있는 분도 있는데.. 회사 자리바꿀 때 이 분 없으면 큰일납니다.35. 사내연애: 본인들만 모르고 다 압니다. 가끔 비상계단 문에서 5초정도의 시간차이로 나올 때가 있습니다.36. 꼰대: 왜 이게 안나오나 하셨을 겁니다. 꼰대는 그 유형이 굉장히 넓습니다. 하나로 규정할 순 없지만, 큰 의미에선 지는 안하면서 나한테만 시키는 전가형 꼰대와, 자신의 왕년스토리나 신념, 가정사, 재미없는 성적농담을 좋아하는 스토리텔링형 꼰대가 있습니다. 음.. 둘 다 싫습니다.37. 인바운더: 전화 진짜 잘받는 분이 있습니다. 이게 쉬운 것 같죠? 결코 그렇지 않습니다. 저 콜센터에서 일할 때 그 콜연습하려고 10일 내내 같은 스크립트만 연습하고 그랬던거 생각해보면...전화도 훈련이 필요한 것 같습니다.38. 그건안되는 분: 대부분 어떤 요청을 하면 99%의 확률로 그건 안된다고 하시는 분입니다. 가끔 되는 일을 찾는 재미가 있으므로 어떤 것이 되는 것인지 도전해보도록 합시다.39. 카페인천사: 가끔 아침에 커피사오는 분입니다. 세상 고마움.40. 실수폭발자: 뭔가 쾌활하고 명랑하긴 한데 실수가 끊이지 않는 분입니다. 마무리가 잘 되지 않는 스타일이죠. 꼼꼼함은 지하창고에 인셉션팽이처럼 영원히 가둔 듯 합니다. 41번이 필요합니다.41. 나노옵저버: 이 분은 오탈자 하나, 띄어쓰기 하나, 디자인시안의 잘못 지정된 선굵기까지도 한 번에 알아챕니다. 숫자 틀린 건 물론이고, 서류도 순서대로 클리핑을 해놓으시는데 그 꼼꼼함이 가히 대단합니다. 하지만 본인은 자신이 그리 꼼꼼하다고 생각하고 있지 않습니다. 40번이 운영, 말발, 행동력이 있다면 나노옵저버와 팀을 이뤄 시너지를 발생시킬 수 있습니다. 실제로 경험해봤는데 굉장했습니다. 42. 노블레스: 이게 너와 나의 눈높이다! 를 시전하며 신입이나 팀원들은 범접하지도 못할 레퍼런스와 지식을 보유하신 분입니다. 방대한 경험과 전문용어들로 '이게 어려워?' '그거 체크했어?' 등등을 시전하십니다. 경우에 따라 좋을 수도 있고 악몽이 될 수도 있습니다.43. 상담전문가: 꼭 회사 근처 카페로 가서 일대일 면담을 하는 팀장님들이 있습니다. 말을 들어주고 달래고 어르고 등등을 합니다. 내담자는 주로 일을 잘하는 팀원일 가능성이 높습니다. 이 상담으로 뭔가가 해결되는 듯 하지만, 실제론 임시방편인 경우가 많습니다.44. 예비자유인: 곧 퇴사를 앞두고 있거나 고민중인 분도 꼭 있습니다. 이런 분은 2,3명이 항상 같이 다니는데 점심시간 이후 등등 '좋겠다.' '다른데 알아보니 어때?' 등등의 퇴사정보를 공유합니다. 실행이 이루어지면 격월로 퇴사가 쭉쭉 발생할 수 있습니다.45. FM조교: 에프엠은 이거야. 라고 꼭 찝어 알려줍니다. 에프엠을 중요하게 생각합니다. 반대는 당연히 가라신봉자가 있습니다. '대충해' '괜찮아' '그냥와' 등등을 시전합니다. 46. 선생님: 말투가 뭔가 가르치는 말투인 분이 있습니다. 주로 말끝에 '그지?' '예를 들어~' '이해돼?' 등등을 자주 씁니다.47. 딴지장인: 진지함과 엄격함으로 무장한 이들은 종종 농담이나 예능을 다큐나 시사프로그램으로 받아칩니다. 말이 길어지고 뭔가를 설명하려고 합니다. 가끔 노잼이란 소릴 들을 수 있습니다. '왜 저래, 이상해.' 라는 뒷말의 대상이 되기도 합니다. 하지만 이상한 게 아닙니다. 그냥 성향입니다.48. 개자식: 위 47개 유형과 전혀 무관하게 그냥 나랑 진짜 안맞는 사람입니다. 주로 퇴사의 큰 원인을 제공합니다.49. 혁신주의자: 뭔갈 항상 바꿔야 한다고 하는 분입니다. 종종 대표님이 혁신주의자일 경우 실무자들은 위험해집니다. 실무자가 혁신주의자일 경우엔 '쟤 또또또 저런다.' 란 소릴 듣기도 합니다. 변화와 현실 사이에서 적절히 협의할 수 있는 성숙된 문화가 자리잡았으면 좋겠습니다. 50. 마니또: 물론 회사는 일하는 곳이고 가좆같은 분위기를 지양하는 요즘이지만 그럼에도 불구하고 수호천사 한 명쯤은 존재하기 마련입니다. 단순히 말이 잘 통하고 일손이 잘 맞는 수준이 아니라, 진짜 친구처럼 소중한 존재가 되는 사람들 말이죠. 직장에서 친구만들지 말라고 하지만...그건 의지로 되는 문제가 아닙니다. 퇴사 후에도 사람 인연은 어찌될 지 모르는 거죠. 물론 절대 많지 않습니다. 1명? 정도면 성공이라고 봅니다. 격한 스압으로 여기까지 오신 분들에게 박수와 짝짝짝을 보냅니다. 정말 다양한 사람들이 우글우글한 곳이죠. 직장은 일을 위해 모인 곳이지만 사실 개개인의 사연과 성향은 모두 다릅니다. 목표가 같다고 해서 모두가 한 마음 한 뜻이란 얘긴 아니잖아요. 직무능력과 전문성은 물론 중요합니다. 하지만 회사에 들어갔다는 것의 의미는 단순한 직무역량 이상입니다. 내가 이만큼 똑똑하고 니들은 닝겐이다! 가 아니고.. 내가 가진 능력과 발톱을 너네들과 함께 나누고싶다! 라는 개념이랄까요.그러니 내 능력을 표현하고 전달하고 나누는 능력이 훠어어어얼씬 중요한 듯 합니다. 이제 상반기 공채가 한창 진행되고 있고, 어느덧 봄이 다가오고 있네요. 조만간 사무실이 굉장히 졸려질텐데, 모두들 벚꽃같은 인연들 잘 맺으며 행복하시길 바랍니다!!(잠깐..벚꽃은 짧고 아름답잖아?..)
조회수 1882

회사에서 야근, 과로는 훈장이다?!

"회사에서 야근, 과로는 훈장이라고 생각한 적이 있었다. 그리고 당연시하게 생각했다."지금 생각해보면 일을 바라보는 순수함 일 수도 있고  1년씩 나이를 먹으면서 일을 하고 사회를 바라보면서 생긴 모습인 거 같다.일을 열정적으로 하는 건 본인 삶에 굉장한 동기여부가 있는 것이고 목표가 분명할 거다.그러나 야근과 과로를 일상화 되었을 때 잘못된 점들이 드러나게 되는데 첫번째는 누구나 예상할 수 있는 건강의 변화고 두번째는 삶이 회사가 되버린다. 이 둘을 경험 해보면서 붙여진 별명은 '워커홀릭' 이었고 사람들의 인식은 회사에서 야근 제일 많이하는 사람, 일을 쉬지 않는 사람, 일 밖에 모르는 사람의 모습이었다.긍정적인 거는 일을 정말 사랑하는 사람, 열정적인 사람, 어떻게 일을 저렇게까지 할 수 있지? 애사심 이었는데 하다하다 '일을 그만 하세요' 라는 얘기를 많이 들었다.  이 얘기는 1, 2, 3번째 일하는 곳에서 모두 동일했다. 입사하고 그게 훈장이고, 열정이고 삶의 동기부여가 있기 때문이었는데 몸에 변화가 오면서 브레이크가 걸리기 시작했다. "어릴때는 20대니까 체력이 받쳐준다고 괜찮아"라고 맹신했고, 30대는 30대 초반이니까 아직 괜찮고 성과와 결과, 인정에 취해 있었다. 그러다 입원을 하기도 하고, 몸살이 생겨 일주일 쉬어도 낫지 않았다.그렇게까지 한 이유? 왜 일을 그렇게까지 하지? 혹은 지금도 그렇게 몸에서 이상신호를 보내면서 나도 저런데 일을 하시는 분들이 계실거 같습니다.야근을 자주하고 왜 할까? 이유를 보면  1) 그 날 마감해야 해서 (일정이 꼬여서)2) 상사가 시켜서 3) 본인이 편해서, 일하는 느낌이 들어서4) 일에 대한 간절함 5) 힘들게 살아 온 과정 등이 있는데 나에게는 4, 5번이 가장 큰 동기부여 였다. 첫번째는 얼떨결에 창업을 하게 돼서 아무것도 모르는 사람이 약 3년을 연명하다 정리를 했었고두번째 회사에서 사업부가 폐지 되면서 같이 있던 직원 12명이 다같이 짤리게 되었다. 두번째 회사를 다니기 위해서 서울에 자취방을 구하고 다닌 지 4달이 지나고 사업부가 날라간 것이다.실업급여 나오는 거 없이 이런 일이 발생해 - 이직 할 곳을 찾기 위해 계속 나를 탐닉하면서 필사적으로 대기업부터 스타트업까지 30여개 이력서를 내고 운좋게 3곳에서 연락이 와 그 중 하나인 지금 회사로 들어왔다.1년을 채웠으면 100개 이상을 냈을 것이다.  그렇게 "한 번만 기회를 주시면 최선을 다하겠다고 다짐하고 3번째 회사로 이직했었다"이런 과정을 겪으니 유재석씨가 개그맨 시절 일이 없어 힘들 때 한 번 만 기회를 주시면 최선을 다하겠다는 말이 공감이 됐었다. 내가 열심히 해도 망할 수도 짤릴 수도 있구나를 겪으면서 더 간절했던 거 같다.   그럼에도 온전히 일과 삶이 행복하기 위해서는 무리한 (야근과 과로) 삶의 연속이 아닌 나를 위한 일과 삶이 되어야 한다.다시 돌아오면 야근을 왜 할까? - '야근'은 밤에 부지런히 일하다, 임무를 행하다. 근무하다, 힘쓰다의 뜻이다. 위에 1번처럼 그 날 마감해야 하는 경우와 오늘 해놓지 않으면 일정이 꼬이는 필요에 의한 야근은 수명업무다 반대로 그게 일상화되면 업무가 포화상태이고, 수명업무가 아닌 고정업무가 되버릴 수 있다. 수명업무는 자율적 혹은 타율적으로 조정할 수 있지만 일상이 되버리는 고정업무가 되면 내가 조정할 수 있는 걸 포기했거나 그걸 당연시하게 받아들인 건 아닌지 체크해볼 필요가 있을 것이다.그리고 개선을 해야 된다. 프로세스든 구조적 개선이든 업무 분배든 2번 처럼 상사가 시키면 어쩔 수 없이 해야 되는 경우가 있다.나도 요청을 받아서 진행하기도 했었는데 이 때 중요한 건 요청 시간, 절차와 마감시간인 거 같다. 반대로 업무를 요청할 때도 마찬가지 3번처럼 본인이 편해서, 일하는 느낌이 들어서면 이거는 나태함이나 일중독을 의심해봐야 한다.여러 원인에서 다가올 수 있다. 느슨함에서 나오는 거일 수도 있고, 결과, 성과, 인정에 취해서 나의 업무량은 이렇게 꽉 채워야 내 마음이 편하고 일하는 거 같다고 생각한다면 다시 생각해봐야 한다. "그건 일을 잘하는게 아니기 때문이다."나를 위한 일과 삶이 아닌 깎아내는 일과 삶이 될 수 있다. 우리는 단거리 보다 장거리 레이스를 한다.수명업무는 단거리 레이스지만 우리는 1주 1달이 아닌 1년, 10년, 30년 이상을 일한다. "프로선수는 1게임(1일)을 위해 최선을 다하지만 그 시즌을 위해 관리 합니다." 그러나 이렇게 반문할 수 있는데 "그래도 돈을 그만큼 많이 벌고 나중에 편하게 살면 되지 않아?""결혼하려면 바짝 돈 벌어야 돼 나중에는 힘들어 젊을 때 무리하지 언제 무리해?"매일 선택하는 삶을 살아가는 우리는 나름의 논리와 이유를 가지고 얘기를 하는데 3년이상 무리하면서 느낀 건 무리함이 계속 되면 수명을 팔아서 일을 한다는 거였다.   "그건 훈장이 아니라 독이든 성배다." 물론 무리하면서 얻고 깨달은게 있었다. 인정, 보상, 역량, 스킬, 인사이트 하지만 무리와 스트레스가 쌓이면서 일에 대한 행복함이 조금씩 사라지는 게 느껴졌다. 간절함과 감사함도 조금씩 사라지면서 내린 결론은 "일이 행복해야 삶이 행복하다" 였고 워라밸은 따로 나눠져 있는 게 아닌 삶 속에 일이 연결되어 있고, 일이 행복하지 않은데 삶이 행복하기는 매우매우 어려울 것이라는 거였다. 내 인생을 투자하는 만큼 지금 보내는 하루하루가 본인이 만족하는 삶이 되었으면..끝으로 "야근이 나쁘다는게 아닌 필요에 의해서 하는 건 어쩔 수 없다. 하지만 그게 반복되고 고정이 된다면 우리는 타의적이든 자의적이든 해결을 해야 한다는 것이다."   #업무습관 #야근 #워커홀릭 #일중독 #워라밸 #균형 #조화임재환마케터
조회수 1585

♥ 사무실 투어 in 프리윌린 ♥

안녕하세요. 매쓰플랫입니다 :)좋은 서비스를 제공하기 위해서는쾌적한 공간에서 근무를 하는 것이참 중요한 거 같아요~!쾌적한 근무공간 1등!!프리윌린 사무실 투어 Start ♥.♥로비 & 대회의실프리윌린 사무실을 방문하면제일 먼저 마주하는 공간이에요.로비 & 대회의실뒷 부분에는 프리윌린의 '대회의실'이 곳에서 보통은 월요일 전체 회의가 진행돼요~!회사가 점점 성장할수록직원들도 늘어나고~처음에는 넓게만 느껴졌던 공간에요즘에는 직원들로 가득가득 차네요 ㅎㅎ소회의실 모습① 각 팀별 회의 ② 협업 회의다양한 용도로 사용하는 소회의실~!넓은 창문이 있어서 쾌적한 환경은 기본티비, 에어컨, 간식, 화이트 보드까지....시원한 환경에서간식 먹으면서 회의를 즐겁게 할 수 있어요.소회의실 모습회의를 하다가 나온 아이디어는'화이트 보드' 적극적으로 활용~!프리윌린하면 빠질 수 없는 간식들 ♥오전에 폭풍같은 열일하고,가끔 피곤할 때가 있어요 ㅠㅠ그럴 때 찾는 공간!바로 휴게실이에요.안락한 공간에서 잠시 휴식을 취한 뒤으쌰으쌰해서 오후 근무 돌입~!프리윌린 직원들이 휴식 / 전화통화 / 스트레칭 장소 등등다양한 용도로 활용 한답니다.모든 직원이 각자의 자리에서열심히 일하는 공간~!프리윌린이 사무실이 좋은 이유 중 하나!층고가 높고 사면이 창문으로 되어 있어서일하면서도 답답한 느낌이 없어요 :)지금까지 프리윌린 사무실 투어 어떠셨나요?매쓰플랫은 1.학습지 커스텀 뿐만 아니라,2. 35만개의 방대한 시중교재 DB를 연동한 문제은행,3. 학생 관리 시스템을 통한 학생 성적 레포트 서비스 등을 제공합니다. 매쓰플랫 7일 무료체험도 알아 보세요 :Dclick! click!♥ 매쓰플랫 무료로 시작하기 ♥http://bit.ly/2vSSmxl※ [조기 마감주의] 매쓰플랫 설명회 신청 (8/24)설명회 참여하고 혜택받기 :)가입비 할인 혜택 받기:)
조회수 17009

iOS 10 웹뷰에서 LSApplicationQueriesSchemes 에 등록되지 않은 URL scheme으로 앱 열기

미국 현지 시각으로 9월 13일 런칭된 iOS 10 버전에서는 보안과 관련된 여러가지 정책의 변화가 생겼습니다. 그 중, 문서화가 잘 되어있지 않아1 곤란했던 정책의 변화는 바로 웹뷰에서의 custom URL scheme을 통한 앱 열기에 관련된 것입니다.문제 발견StyleShare 앱 내 스토어에서는 웹뷰를 통한 결제 방식을 사용하고 있습니다. 결제 프로세스는 다음과 같습니다. 웹뷰로 개발된 KCP 결제 페이지에서 주문 정보를 모두 작성한 후, 카드 결제 버튼을 선택하면 웹뷰에서 각 은행의 결제 앱을 실행하게 됩니다. 실행된 앱에서 사용자가 결제 정보를 입력하여 결제를 완료한 뒤 StyleShare 앱으로 돌아오면 결제가 완료되는 방식입니다. 발견한 문제는 바로 은행 결제 앱이 실행되지 않는 치명적인 문제였습니다.문제 원인웹뷰로 작성된 KCP 주문서는 아마 [removed].replace('myapp://hello/world')와 같이 custom URL scheme을 사용해서 결제 앱을 실행하도록 개발되어 있을 것입니다. 웹뷰의 URL이 변경될 경우 iOS가 이를 먼저 알아채고 설치된 앱에 등록된 URL scheme을 확인해서 앱을 실행하도록 하는데요. iOS 10 에서 변화가 생긴 곳이 바로 이 부분이라고 판단됩니다.iOS 9 버전에서 처음으로 LSApplicationQueriesSchemes 라는 Info 항목이 소개되었습니다. URL scheme을 사용해서 외부 앱을 열 경우, 특별한 제한이 없던 기존 방식에서 화이트리스트에 등록된 scheme만 열 수 있도록 보안 정책이 강화된 것인데요. 이 정책이 처음 소개된 iOS 9 버전에서는 웹뷰에서 URL scheme을 사용해서 앱을 열 경우 경고창을 통해 사용자에게 확인하는 과정만 추가되었을 뿐 정상적으로 작동하였습니다. 하지만 iOS 10 버전에서는 화이트리스트에 등록되지 않은 경우, 웹뷰에서는 무조건 차단하는 정책으로 변경된 것으로 보입니다.해결 방법애플에서 권장하는 해결 방법은 아마도 Info.plist의 LSApplicationQueriesSchemes 항목에 사용하고자 하는 URL scheme들을 등록하는 방법일 것입니다. 하지만, StyleShare 스토어는 KCP라는 PG사를 통해 각 은행의 결제 앱에 연동하는 구조로 되어 있습니다. 즉, KCP에서 새로운 결제 수단을 추가하거나, 각 은행사에서 앱 URL scheme을 변경/추가/삭제할 경우 각각에 대응해서 새로운 릴리즈를 해야 하는 것입니다. 더 심각한 것은 각 은행사에서 사용하는 URL scheme들이 문서화가 제대로 이루어지지 않거나 파편화되어있다는 점입니다.따라서, StyleShare에서는 웹뷰에서 custom URL scheme 요청이 발생하는 경우, 네이티브 코드에서 직접 앱을 실행하도록 하는 방법을 사용했습니다.UIWebViewDelegate를 사용하는 경우 func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool { if let url = request.url, url.scheme != "http" && url.scheme != "https" { UIApplication.shared.openURL(url) return false } return true } WKNavigationDelegate를 사용하는 경우 func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) { if let url = navigationAction.request.url, url.scheme != "http" && url.scheme != "https" { UIApplication.shared.openURL(url) decisionHandler(.cancel) } else { decisionHandler(.allow) } } 혹시 이 부분에 대한 문서화가 어디에 되어있는지 아시는 분은 [email protected]로 연락주시면 감사하겠습니다. ↩#스타일쉐어 #iOS #모바일 #개발자 #개발 #앱개발 #꿀팁 #인사이트

기업문화 엿볼 때, 더팀스

로그인

/