스토리 홈

인터뷰

피드

뉴스

조회수 4186

파이썬 코딩 컨벤션

스포카 개발팀 문성원입니다. 저희는 (익히 아시다시피) 서버를 개발하는데 파이썬(Python)을 사용하고 있는데, 오늘은 이러한 파이썬 코드를 작성할 때 기준이 되는 코딩 컨벤션(Coding Convention)에 대해서 알아보겠습니다.Coding Convention코딩 컨벤션이란 개념에 대해 생소하신 분들도 계실 테니 이를 먼저 알아보죠. 코딩 컨벤션은 프로그램 코드를 작성할 때 사용되는 일종의 기준입니다. 이를테면 들여쓰기(Indentation)는 공백으로 할거냐 탭으로 할거냐. 부터 var a = 3; 과 같은 코드에서 a와 =를 붙이느냐 마느냐라던지를 정해주는 것이죠. 알고 계시는 것처럼 이러한 차이는 특별히 실행 결과의 영향을 주지 않습니다. 다르게 이야기하자면 “실행 결과에 별 차이가 없는 선택지들”이기 때문에 일관성이 있는 기준을 두어 통일하자는 것이지요.그렇다면 왜 이런 선택지를 통일해야 할까요? 불행히도 우리가 작성한 코드는 많은 사람들이 보게 됩니다. 같이 일하는 동료, 이바지하고 있는 프로젝트의 리뷰어, 심지어 내일의 자기 자신까지도 말이죠. 그런데 이런 많은 사람들이 우리가 코드를 작성할 때 했던 선택지를 일일이 추론해서 이해하는 건 굉장히 피곤하고 짜증 나는 일입니다. 그래서 우리는 사소한 것부터 일종의 규칙을 정해서 이런 짜증과 불편함을 줄이려는 겁니다. 또한, 일반적으로 좋은 기준에는 훌륭한 프로그래머들의 좋은 습관이 배어있기 때문에 더 나은 품질의 코드를 작성하는 데에도 많은 도움이 됩니다.이런 코딩 컨벤션은 극단적으로 이야기하면 프로젝트마다 하나씩 존재한다고 볼 수도 있지만, 일반적으로 그 언어문화를 공유하는 공동체에서 인정하는 컨벤션은 대부분 통일되어 있습니다. 파이썬은 지금부터 살펴볼 PEP 8이 대표적입니다.PEP?PEP(Python Enhance Proposal)이란 이름대로 본디 파이썬을 개선하기 위한 개선 제안서를 뜻합니다. 이러한 제안서는 새로운 기능이나 구현을 제안하는 Standard Track, (구현을 포함하지 않는) 파이썬의 디자인 이슈나 일반적인 지침, 혹은 커뮤니티에의 정보를 제안하는 Informational, 그리고 파이썬 개발 과정의 개선을 제안하는 Process의 3가지로 구분할 수 있습니다. (좀 더 자세한 사항은 PEP에 대해 다루고 있는 PEP인 PEP 1을 참고하세요.) 파이썬은 언어의 컨벤션을 이러한 제안서(Process)로 나타내고 있는데 이것이 바로 PEP 8입니다.Laplace’s Box기본적으로 가이드라인이니만큼 규칙만 빽빽할 것 같지만, PEP 8는 서두부터 예외를 언급한 섹션이 있습니다.A style guide is about consistency. Consistency with this style guide is important. Consistency within a project is more important. Consistency within one module or function is most important.스타일 가이드는 일관성(consistency)에 관한 것입니다. 이 스타일 가이드의 일관성은 중요하죠. 하지만 프로젝트의 일관성은 더욱 중요하며, 하나의 모듈이나 함수의 일관성은 더더욱 중요합니다.But most importantly: know when to be inconsistent – sometimes the style guide just doesn’t apply. When in doubt, use your best judgment. Look at other examples and decide what looks best. And don’t hesitate to ask!하지만 가장 중요한 건 언제 이것을 어길지 아는 것입니다. – 때때로 스타일 가이드는 적용되지 않습니다. 의심이 들 때는 여러분의 최선의 판단을 따르세요. 다른 예제를 보고 어느 게 제일 나은지 골라야 합니다. 질문을 주저하지 마세요!Two good reasons to break a particular rule:When applying the rule would make the code less readable, even for someone who is used to reading code that follows the rules.To be consistent with surrounding code that also breaks it (maybe for historic reasons) – although this is also an opportunity to clean up someone else’s mess (in true XP style).다음은 규칙들을 어기는 2가지 좋은 예외 사항입니다.규칙을 적용한 코드가 (규칙을 숙지한 사람 눈에도) 읽기 어려운 경우일관성을 지키려고 한 수정이 다른 규칙을 어기는 경우(아마도 역사적인 이유겠죠.)아직 아무것도 안나왔는데 좀 이르다구요?It’s all about common sense예외 규정을 보여주며 시작하는 PEP 8이지만 얼개는 그리 복잡하지도 않고 크게 난해하지도 않습니다. 여기서는 대표적인 몇 가지만 추려서 소개하겠습니다.Code lay-out들여쓰기는 공백 4칸을 권장합니다.한 줄은 최대 79자까지최상위(top-level) 함수와 클래스 정의는 2줄씩 띄어 씁니다.클래스 내의 메소드 정의는 1줄씩 띄어 씁니다.Whitespace in Expressions and Statements다음과 같은 곳의 불필요한 공백은 피합니다.대괄호([])와 소괄호(())안쉼표(,), 쌍점(:)과 쌍반점(;) 앞키워드 인자(keyword argument)와 인자의 기본값(default parameter value)의 = 는 붙여 씁니다.Comments코드와 모순되는 주석은 없느니만 못합니다. 항상 코드에 따라 갱신해야 합니다.불필요한 주석은 달지 마세요.한 줄 주석은 신중히 다세요.문서화 문자열(Docstring)에 대한 컨벤션은 PEP 257을 참고하세요.Naming Conventions변수명에서 _(밑줄)은 위치에 따라 다음과 같은 의미가 있습니다._single_leading_underscore: 내부적으로 사용되는 변수를 일컫습니다.single_trailing_underscore_: 파이썬 기본 키워드와 충돌을 피하려고 사용합니다.__double_leading_underscore: 클래스 속성으로 사용되면 그 이름을 변경합니다. (ex. FooBar에 정의된 __boo는 _FooBar__boo로 바뀝니다.)__double_leading_and_trailing_underscore__: 마술(magic)을 부리는 용도로 사용되거나 사용자가 조정할 수 있는 네임스페이스 안의 속성을 뜻합니다. 이런 이름을 새로 만들지 마시고 오직 문서대로만 사용하세요.소문자 L, 대문자 O, 대문자 I는 변수명으로 사용하지 마세요. 어떤 폰트에서는 가독성이 굉장히 안 좋습니다.모듈(Module) 명은 짧은 소문자로 구성되며 필요하다면 밑줄로 나눕니다.모듈은 파이썬 파일(.py)에 대응하기 때문에 파일 시스템의 영향을 받으니 주의하세요.C/C++ 확장 모듈은 밑줄로 시작합니다.클래스 명은 카멜케이스(CamelCase)로 작성합니다.내부적으로 쓰이면 밑줄을 앞에 붙입니다.예외(Exception)는 실제로 에러인 경우엔 “Error”를 뒤에 붙입니다.함수명은 소문자로 구성하되 필요하면 밑줄로 나눕니다.대소문자 혼용은 이미 흔하게 사용되는 부분에 대해서만 하위호환을 위해 허용합니다.인스턴스 메소드의 첫 번째 인자는 언제나 self입니다.클래스 메소드의 첫 번째 인자는 언제나 cls입니다.메소드명은 함수명과 같으나 비공개(non-public) 메소드, 혹은 변수면 밑줄을 앞에 붙입니다.서브 클래스(sub-class)의 이름충돌을 막기 위해서는 밑줄 2개를 앞에 붙입니다.상수(Constant)는 모듈 단위에서만 정의하며 모두 대문자에 필요하다면 밑줄로 나눕니다.Programming Recommendations코드는 될 수 있으면 어떤 구현(PyPy, Jython, IronPython등)에서도 불이익이 없게끔 작성되어야 합니다.None을 비교할때는 is나 is not만 사용합니다.클래스 기반의 예외를 사용하세요.모듈이나 패키지에 자기 도메인에 특화된(domain-specific)한 기반 예외 클래스(base exception class)를 빌트인(built-in)된 예외를 서브클래싱해 정의하는게 좋습니다. 이 때 클래스는 항상 문서화 문자열을 포함해야 합니다.class MessageError(Exception): """Base class for errors in the email package."""raise ValueError('message')가 (예전에 쓰이던) raise ValueError, 'message'보다 낫습니다.예외를 except:로 잡기보단 명확히 예외를 명시합니다.(ex. except ImportError:try: 블록의 코드는 필요한 것만 최소한으로 작성합니다.string 모듈보다는 string 메소드를 사용합니다. 메소드는 모듈보다 더 빠르고, 유니코드 문자열에 대해 같은 API를 공유합니다.접두사나 접미사를 검사할 때는 startswith()와 endwith()를 사용합니다.객체의 타입을 비교할 때는 isinstance()를 사용합니다.빈 시퀀스(문자열, 리스트(list), 튜플(tuple))는 조건문에서 거짓(false)입니다.불린형(boolean)의 값을 조건문에서 ==를 통해 비교하지 마세요.Give me a reason하지만 몇몇 규칙은 그 자체만으론 명확한 이유를 찾기 어려운 것도 있습니다. 가령 예를 들면 이런 규칙이 있습니다.More than one space around an assignment (or other) operator to align it with another.Yes:x = 1 y = 2 long_variable = 3No:x = 1 y = 2 long_variable = 3보통 저런 식으로 공백을 통해 =를 맞추는 건 보기에도 좋아 보입니다. 하지만 변수가 추가되는 경우에는 어떨까요. 변수가 추가 될때마다 공백을 유지하기 위해 불필요한 변경이 생깁니다. 이는 소스를 병합(merge)할 때 혼란을 일으키기 쉽습니다.언뜻 보면 잘 이해가 안 가는 규칙은 이런 것도 있습니다.Imports should usually be on separate lines, e.g.:Yes: import os import sys No: import sys, os굳이 한 줄씩 내려쓰면 길어지기만 하고 보기 안 좋지 않을까요? 하지만 이 역시 대부분의 변경 추적 도구가 행 기반임을 고려하면 그렇지 않습니다.#스포카 #개발 #파이썬 #개발자 #Python #컨벤션 #이벤트참여 #이벤트후기 #후기
조회수 1698

네이버 신디케이션 — Rails

블로그에 새 글이 올라올 때, naver에 사이트 등록을 한다. 네이버 신디케이션 API를 이용하면 자동으로 등록된다.Wordpress에는 네이버 신디케이션 plugin이 존재한다. Rails gem을 찾아보니 애석하게도 없었다. 직접 만들면서 알게 되었다. 딱히 gem을 만들 만한 일도 아니더라.네이버 신디케이션을 이용하려면 우선 네이버 웹마스터 도구를 이용해야 한다. 해당 url이 자기 것이라는 인증과정만 거치면 바로 사용할 수 있다.작동방법은 대강 이렇다.네이버 신디케이션 API를 이용해서, 새로운 글이 생성되었음을 알린다. (혹은 글이 지워졌음을)네이버 크롤링 봇, Yeti가 와서 크롤링 해간다.API를 이용할 때 미리 약속된 format으로 만들어야 되는데, ATOM feed와 구조가 거의 같다. 다만 네이버가 정한 룰 때문에 (꼭 이름/저자/업데이트날짜 이런 순서를 지켜야 한다.)Rails에서 제공하는 atom_feed helper를 그대로 이용할 수 없다. 그러나 format만 살짝 바꾸면 되기 때문에 atom_feed helper를 이용해서, feed를 만드는 방법을 알려주는 Railscast가 늘 그렇듯 엄청 도움이 된다.(요즘 새로운 episode가 안올라오고 있는데… 힘내시라는 의미에서 예전에 유료결제 해드렸다)atom_feed helper의 코드를 그대로 가져와서 formating만 바꾼 naver_atom_feed helper를 만들었다. 별다른 건 없고, feed option 초기화 부분과 제일 마지막에 나와야 되는 link 부분을 주석처리한게 전부다.module NaverSyndicationHelper def naver_atom_feed(options = {}, █) ... feed_opts = {} //feed_opts = {"xml:lang" => options[:language] || "en-US", "xmlns" => 'http://www.w3.org/2005/Atom'} ... xml.feed(feed_opts) do xml.id... // xml.link... // xml.link... yield ActionView::Helpers::AtomFeedHelper::AtomFeedBuilder.new(xml, self, options) end end end새로만든 naver_atom_feed helper를 이용해서, feed부분만 완성한 code이다.naver_atom_feed({xmlns: "http://webmastertool.naver.com", id: 'http://ikeaapart.com'}) do |feed| feed.title "이케아아파트" feed.author do |autor| autor.name("이케아아파트") end feed.updated Link.maximum(:updated_at) feed.link(:rel => 'site', :href => (request.protocol + request.host_with_port), :title => '이케아아파트')이제 entry쪽을 만들어야 되는데, 네이버가 지정한 순서에 맞아야지만 신디케이션 서버에 전달할 수 있다. 정말 이상한 형식이다. 아무튼 그래서 Rails에서 제공하는 entry method를 사용하지 못한다. 이번엔 AtomFeedBuilder class에 naver_entry method를 만들었다.#config/initializers/feed_entry_extentions.rbmodule ActionView module Helpers module AtomFeedHelper class AtomFeedBuilder def naver_entry(record, options = {}) @xml.entry do @xml.id... # if options[:published]... # @xml.published(...) # end # if options[:updated]... # @xml.updated(...) # end # @xml.link(..) ...이번에도 순서 때문에 주석처리 한 것 밖에 없다. naver_entry method를 이용해서 완성된 코드가 아래 코드이다.# views/links/show.atom.buildernaver_atom_feed({xmlns: "http://webmastertool.naver.com", id: 'http://ikeaapart.com'}) do |feed| feed.title "이케아아파트" feed.author do |autor| autor.name("이케아아파트") end feed.updated Link.maximum(:updated_at) feed.link(:rel => 'site', ...) feed.naver_entry(@link, {id: link_url(@link)}) do |entry| entry.title(@link.title) entry.author do |author| author.name("이케아아파트") end entry.updated(@link.updated_at.xmlschema) entry.published(@link.created_at.xmlschema) entry.link(:rel => 'via', :href => (request.protocol + request.host_with_port)) entry.content(@link.contents) end end이제 새 글이 만들어 질 때, 이 atom 파일 주소를 네이버 신디케이션 API로 보내주면 된다. 참고로 Rails에서는 어떤 view파일을 사용할지 알아서 해주니, controller에 따로 ‘response_to’ 를 이용해서 format을 나눠줄 필요는 없고, 이름만 잘 맞춰주면 된다. (위 파일명은 show.atom.builder 이다)네이버 신디케이션 API에 핑을 보내는 code이다. 네이버가 지정해 놓은 header를 설정해 줘야 되고, 신디케이션 인증 토큰을 받아서 header에 넣어줘야 된다. 신디케이션 토큰은 네이버 웹마스터 페이지에서 볼 수 있다.require 'net/http' ... header = {"User-Agent"=>"request", "Host"=>"apis.naver.com", "Progma"=>"no-cache", "Content-type"=>"application/x-www-form-urlencoded", "Accept"=>"*/*", "Authorization"=>"Bearer " + ENV["NAVER_SYNDICATION_TOKEN"]} uri = URI.parse('https://apis.naver.com/crawl/nsyndi/v2') http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true args = {ping_url: link_url(link_id, format: "atom")} uri.query = URI.encode_www_form(args)request = Net::HTTP::Post.new(uri.request_uri, header) http.request(request)네이버 신디케이션 페이지에서 핑이 제대로 도달하는지 바로 확인해 볼 수 있다.#티엘엑스 #TLX #BA #BusinessAnalyst #비즈니스애널리스트 #꿀팁 #인사이트 #조언
조회수 1548

Y, ‘옐스데이’에 다녀오다

통통튀는 사내문화와 복지로 유명한 옐로스토리가 분기별로 ‘옐스데이’ 행사를 개최하고 있다는 사실, 알고 있었나요? 이번 옐스데이에는 특별한 공연이 있다는 소문을 듣고 저 Y가 옐로스토리를 다녀왔습니다! 옐스데이는 임직원간에 정보 갭을 줄이기 위한 공유의 장인데요, 이날 경영진은 지난 1분기의 성과 및 실적 등 직원들이 알기 쉽지 않은 정보를 공유했습니다! 공유의 시간이 끝나고 클럽으로 급변한 카페에서 치맥/피맥타임 시작!(갑자기 클럽으로 변한 옐로스토리 카페에 Y가 무척이나 당황했다는 소문이ㅋㅋㅋ)즐거운 먹방이 끝나고, 드디어 기다리고 기다리던 공연 시작! 특히 이번 옐스데이는 전설적인 록 그룹 너바나의 리더 커트 코베인 추모 공연이 진행됐는데요, YDM 임원 및 옐로스토리 임직원이 ‘락 스피릿’ 아래 하나돼 잠시 동안 업무스트레스를 잊고 흥겨운 시간을 보냈습니다. (함정은 금요일 퇴근 후!! 였다는 것…물론 행사 참석은 100% 자유) (소근소근)너바나의 대표곡이 울려 퍼지면서 본격적으로 행사가 시작됐는데요. 옐로스토리 임직원들이 자신의 순서에 맞춰 무대에 오르며 커트 코베인에 대한 순수한 존경심을 내비쳤습니다. (Y도 너바나의 팬이라 분위기에 홀딱 빠졌다는…)사실 옐스데이 공연은 벌써 네번째를 맞이했는데요, 이번 공연이 더 특별한 이유는! 바로바로 옐로스토리의 정연 대표가 처음으로 밴드에 조인했기 때문이라고 합니다! 무려 4개월 동안이나 기타 줄을 손에 붙이고 사셨다는 후문!이어서 YB밴드, 델리스파이스 등의 국내 인기 록밴드의 노래가 이어졌습니다!드디어 모두의 격렬한 환호를 받은 드림팀의 등장!!! 바로 그룹IDD의 이정찬, 백승록 대표, 이재용 국장, 그리고 옐로스토리의 장대규 대표, 이주리 매니저로 이뤄진 ‘주리밴드’의 스페셜 공연이었습니다:) 실제 음악 활동을 하셨던 분들로 구성되어 있어서 관객들의 호응을 이끄는 노련미와 무대매너로 옐스인들을 사로잡았는데요, 늘 임직원간 즐거운 소통의 장을 만들고자 노력하는 옐로스토리에 저 Y는 정말 홀딱 반하고 왔답니다:) 옐로스토리 파이팅! 
조회수 944

업무전화를 알아듣게 해보쟈.

브랜딩 뿐 아니라 모든 업무가 그렇듯 커뮤니케이션은 흔히 4가지로 나뉘어집니다.1. 얼굴보고 하는 미팅2. 글로 주고 받는 메일3. 목소리로 주고받는 유선4. 법정에서 주고받는 소송등등이죠. 물론 4번은 되도록 안하면 좋겠지만, 종종 하고싶기도 하고 은근히 주변엔 이 대화를 하시는 분들이 꽤나 있더군요. 5번 몸의 대화도 있지만 다 큰 어른들이니 그건 잠시 미뤄놓도록 하겠습니다. 일을 함에 있어서 가장 어려운 파트는 눈에 보이지 않는 것을 설명해야 할 때 입니다. 기획, 컨셉, 느낌, 이렇게 만들어주세요 등을 알려야 할 때죠. 물론 상대방이 초안을 잡아주면 좋겠지만, 그는 초안을 잡을 시간이 없습니다. 손으로라도 그려주면 참 좋을텐데라는 생각이 들지만, 뭐 어차피 레퍼런스는 내가 만들어서 주는 편이 오히려 속 편할 때가 있으니 웃으며 넘어갈 수 있습니다.어..어 뭔 말이야?... 기한을 못 맞추겠다고?..문제는 이렇습니다. 전화와 메일은 생각보다 어렵다는 거죠. 특히 위에서 말한 두루뭉술한 것들을 표현해야 할 때는 너도 나도 내 머릿속의 타블렛을 활용하여 제 멋대로 창작활동을 펼집니다. 깔끔하고 간결하게 정돈하기 쉽지 않은 작업이죠. 이러한 커뮤니케이션의 어려움은 오해를 불러일으키고 돈문제를 만들고, 서로를 피곤하게 합니다. 서로 좋지 않은 경험으로 남는 것이죠. 그래서 오늘은 제 짧은 경험들을 되살려 업무메일과 전화를 알아듣게 표현하기에 대해 얘기해보려고 합니다. 오늘은 커뮤니케이션 중 '전화' 에 대해서 알아보겠습니당.전화를 해보자업무전화를 해봅니다. 내선도 있고, 외부전화도 있고, 개인폰으로 받는 전화도 있고, 새벽에 자다가 깨서 받는 전화도 있고 업무전화는 시간장소를 가리지 않습니다. 전화업무는 특성상 피곤을 유발합니다. 특히 우리나라는 '상식적인 시간'이란 게 존재하지 않는 듯해서 24시간 전화대기를 타고 있어야 하는 긴장감이 있죠. 또한 대부분의 전화업무는 그리 좋지 않은 이슈들이 많은터라 전화업무가 많아지면 가만히 앉아서 입만 움직였는데도 온 몸이 두둘겨 맞은 듯 합니다. 어릴 적 교통사고 처리를 담당하는 콜센터에서 근무를 했던 적이 있었습니다. 이 빌어먹을 보험사 전화는 가뜩이나 교통사고가 나서 멘탈이 소보로빵이 된 분들에게 ARS라는 (AstRal Strike = 정신공격) 거대장벽을 제공합니다. '잠시만 기다려 주시면 곧 연결해드리겠습니다.' 라는 말을 400번쯤 듣고나서 분노게이지가 각성모드로 바뀐 분들이 저같은 콜센터 직원에게 다가오는 것이죠. 그들을 마주하는 것은 거대한 슈퍼사이언인을 대적하는 것과 같습니다. 아 물론 저는 일개 지구인이죠. 그렇게 1년 간 다채로운 순우리말 욕을 듣고, 이후 3년간 영업직에서 배운 것 몇 가지를 풀어보겠습니다.1. 안녕하세요는 없습니다. 어디에 누구라고 합시다.애프터모멘트 박창선 대표입니다. (아 대표님이세요? 저 한성일실장입니다) 아 네 안녕하세요!이 순서로 나가는 겁니다. 이 때 '아 네!' 는 반갑게 올려줘야 합니다. 아!!당신이군요!! 라는 느낌으로 보이진 않지만 눈을 동그랗게 뜨고 스마트폰을 두손으로 쥐기도 합니다. 가끔 전화로 안녕하세요!를 하며 직접 고개를 숙이는 분도 있더군요. 뭐 어찌되었든 좋습니다. 안녕하세요는 2번째 문장입니다.2. 다름이 아니라다름이 아니라를 붙입시다. 한템포 쉬어가면서 나도 말정리 하기가 좋습니다. 상대방도 뭐가 다름이 아닌지 궁금하게 만들어줍시다.3. 그 왜 예전에이런 말은 쓰지 않도록 해용. 그..그그 왜 , 예전에 그 말씀하신 거 있잖아요. 그 뭐냐, 그거.... 기억이 나면 다시 전화하도록 합시다.4. 용건부터 말합시다.사정얘기부터 늘어놓는 경우가 있습니다.'아, 저희가 이번에 MDF로 제작하려고 했던 것이 시공업체 쪽에서 조금 이슈가 있다고 하더라구요. 그래서 그 쪽이 자재 들어오면 일정이 조금 늦어진다고 차라리 다른 것이 어떻겠냐고 추천해준 것이 있는데 제가 보니까 그것들도 나쁘지 않더라구요...'이런 식으로 말이죠. 10마디만 더 들으면 눈물없이 들을 수 없는 가슴아픈 사모곡이 될 수도 있습니다. 상대방으로 하여금 7번방의 기적을 본 듯한 느낌을 주려는 것이 아니라면 간결하게 용건부터 말합시다. '제작물품의 소재변경건으로 연락드렸습니다.' 라고.5. 땋땋 얘기하자.'되면 알려주세요'  라는 말은  "하더 거 마저 다아아아 하시고, 밥도 드시고, 데이트도 하신 후, 페북에 글도 올리시고, 푹 한 줌 주무셨다가 꿈결에 불현듯 생각나면 '월요일날 하지 뭐' 하고 미루셔도 되요." 라는 뜻입니다. 그건 상대방을 배려하는 것이 아니예요. 기획사에서 일할 때 느낀 점이 있습니다. 가장 착한 목소리를 한 분들이 후순위로 밀려난다는 것이죠."결재진행도 해야하니 해당 견적과 비교견적 각1부씩 4시반까지 부탁드리겠습니다. 가능하신가요?"이게 깔끔합니다. 부탁드리겠습니다 = 해야한다. 가능하신가요? = 가능해야한다. 라는 의미인데 저기에서 '아니요 불가능한데요' 라고 할 사람은 몇 없습니다. 분명 바쁘다, 지금 외부에 있다 뭐 이런저런 말들이 많겠지만,그 쪽만 바쁜 건 아니니까요. 커뮤니케이션은 정확하고 땋.땋.땋 떨어지게 합시다.6. 부재중 메모엔 제발 회신 전화번호를 적어주세요.= 김대리님 한성물산에서 전화왔는데요? / 응 한성물산 누구? / 김형모 차장님이라는데../ 그게 누구야? / 글쎄요? / 전화번호는? / 아 맞다.. / .... /아..그 번호 뭐드라...아...으....7. 전화로 설명하는 건 의미가 없어요.= 본인은 말하면서 막 눈 앞에 그려지겠지만, 듣는 사람은 공허의 장막을 들추고 우주를 탐험하는 기분입니다.설명은 메일로 주시거나 아니면 파일로 넘겨주세요.8. 어떤 전화들이 올 지 미리 짐작은 해놔야 해요. = 전화 받았는데 '왜 전화하셨어요?' 라는 말투면 상대방이 벙 찔 수 있습니다. 대충 누구에게 연락이 올 것 같고, 어떤 이슈때문일지는 어느 정도 정리를 해놓는 것이 좋습니다. 그럼 대화가 빨리 끝날 수 있죠.9. 전화해서 메일로 넘어가지 마;;;진짜 이런 경우가 은근 많더라구요. 서로 미리 체크도 안되있고, 자료준비도 안된 상태에서 그냥 전화 먼저 하고 나중에 얘기거리를 정리하는 경우인데, 문제가 많습니다. 대화를 한 번 볼까요."이 대표님 저 OO협회 김정화입니다. 수정요청이 몇 가지가 있어서요.""어떤...?..""저번에 했던 그 작업이요.""로고요? 아니면.. 포스터요?""포스터 쪽인 것 같은데..잠시만요 저도 확인해볼께요."(부스럭부스럭)"아 포스터요""아, 네 "어떤 요청이시죠?""그 몇 가지 바꿔야 하는데, 그 위에 그 부분 있잖아요.""아 잠깐만요 지금 외부라서 파일을 보기 힘들어요.""아 그러세요, 그러면...음 이거 정리해서 메일로 드릴께요.""네 감사합니다.""감사합니다.""아 맞다! 대표님 그 통장사본은 언제쯤 주실 수 있으세요?""어? 그거 저번에 보내드렸다고 문자드렸는데. 안왔나요?""아 정말요? 그럼 메일 확인해볼께요! 감사합니다!"=총체적난국...일단 둘 다 문제가 있어요. 이 대표는 어떤 전화가 올 지 미리 체크가 안되어 있는 상태이고, 업무건에 대해 정확히 컨펌여부를 확인하지 않았어요. 추가업무가 진행될 사항이 있는 건은 항상 On going으로 놔두고 긴장하고 있어야 해요. 김정화씨도 문제가 있어요. 일단 미리 확인을 해보지 않고 그냥 무작정 전화만 해버린 케이스예요. 전화해놓고 그제서야 자료를 찾고, 메일을 확인해보겠다고 허둥지둥하고 있는 모습이죠. 결국 커뮤니케이션의 주제가 "메일로 연락드릴께요." 로 끝나버렸습니다. 이건 서로 고구마섭취를 함과 동시에 상호간에 무례한 자식이 될 수 있기 때문에 신경을 좀 써야해요.10. 복명복창한당.콜센터에서 전화교육받을 때나 영업뛰던 시절엔 전화 인바운드 롤플레이훈련을 정말 많이 했어요. 이 때 선배들이 알려준 꿀팁은 복명복창입니당. 상대가 했던 말을 다시 말해서 크로스체크하는 거죠."12일날 1차시안 진행하고, 15일을 수정안가지고 다시 미팅하는 걸로 하시죠.""네 좋습니다 그럼 12일날 1차시안 드리고, 15일날 수정안 가지고 봽겠습니다!"11. 끊고나서 아차! 하지 않으려면끊고나면 생각나서 다시 전화하게 되는...아래의 말을 한번 분석해볼께요."그럼 4시까지 서류정리해서 메일로 보내주시구요, 17일날 미팅건은 대표님께 확인해서 추후 알려드리도록 할께요. 맞다, 영상제작건은 어느정도 진행되고 있나요? 급한 건 아닌데 위에 보고할 사항이 있어서요."4시 서류정리 후 전달17일 미팅건 상대측 대표확인 요추후 언제 어떻게 알려줌?영상1차수정작업 완료/1시간 이내로 발송보고할 때 어떤 사항들이 필요하신지?이렇게 5가지 정보로 나뉘어지는데 이때 내가 확인해야 할 게 3가지이고, 재질문 해야 하는 것이 2가지입니다.그럼 10번에서 말했던 것처럼 3가지는 크로스체크해주고, 2가지는 되물어야 합니다."4시까지 통장사본, 사업자등록증, 거래명세서 취합해서 보내드릴께요. 17일 미팅건은 확인해주시고 언제쯤 확인 가능할까요? (아마 오늘 중으로 가능할 것 같아요. 돌아오시면 바로 여쭤볼께요), 네 그러면 확인 후 19시까지 문자로 남겨주시면 확인하도록 하겠습니다. 영상은 1차수정완료되서 1시간내로 드릴거예요. 혹시 보고하실 때 추가로 필요하신 사항있나요? (아 수정사항 어디 반영된건지 알려드려야 해서요.) 그럼 수정된 부분 보고서에 표시해놓을 테니 별도로 챙기시면 될 듯합니다.(감사합니다)"이런식으로 전화받으면서 내가 주어야 할 것들과 내가 들어야 할 것들을 명확하게 나눠보는 것이 좋아요. 적으란 얘기죠. 우린 어릴 적부터 한 귀로 흘리는 연습을 자주해서 들은 말 중 90%는 흘려버려요. 그러니 손의 도움을 좀 받도록 합시다.말을 잘하는 것과 말이 많은 것은 엄연히 다른 얘기입니다. 업무전화의 생명은 간결함과 명확성이예요. "즈음, 추후, 확인하고 알려드릴께, 되면 알려주세요, 보내놓은 상태다, 아마도..." 등등의 뜬구름구렁이 표현은 좋지 않아요. 시간과 업무내용을 명확히 해놓으면 당장 할 일이 생기긴 하겠지만, 어쨋든 순서를 정할 수는 있습니다.뿌연 커뮤니케이션은 이런 결과를 만들 수 있습니다.근데 두루뭉술해지면 대부분의 일들을 다 후순위로 밀어버리는 것이 또 사람의 본성이죠. 인간의 게으름은 끝이없고, 같은 실수를 반복합니다. 후순위로 밀려난 거대하고 사소한 일더미는 결국 내일의 나에게 '누락과 좆됨'을 선사합니다. 그러니 서로서로 정확하고 깔끔한 대화로 가열차게 혼나거나 멱살잡고 싸울 일을 최소화 해보도록 합시다.메일 쓰기편에서 다시 만나용.
조회수 1536

"구성원의 성장을 이끌고, 지원하는 조직이 되었으면"

패스트파이브는 멤버들에게 공간, 서비스, 커뮤니티를 제공합니다. 한눈에도 매우 달라 보이는 이 세 가지 가치를 모두 다루는 곳이 바로 프로덕트 본부인데요, 멤버가 직접 만나는 가치인 만큼 아주 작은 디테일까지 신경써야 한다고 하네요. 이번 Humans of FASTFIVE의 주인공은 더 나은 가치를 공유하기 위해 연구를 거듭하는 프로덕트 본부의 고혜경 이사님입니다.  공간, 서비스, 커뮤니티는 뗄래야 뗄 수 없는 연결된 가치라고 설명하는 혜경 님의 인터뷰를 함께 만나보시죠.  Q. 혜경 님 안녕하세요, 간단한 자기소개를 부탁드립니다.저를 하는 일로 소개하자면 잡부에 가까운 것 같네요. 잡다한 일을 이것저것 하는 사람이라는 의미에서요. 회사에서 지금 필요한 일을 하다보니 자연스럽게 그렇게 되었습니다. 회사가 성장함에 따라 필요한 일들이 달라지는데, 그에 맞추어 제가 하는 일도 변하거든요. 2017년 4월에 패스트파이브에 입사한 뒤로 거의 6개월마다 포지션이 바뀌었네요.그렇다고 부정적인 의미는 아니에요. 페이스북에서 일했던 Molly Graham이라는 사람이 쓴 칼럼을 읽었는데요,  성공하는 조직에서 3개월마다 포지션이 바뀌는 일은 당연하니 그에 대해 스트레스를 받지 말라는 내용이었어요. 내가 자리를 옮겨도 그 일이 돌아가도록 하는 게 당신의 업무라고 하더라고요. 그걸 읽고 ‘내 이야긴가?’ 싶었어요.Q. 패스트파이브에 합류하기 전에는 어떤 일을 하셨나요?패스트파이브에는 2017년 4월 1일에 입사했습니다. 그 전에는 푸드플라이라는 배달앱 서비스 스타트업에서 초기 멤버로 1년 반 정도 일했어요. Q. 그럼 처음부터 스타트업에서 커리어를 시작하신 건가요?아니요, 푸드플라이 전에는 삼성전자 무선사업부의 모바일 서비스 기획/운영팀에서 일했습니다. 제가 입사한 2009년은 삼성전자가 안드로이드폰을 런칭하기 전이었어요. 그 해에 한국에 아이폰이 처음으로 출시되었죠. 삼성에서 갤럭시S를 출시한 시기가 2010년이고 갤럭시 S3로 정점을 찍은 게 2012년이니 저로서는 운이 좋게도 그 과정을 지켜볼 수 있었습니다.삼성전자는 스마트폰 이전, 피쳐폰 시장에서는 잘 하고 있었지만 스마트폰에 대한 이해는 부족한 상태였습니다. 스마트폰에서는 페이스북이나 유튜브 같은 모바일 서비스가 잘 되는 게 중요한데 당시에는 사람들이 그런 서비스에 대해 잘 몰랐어요. 제가 속한 팀이 그런 측면에서 프론티어 같은 역할을 했죠. 영업팀 임원에게 페이스북이 뭔지, 트위터는 어떤 서비스인지 설명하고 많은 사람들이 이 기능을 원한다는 것부터 설득해야 했어요. 원래 모바일/웹서비스에 관심이 많았기 때문에 빠르게 적응할 수 있었던 것 같아요.삼성에는 3년 정도 다녔는데, 한 달에 한 번 정도 먼 곳으로 출장을 많이 나가야 했어요. 주로 중남미 쪽으로 다니니까 시간이 정말 빨리 가더라고요.Q. 대기업에서 스타트업으로 일터를 옮기신 이유는 뭔가요?회사 생활이 나쁘지는 않았지만 무기력함이 심해질 때가 있었어요. 운동, 연애, 이사 등 여러 가지를 시도해봤는데 잘 나아지지 않더라고요. 마지막에는 ‘내가 가장 많은 시간을 보내는 회사에서의 일을 바꿔볼까?’ 하는 생각을 했죠. 원래는 회사 내에서 부서를 바꾸려고 했어요. 그러던 찰나 푸드플라이 대표가 저에게 같이 일해보자고 하더라고요.또 그 시기가 창업, 스타트업 업계에서 제2의 붐이 일었을 때예요. 제 고등학교 동창 중 한 명이 티몬의 창업 멤버이기도 하고 주위에 스타트업에서 일하고 있는 지인들이 많아서 딱히 어려운 선택은 아니었습니다. 또 푸드플라이의 비즈니스 모델 설명을 들어보니 말이 된다는 판단이 들었죠. 사실 깊이 생각했다기보다는 가벼운 마음으로 옮겼어요. '허황된 일은 아니구나, 나도 같이 해볼까?' 정도의 마음으로요.Q. 다양한 일을 경험하셨는데 이 경험들과 비교했을 때 패스트파이브에서 일한다는 것은 어떤 점이 다르고 어떤 의미를 갖나요?패스트파이브는 저의 생각보다 훨씬 빠르게 성장하고 있다는 점이, 제가 거쳐왔던 다른 곳들과의 차이입니다. 그리고 그 성장이 실시간으로 눈에 보여요. 물론 삼성전자의 스마트폰도 굉장히 빠른 속도로 성장한 사업이었습니다. 하지만 그 과정이 구체적으로 제 눈에 보이지는 않았어요.그런데 패스트파이브는 작년 4월만 해도 스무 명이 채 안 되었던 직원 수가 현재는 팔십 명이 넘는 상황이죠. 또 프로덕트의 특징도 있어요. 규모가 커질 때마다 새로운 지점이라는 실물이 세워지는 거잖아요? 지점이 느는 게 눈에 보이니까 더 직접적으로 ‘체감’의 느낌이 들어요. 푸드플라이에서 고객이 늘어난 건 확실하지만 그 고객들을 제 눈으로 직접 보지는 못했다는 점과 구별되죠.  Q. 패스트파이브의 프로덕트에 대한 이야기를 해주셨는데, 프로덕트 본부는 정확히 어떤 일을 하는 곳인가요?프로덕트 본부는 패스트파이브가 고객들에게 제공하는 공간/서비스/커뮤니티를 관리하는 곳입니다. 한 가지씩 나누어 설명드릴게요. 우선 패스트파이브가 제공하는 ‘공간’은 굉장히 복합적인 상품입니다. 실제로 구획된 물리적 공간뿐만 아니라 심미적인 요소도 포함되어 있거든요. 기능적 요소와 심미적 요소를 동시에 충족시켜야 하는, 오프라인 영역의 프로덕트가 공간인 셈입니다.구글, 카카오, 배달의민족처럼 사무실의 심미적 측면에도 크게 신경을 쓰는 일부 기업을 제외하면 보통 사무실에서 심미성을 엄청나게 추구하지는 않잖아요. 저희는 일을 하러 오는 곳에서도 심미적 경험을 할 수 있도록 노력 중입니다. 그 점이 보통의 사무 공간과 패스트파이브의 차이기도 하죠.패스트파이브의 멤버들은 일을 하기 위해 여기에 오기만 하면 됩니다. 가장 중요한 일 말고는 고민할 필요가 없죠. 예를 들어 너무나 당연하게 느껴지는 인터넷이나 정수기, 커피 같은 서비스도 직접 사무실을 꾸려 나가려면 보통 신경쓰이는 게 아니거든요. 직접 전화를 걸어서 인터넷 설치를 신청해야 하고, 정수기 업체를 비교 선택해야 하고, 커피는 인스턴트를 구입할까, 머신을 대여할까 등등의 고민이 필요하고요. 패스트파이브는 이런 서비스를 전부 제공합니다. 서비스는 말 그대로 눈에 보이지 않는 서비스이기 때문에 눈에 보이는 상품인 공간과는 굉장히 다른 영역이죠.패스트파이브의 미션은 고객들이 본질에 집중해서 일할 수 있도록 하고, 영감을 받을 수 있도록돕는 것입니다. 영감을 받게 하는 방법에는 여러가지가 있습니다. 환경을 바꾸거나 만나는 사람을 바꾸는 것도 그 방법들 중 하나죠. 집과 회사만 왕복하다 보면 늘 만나는 사람만 만나게 됩니다. 친구도 점점 편한 사람만 만나게 되고요. 영감을 받기엔 어려운 환경이라고 할 수 있죠. 패스트파이브는 의도적으로 낯선 사람들과 만날 수 있는 커뮤니티를 제공합니다. 그 과정에서 몰랐던 것들을 알게 되고 새로운 자극을 받고 다른 방향의 사고를 할 수 있게 돼요. 더 발전해서 실제로 협업을 하게 되는 경우도 있고요. 이런 커뮤니티 역시 패스트파이브가 제공하는 프로덕트 중 한 가지예요.Q. 프로덕트 본부에서 다루는 요소들은 상당히 복합적이고 어떻게 보면 제각각이라고 느껴지는데요, 이 프로덕트들을 하나로 묶은 이유가 있나요?사실 공간/서비스/커뮤니티는 모두 연결되어 있습니다. 공간이 뒷받침되어야 서비스를 제공할 수 있는 식이죠. 라운지라는 오프라인 공간을 구축해야 그 안에서 커피 서비스를 제공할 수 있게 되는 거니까요.또 이벤트를 개최하거나 소모임을 진행할 수 있으려면 그에 맞게 공간을 설계해야 합니다. 사람들이 왔다갔다하면서 서로 마주칠 수 있으려면 공간에 그 의도를 담아야 하죠. 그러니 커뮤니티, 서비스, 공간이 다 따로인 것 같으면서도 연결되어 있는 맥락인 셈입니다. 극단적인 예로, 기존의 소호 사무실이나 비즈니스 센터처럼 라운지가 없고 사무공간만 있다고 상상해보세요. 그렇다면 행사나 이벤트, 소모임을 개최하기도 어려워질 거예요. 가장 밑바탕에는 공간이 있고 그 위에 서비스와 커뮤니티가 얹어져 패스트파이브의 프로덕트를 완성한다고 할 수 있죠.Q. 굉장히 다양한 일을 하시는 것으로 알고 있는데, 일을 하면서 가장 어려운 부분과 보람있는 부분이 있다면 어떤 점인가요?공간에 관련된, 그러니까 인테리어 디자인이나 건축 쪽 일을 해본 적이 없어서 패스트파이브에 와서 아예 처음부터 배우게 되었습니다. 새로운 분야를 배우는 일 자체는 크게 어렵지 않았지만 디테일한 요소들이 끝이 없더라고요. 디테일에서 퀄리티 차이가 나고, 브랜드 이미지가 달라지기 때문에 굉장히 중요한데 또 그만큼 광범위하니까요.저는 개인적으로 기준이 높은 편이에요. 제 눈에는 별로인데 남들은 괜찮다고 하는 경우도 많고요. 그래서 최대한 저의 기준에 맞추려고 노력합니다. 지금까지 만족한 적은 드물어요. 공간은 예쁘고 만족스러운데 설계를 잘못해서 깔끔하지 않게 사용된다든지 하는 문제가 생기더라고요.Q. 혜경 님의 기준에 따라 디테일을 수정한 경우가 있었다면요?패스트파이브의 라운지는 노출 천장이 기본 컨셉이에요. 노출 천장이 자칫하면 어지럽고 지저분해 보일 수 있거든요. 그래서 새로운 지점에서는 냉난방 배관을 원형 덕트가 아니라 라인 디퓨저 형태로 만들어서 최대한 창측으로 빼봤어요.또, 패스트파이브는 보통 사무공간과 달리 컬러풀한 색을 많이 사용하는 편이에요. 사무실이라고 하면 흰색, 회색 정도가 전부인 경우가 많은데 패스트파이브의 공간은 컬러풀하죠. 그래서 페인트 선택에도 많은 고민을 했는데요, 기존에 사용한 무광 페인트는 세련된 대신 먼지가 잘 묻는다는 단점이 있습니다. 반대로 광이 날수록 매트한 세련됨이 덜하죠. 그런데 최근에 아주 약간 광이 있는 페인트를 찾아냈어요. 매트한 느낌을 살리면서도 아예 무광인 제품보다 먼지가 덜 묻는 제품을 도입했죠.페인트칠을 한 벽에 먼지가 잘 묻는다는 문제 의식은 늘 가지고 있었지만 이 문제를 바로 처리해야겠다는 생각은 못 했어요. 다른 더 급한 일이 많기도 하고요. 대신 저희와 함께 일하는 협력업체들에게 늘 이야기해두었죠. 먼지가 묻는 문제가 있는데 유광은 예쁘지가 않다, 해결 방법이 생기면 알려달라고요. 그랬더니 이런 제품이 있다고 연락이 오더라고요. 이런 시도들을 같은 것을 제공하면서도 좀 더 좋게 만들려는 노력으로 봐 주시면 좋을 것 같습니다.Q. 앞으로 패스트파이브에서 이루고 싶은 가치나 목표가 있으신가요?회사가 빠르게 성장하는 만큼 함께 성장하고 싶어요. 그리고 구성원의 성장을 이끌고, 지원할 수 있는 조직이 되었으면 좋겠습니다. 패스트파이브의 구성원은 대부분 5년 이하의 경력을 가지고 있으신데 이분들의 성장이 회사의 성장과 직결되어 있잖아요. 구성원의 성장과 함께 빠르게 성장하는 회사가 되었으면 해요. 우선 일할 때 사소한 문제들 때문에 성가시지 않도록 해드릴 거고요. 예를 들어 컴퓨터가 느려서 일을 못하겠어요 같은 일은 없도록 해야죠. 또 옳지 않은 일들 때문에 감정적으로 스트레스를 받지 않도록 하려고 해요. 조직 차원에서 룰을 정하는 등의 방식을 통해 쓸데없는 감정 소모가 일어나지 않도록 할 수 있겠죠.Q. 개인적인 목표도 궁금합니다.거창한 목표는 딱히 없어요. 그래서 창업은 못 할 것 같아요. 창업을 하는 사람은 강렬한 욕망이 있어야 한다고 생각하는데, 저한테는 아직 강렬한 욕망이 없거든요. 다만 지치지 않는 사람이 되고 싶기는 합니다. 예전에 번아웃된 적도 있기 때문에 더욱 지치지 않는 게 중요하다고 생각하게 된 것 같아요. 지인 중에 10년째 어떤 일을 하는 분이 있어요. 굴곡은 있지만 일관된 방향성을 가지고 꾸준히 나아가고 있죠. 본인은 이게 굉장히 의미 있는 일이라고 믿고 그 사명감으로 해나가는 거죠. 그런 모습이 부럽기도 하고 대단하게 느껴지더라고요. Q. 요즘 프로덕트 본부 일뿐만 아니라 면접으로도 바쁘신 것 같아요. 프로덕트 본부에는 어떤 사람이 적합하다고 생각하시나요?     저는 사람을 볼 때 그 사람이 왜 여기에서 일하려고 하는가를 주로 봅니다. 그 사람의 스토리가 패스트파이브의 맥락과 맞는가를 함께 보죠. 스토리가 이곳과 맞는 분들은 회사에 와서도 일을 잘 하시더라고요. 그렇지 않은 경우는 많이 힘들어하시는 것 같아요. 더 자세히 말씀드리자면 왜 그 학교에 갔는지, 왜 전 직장에서 퇴사했고 왜 이곳에서 일하려고 하는지 등의 이유를 납득할 수 있도록 설명하는 게 중요하죠.또, 이건 모든 회사가 원하는 사항이 아닐까 싶지만 스스로 알아서 잘 하는 사람이면 좋겠습니다. 저는 경력은 별로 중요하지 않다고 생각해요. 문제를 해결하는 방법을 아느냐, 해결할 의지가 있고 그 방법을 찾아내느냐가 훨씬 중요합니다. 패스트파이브는 새로운 일을 하고 있는 곳입니다. 국내에서는 최초라고 할 수 있고요. 늘 시장을 선도해야 하는 입장이기에 늘 새로운 일을 해야 하죠. 따라서 빠르게 배우고 적응하는 사람이 필요합니다. 협업이 많다보니 커뮤니케이션 능력도 필요하고요.Q. 마지막으로 하고 싶은 이야기가 있으신가요?많은 지원 부탁드립니다!멤버에게는 더 좋은 공간과 서비스, 커뮤니티를 제공하고 패스트파이브의 구성원에게는 함께 성장하는 조직이 되었으면 한다는 혜경 님과의 인터뷰, 재미있게 읽으셨나요? 앞으로 패스트파이브와 프로덕트 본부의 성장을 지켜봐주세요.  그럼 저희는 다음 인터뷰로 돌아오겠습니다. 읽어주셔서 감사합니다 :)- 패스트파이브 마케팅팀 드림
조회수 1041

2016, 개발자의 Life.. 꿈...#1

주변 개발자들의 삶이 매우 행복을 추구하는 삶으로 변해가고 있다는 것을 느낀다. 주변의 개발자들의 모습을 몇 가지 정리해보자. 이를 '지속 개발을 위한 개발자 Life 스타일'이라고 정의하겠다.개발자#A10년 넘게 개발하던 패키지를 기반으로 필요 기능을 최소화하여 1인 개발기업에 성공하였고 제주도로 내려가서 지역에 속한 분들과 호흡하는 삶을 추구하면서도 소프트웨어 개발의 핵심을 잃지 않았다. 정말, MVP 기능에 최대한 집중하면서 필요한 시장 영역을 더 확대하지 않고, 소프트웨어를 개발하고 있는 개발자와 해당 소프트웨어를 사용하는 고객과 시장에 대해서 같이 합리적으로 지속할 수 있는 지속할 수 있는 소프트웨어 개발의 삶을 이루었다.그리고, 그러한 Life환경을 주변에 전파하면서 불과 얼마 전 또 한 명의 구 루급 개발자에게 비슷한 삶의 길을 가르쳐준다. 정말 부러운 개발자들...개발자#B복잡한 업무나 더 많은 보수를 위해서 더 좋은 회사를 찾기보다는 삶이 존재하는 근무시간을 위해서 재택근무를 찾고 있다. 비용도 최대한 낮추면서 생활을 위한 회사를 찾아다니고 있다. 아무래도, 외국계 개발회사를 선택할 것 같다.개발자#C오픈소스 진형에서 인정받는 개발자이다. 본인이 원하는 오픈소스 프로젝트를 추진하는 것을 보장받고 외국계 기업의 원격근무를 선택했다. 보수도 나쁘지 않고, 근무시간은 알아서 하는 것이지만, 원격으로 일하는 것이기 때문에 '능력'을 보여주기 위해 더 많은 시간을 소프트웨어 개발에 투자한다. 굳이, 서울 시내에 있을 필요가 없기 때문에 외각으로 집도 옮겼다.개발자#D일부러, 실리콘 벨리의 스타트업을 선택했다. 조만간 상장 예정인데 매우 큰 혜택을 받을 것 같다. 그 역시 지속 개발이 가능한 삶을 추구한다.2016년 올 초의 개발자 트렌드는 '지속 개발을 위한 Life'를 지향하는 개발자들이 늘어났다고 평가해본다.우리 모두 지속개발이 가능한 삶을 지향해 보는 것은 어떨까나...
조회수 1019

비트윈의 HBase 스키마 해부

비트윈에서는 HBase를 메인 데이터베이스로 이용하고 있습니다. 유저 및 커플에 대한 정보와 커플들이 주고받은 메시지, 업로드한 사진 정보, 메모, 기념일, 캘린더 등 서비스에서 만들어지는 다양한 데이터를 HBase에 저장합니다. HBase는 일반적인 NoSQL과 마찬가지로 스키마를 미리 정의하지 않습니다. 대신 주어진 API를 이용해 데이터를 넣기만 하면 그대로 저장되는 성질을 가지고 있습니다. 이런 점은 데이터의 구조가 바뀔 때 별다른 스키마 변경이 필요 없다는 등의 장점으로 설명되곤 하지만, 개발을 쉽게 하기 위해서는 데이터를 저장하는데 어느 정도의 규칙이 필요합니다. 이 글에서는 비트윈이 데이터를 어떤 구조로 HBase에 저장하고 있는지에 대해서 이야기해 보고자 합니다.비트윈에서 HBase에 데이터를 저장하는 방법¶Thrift를 이용해 데이터 저장: Apache Thrift는 자체적으로 정의된 문법을 통해 데이터 구조를 정의하고 이를 직렬화/역직렬화 시킬 수 있는 기능을 제공합니다. 비트윈에서는 서버와 클라이언트가 통신하기 위해 Thrift를 이용할 뿐만 아니라 HBase에 저장할 데이터를 정의하고 데이터 저장 시 직렬화를 위해 Thrift를 이용합니다.하나의 Row에 여러 Column을 트리 형태로 저장: HBase는 Column-Oriented NoSQL로 분류되며 하나의 Row에 많은 수의 Column을 저장할 수 있습니다. 비트윈에서는 Column Qualifier를 잘 정의하여 한 Row에 여러 Column을 논리적으로 트리 형태로 저장하고 있습니다.추상화된 라이브러리를 통해 데이터에 접근: 비트윈에서는 HBase 클라이언트 라이브러리를 직접 사용하는 것이 아니라 이를 래핑한 Datastore라는 라이브러리를 구현하여 이를 이용해 HBase의 데이터에 접근합니다. GAE의 Datastore와 인터페이스가 유사하며 실제 저장된 데이터들을 부모-자식 관계로 접근할 수 있게 해줍니다.트랜잭션을 걸고 데이터에 접근: HBase는 일반적인 NoSQL과 마찬가지로 트랜잭션을 제공하지 않지만 비트윈에서는 자체적으로 제작한 트랜잭션 라이브러리인 Haeinsa를 이용하여 Multi-Row ACID 트랜잭션을 걸고 있습니다. Haeinsa 덕분에 성능 하락 없이도 데이터 무결성을 유지하고 있습니다.Secondary Index를 직접 구현: HBase에서는 데이터를 Row Key와 Column Qualifier를 사전식 순서(lexicographical order)로 정렬하여 저장하며 정렬 순서대로 Scan을 하거나 바로 임의 접근할 수 있습니다. 하지만 비트윈의 어떤 데이터들은 하나의 Key로 정렬되는 것으로는 충분하지 않고 Secondary Index가 필요한 경우가 있는데, HBase는 이런 기능을 제공하지 않고 있습니다. 비트윈에서는 Datastore 라이브러리에 구현한 Trigger을 이용하여 매우 간단한 형태의 Secondary Index를 만들었습니다.비트윈 HBase 데이터 구조 해부¶페이스북의 메시징 시스템에 관해 소개된 글이나, GAE의 Datastore에 저장되는 구조를 설명한 글을 통해 HBase에 어떤 구조로 데이터를 저장할지 아이디어를 얻을 수 있습니다. 비트윈에서는 이 글과는 약간 다른 방법으로 HBase에 데이터를 저장합니다. 이에 대해 자세히 알아보겠습니다.전반적인 구조¶비트윈에서는 데이터를 종류별로 테이블에 나누어 저장하고 있습니다. 커플과 관련된 정보는 커플 테이블에, 유저에 대한 정보는 유저 테이블에 나누어 저장합니다.각 객체와 관련된 정보는 각각의 HBase 테이블에 저장됩니다.또한, 관련된 데이터를 하나의 Row에 모아 저장합니다. 특정 커플과 관련된 사진, 메모, 사진과 메모에 달린 댓글, 기념일 등의 데이터는 해당 커플과 관련된 하나의 Row에 저장됩니다. Haeinsa를 위한 Lock Column Family를 제외하면, 데이터를 저장하기 위한 용도로는 단 하나의 Column Family만 만들어 사용하고 있습니다.각 객체의 정보와 자식 객체들은 같은 Row에 저장됩니다.또한, 데이터는 기본적으로 하나의 Column Family에 저장됩니다.이렇게 한 테이블에 같은 종류의 데이터를 모아 저장하게 되면 Region Split하는 것이 쉬워집니다. HBase는 특정 테이블을 연속된 Row들의 집합인 Region으로 나누고 이 Region들을 여러 Region 서버에 할당하는 방식으로 부하를 분산합니다. 테이블을 Region으로 나눌 때 각 Region이 받는 부하를 고려해야 하므로 각 Row가 받는 부하가 전체적으로 공평해야 Region Split 정책을 세우기가 쉽습니다. 비트윈의 경우 커플과 관련된 데이터인 사진이나 메모를 올리는 것보다는 유저와 관련된 데이터인 메시지를 추가하는 트래픽이 훨씬 많은데, 한 테이블에 커플 Row와 유저 Row가 섞여 있다면 각 Row가 받는 부하가 천차만별이 되어 Region Split 정책을 세우기가 복잡해집니다. RegionSplitPolicy를 구현하여 Region Split 정책을 잘 정의한다면 가능은 하지만 좀 더 쉬운 방법을 택했습니다.또한, 한 Row에 관련된 정보를 모아서 저장하면 성능상 이점이 있습니다. 기본적으로 한 커플에 대한 데이터들은 하나의 클라이언트 요청을 처리하는 동안 함께 접근되는 경우가 많습니다. HBase는 같은 Row에 대한 연산을 묶어 한 번에 실행시킬 수 있으므로 이 점을 잘 이용하면 성능상 이득을 얻을 수 있습니다. 비트윈의 데이터 구조처럼 특정 Row에 수많은 Column이 저장되고 같은 Row의 Column들에 함께 접근하는 경우가 많도록 설계되어 있다면 성능 향상을 기대할 수 있습니다. 특히 Haeinsa는 한 트랜잭션에 같은 Row에 대한 연산은 커밋시 한 번의 RPC로 묶어 처리하므로 RPC에 드는 비용을 최소화합니다. 실제 비트윈에서 가장 많이 일어나는 연산인 메시지 추가 연산은 그냥 HBase API를 이용하여 구현하는 것보다 Haeinsa Transaction API를 이용해 구현하는 것이 오히려 성능이 좋습니다.Column Qualifier의 구조¶비트윈은 커플들이 올린 사진 정보들을 저장하며, 또 사진들에 달리는 댓글 정보들도 저장합니다. 한 커플을 Root라고 생각하고 커플 밑에 달린 사진들을 커플의 자식 데이터, 또 사진 밑에 달린 댓글들을 사진의 자식 데이터라고 생각한다면, 비트윈의 데이터들을 논리적으로 트리 형태로 생각할 수 있습니다. 비트윈 개발팀은 Column Qualifier를 잘 정의하여 실제로 HBase에 저장할 때에도 데이터가 트리 형태로 저장되도록 설계하였습니다. 이렇게 트리 형태로 저장하기 위한 Key구조에 대해 자세히 알아보겠습니다.Column Qualifier를 설계할 때 성능을 위해 몇 가지 사항들을 고려해야 합니다. HBase에서는 한 Row에 여러 Column이 들어갈 수 있으며 Column들은 Column Qualifier로 정렬되어 저장됩니다. ColumnRangeFilter를 이용하면 Column에 대해 정렬 순서로 Scan연산이 가능합니다. 이 때 원하는 데이터를 순서대로 읽어야 하는 경우가 있는데 이를 위해 Scan시, 최대한 Sequential Read를 할 수 있도록 설계해야 합니다. 또한, HBase에서 데이터를 읽어올 때, 실제로 데이터를 읽어오는 단위인 Block에 대해 캐시를 하는데 이를 Block Cache라고 합니다. 실제로 같이 접근하는 경우가 빈번한 데이터들이 최대한 근접한 곳에 저장되도록 설계해야 Block Cache의 도움을 받을 수 있습니다.비트윈에서는 특정 커플의 사진이나 이벤트를 가져오는 등의 특정 타입으로 자식 데이터를 Scan해야하는 경우가 많습니다. 따라서 특정 타입의 데이터를 연속하게 저장하여 최대한 Sequential Read가 일어나도록 해야 합니다. 이 때문에 Column Qualifier가 가리키는 데이터의 타입을 맨 앞에 배치하여 같은 타입의 자식 데이터들끼리 연속하여 저장되도록 하였습니다. 만약 가리키는 데이터의 타입과 아이디가 Parent 정보 이후에 붙게 되면 사진 사이사이에 각 사진의 댓글 데이터가 끼어 저장됩니다. 이렇게 되면 사진들에 대한 데이터를 Scan시, 중간중간 저장된 댓글 데이터들 때문에 완벽한 Sequential Read가 일어나지 않게 되어 비효율적입니다.이렇게 특정 타입의 자식들을 연속하게 모아 저장하는 묶음을 컬렉션이라고 합니다. 컬렉션에는 컬렉션에 저장된 자식들의 개수나 새로운 자식을 추가할 때 발급할 아이디 등을 저장하는 Metadata가 있습니다. 이 Metadata도 특정 Column에 저장되므로 Metadata를 위한 Column Qualifier가 존재합니다. 이를 위해 Column Qualifier에는 Column Qualifier가 자칭하는 데이터가 Metadata인지 표현하는 필드가 있는데, 특이하게도 메타데이터임을 나타내는 값이 1이 아니라 0입니다. 이는 Metadata가 컬렉션의 맨 앞쪽에 위치하도록 하기 위함입니다. 컬렉션을 읽을 때 보통 맨 앞에서부터 읽는 경우가 많고, 동시에 Metadata에도 접근하는 경우가 많은데, 이 데이터가 인접하게 저장되어 있도록 하여 Block Cache 적중이 최대한 일어나도록 한 것입니다.Datastore 인터페이스¶비트윈에서는 이와 같은 데이터 구조에 접근하기 위해 Datastore라는 라이브러리를 구현하여 이를 이용하고 있습니다. HBase API를 그대로 이용하는 것보다 좀 더 쉽게 데이터에 접근할 수 있습니다. GAE의 Datastore와 같은 이름인데, 실제 인터페이스도 매우 유사합니다. 이 라이브러리의 인터페이스에 대해 간단히 알아보겠습니다.Key는 Datastore에서 HBase에 저장된 특정 데이터를 지칭하기 위한 클래스입니다. 논리적으로 트리 형태로 저장된 데이터 구조를 위해 부모 자식 관계를 이용하여 만들어 집니다.Key parentKey = new Key(MType.T_RELATIONSHIP, relId);Key photoKey = new Key(parentKey, MType.T_PHOTO, photoId); // 특정 커플 밑에 달린 사진에 대한 키Datastore는 Key를 이용해 Row Key와 Column Qualifier를 만들어 낼 수 있습니다. Datastore는 이 정보를 바탕으로 HBase에 새로운 데이터를 저장하거나 저장된 데이터에 접근할 수 있는 메서드를 제공합니다. 아래 코드에서 MUser 클래스는 Thrift로 정의하여 자동 생성된 클래스이며, Datastore에서는 이 객체를 직렬화 하여 HBase에 저장합니다.MUser user = new MUser();user.setNickname("Alice");user.setGender(Gender.FEMALE);user.setStatus("Hello World!"); Key userKey = new Key(MType.T_USER, userId);getDatastore().put(userKey, user);user = getDatastore().get(userKey);getDatastore().delete(userKey);또한, Datastore는 Key를 범위로 하여 Scan연산이 할 수 있도록 인터페이스를 제공합니다. Java에서 제공하는 Try-with-resource문을 이용하여 ResultScanner를 반드시 닫을 수 있도록 하고 있습니다. 내부적으로 일단 특정 크기만큼 배치로 가져오고 더 필요한 경우 더 가져오는 식으로 구현되어 있습니다.try (CloseableIterable> entries = getDatastore().subSibling(fromKey, fromInclusive, toKey, toInclusive)) { for (KeyValue entry : entries) { // do something }}Secondary Index 구현 방법¶HBase는 데이터를 Row Key나 Column Qualifier로 정렬하여 저장합니다. 이 순서로만 Sequential Read를 할 수 있으며 Key값을 통해 특정 데이터를 바로 임의 접근할 수 있습니다. 비트윈에서는 특정 달에 해당하는 이벤트들을 읽어오거나 특정 날짜의 사진들의 리스트를 조회하는 등 id 순서가 아니라 특정 값을 가지는 데이터를 순서대로 접근해야 하는 경우가 있습니다. 이럴 때에도 효율적으로 데이터에 접근하기 위해서는 id로 정렬된 것 외에 특정 값으로 데이터를 정렬할 수 있어야 합니다. 하지만 HBase에서는 이와 같은 Secondary Index 같은 기능을 제공하지 않습니다. 비트윈 개발팀은 이에 굴하지 않고 Secondary Index를 간단한 방법으로 구현하여 사용하고 있습니다.구현을 간단히 하기 위해 Secondary Index를 다른 데이터들과 마찬가지로 특정 타입의 데이터로 취급하여 구현하였습니다. 따라서 Index에 대해서도 Column Qualifier가 발급되며, 이때, Index에 해당하는 id를 잘 정의하여 원하는 순서의 Index를 만듭니다. 이런 식으로 원하는 순서로 데이터를 정렬하여 저장할 수 있으며 이 인덱스를 통해 특정 필드의 값의 순서대로 데이터를 조회하거나 특정 값을 가지는 데이터에 바로 임의 접근할 수 있습니다. 또한, Index에 실제 데이터를 그대로 복사하여 저장하여 Clustered Index처럼 동작하도록 하거나, Reference만 저장하여 Non-Clustered Index와 같이 동작하게 할 수도 있습니다. Datastore 라이브러리에는 특정 데이터가 추가, 삭제, 수정할 때 특정 코드를 실행할 수 있도록 Trigger 기능이 구현되어 있는데, 이를 통해 Index를 업데이트합니다. 데이터의 변경하는 연산과 Index를 업데이트하는 연산이 하나의 Haeinsa 트랜잭션을 통해 원자적으로 일어나므로 데이터의 무결성이 보장됩니다.못다 한 이야기¶각 테이블의 특정 Row의 Column들에 대한 Column Qualifier외에도 Row에 대한 Row Key를 정의 해야 합니다. 비트윈에서는 각 Row가 표현하는 Root객체에 대한 아이디를 그대로 Row Key로 이용합니다. 새로운 Root객체가 추가될 때 발급되는 아이디는 랜덤하게 생성하여 객체가 여러 Region 서버에 잘 분산될 수 있도록 하였습니다. 만약 Row Key를 연속하게 발급한다면 특정 Region 서버로 연산이 몰리게 되어 성능 확장에 어려움이 생길 수 있습니다.데이터를 저장할 때 Thrift를 이용하고 있는데, Thrift 때문에 생기는 문제가 있습니다. 비트윈에서 서버를 업데이트할 때 서비스 중지 시간을 최소화하기 위해 롤링 업데이트를 합니다. Thrift 객체에 새로운 필드가 생기는 경우, 롤링 업데이트 중간에는 일부 서버에만 새로운 Thift가 적용되어 있을 수 있습니다. 업데이트된 서버가 새로운 필드에 값을 넣어 저장했는데, 아직 업데이트가 안 된 서버가 이 데이터를 읽은 후 데이터를 다시 저장한다면 새로운 필드에 저장된 값이 사라지게 됩니다. Google Protocol Buffer의 경우, 다시 직렬화 할 때 정의되지 않은 필드도 처리해주기 때문에 문제가 없지만, Thrift의 경우에는 그렇지 않습니다. 비트윈에서는 새로운 Thrift를 적용한 과거 버전의 서버를 먼저 배포한 후, 업데이트된 서버를 다시 롤링 업데이트를 하는 식으로 이 문제를 해결하고 있습니다.저희는 언제나 타다 및 비트윈 서비스를 함께 만들며 기술적인 문제를 함께 풀어나갈 능력있는 개발자를 모시고 있습니다. 언제든 부담없이 [email protected]로 이메일을 주시기 바랍니다!
조회수 1084

시제품부터 양산 그리고 유통까지(1)

하드웨어 기술창업에 관심을 가진건 2014년 6월부터였다. 사실 스타트업이라는 단어도 그때 인생에서 처음 들었던 것 같다. 그 후 2015년 1월 태그솔루션을 만들고 지금은 만 3년이 지나고 나 자신과 태그솔루션 모두 죽음의 고개를 넘어가고 있는 시점이다. 지금의 태그솔루션이 있기까지 나 자신의 무지함으로 겪은 어려움이 굉장히 많았고, 지금도 그 문제를 해결하고 있다. 겪은 어려움들은 차차 다른 포스팅을 통해서 이야기하도록 하고 이번 포스팅의 목적은 실제 제품이 만들어져서 고객의 손에 들어가기까지의 과정을 경험을 토대로 가감 없이 이야기해보고자 한다.제품을 제조해서 직접 판매까지 하는 건 쉽지 않다.당연한 말이지만... 정말 정말 쉽지 않다. 요이땅.일단 어떤 제품을 만들었는지 무엇을 하고 있는지 간단하게 소개를 하고 시작하려고 한다.태그솔루션은 투명LED패널이라는 제품을 2015년 1월부터 개발 및 제조해 온 회사이다. 그 와중에 기존에 추구하던 B2B의 형태의 사업이 아닌 고객과의 확실한 접점이 생길 수 있는 B2C에 대한 욕심을 품기 시작했다. 유능한 디자이너와 새로운 CTO의 합류로 그 욕심은 빠르게 실현될 수 있었다.1. 제품 구상제품의 구상부터 큰 실수를 했다. 우리 태그솔루션은 투명LED기술을 보유하고 있는 스타트업이다. 그러므로 그 기술을 무조건적으로 활용해서 제품을 구상하기 시작했다. 물론 나보다는 우리 디자이너의 고충이 굉장히 컸을 것이다.투명LED패널의 모습 ( 말그대로 LED가 부착된 플라스틱 소재라고 보면 된다. ) 일단 시작 자체에서 위에 보이는 우리 기술을 활용하여야 한다는 틀에 박힌 채로 제품의 디자인을 시작했다. 디자이너의 고뇌의 흔적들그래도 방향성은 명확했다. 우리 기술이 얼마나 일반 사람들에게 친근하게 다가갈 수 있을지 그리고 현재 추구하는 비즈니스모델 말고도 실질 유저와 맞닿아 있는 부분에서의 부가가치를 확인해 보고 싶었다.그렇게 우여곡절 끝에 제품의 컨셉이 잡혔다.육각형 형태의 밤하늘 별빛을 담은 거울이라는 컨셉의 코스모블랑이 만들어지게 된다. 컨셉만 정해진 상태에서 무작정 제품을 만들기 위해 뛰어다닐 수는 없다. 핵심이 정해지면 그 핵심을 빠르게 시작품 형태로라도 구현을 해서 검증하는 과정이 필요하다. 제품을 만들기 위해선 3D프린터와 기존 제조하던 필름과 몇몇 자재들이 필요했고, 대략적인 디자인 초안이 완성되는 순간 2주일 안에 뚝딱 만들어 냈다. 왜 이렇게 빠르게 진행하는지에 대한 불만도 받았지만, 어떤 제품이라도 검증이 미리 되지 않는다면 의미가 없었기 때문에 빠르게 대중들에게 제품에 대한 의견을 물어보고 싶었다.오른쪽에 보이는 초기 코스모블랑의 시작품의 그럴싸한 사진저 시작품을 어찌 만들었는지 물어보신다면, 바디는 3D프린터로 앞 유리와 LED필름은 기존 생산하는 공장을 통해서 빠르고 쉽게 공수받을 수 있었다. ( 물론 기존에 해왔던 제조 방식이라 쉽게 얻을 수 있지만 처음 시작하시는 분들은 발품을 꽤나 파셔야 제대로 된 공장을 컨텍할 수 있을 것이다. ) 2. 제품 검증구글 설문을 통해 약 500여분에게 설문을 진행시작품이 빠르게 만들어지고 제품에 대한 가격대, 기능, 디자인 등의 여러 가지 측면에서 설문을 진행하였다.이때 다양한 질문과 요청들이 나왔다. 특히 기능에 있어서는 밝기 조절, 블루투스 스피커, 충전방식 등 다양한 요소들에 대한 피드백을 받을 수 있었고 디자인 역시 기존에 많이 보지 못한 유니크함을 더 살리는 방향에 대한 확신을 얻을 수 있었다. 물론 가장 중요한 별빛의 느낌과 감성을 많은 분들이 좋게 평가해 주셨다.이때까지 제품에 대한 자신감이 넘쳤다. 제품만 빠르게 양산할 수 있다면 많은 사람들이 찾는 제품이겠지?만들기만 하면 누구든 사줄 거야! ( 꿈과 희망 그리고 긍정~ 하하하 모조리 다 무너졌다. )결론부터 말하자면 제품을 검증할 때 중요한 건 좋은 평가가 아니라 객관적인 검증의 지표들을 세워야 함을 지금에 와서 생각했다. 그 당시 문항들은 주관에 의해 대부분 작성되었으며, 실제로 가장 우려했던 가격대 부분에서 우리는 크게 여러 번 통수를 맞았다.  검증은 절대적으로 기존 시장을 기반으로 진행돼야 한다. 예컨대 우리 제품이 무드등이라면 실제로 무드등이 판매되는 가격대, 기능 그리고 판매방식, 브랜드 등 다양한 시장 리서치를 토대로 객관적인 검증을 진행해야 했지만 우린 그 모든 걸 빼먹고 제품에만 집중하여 제품에 심취해 검증을 시도하였다. ( 더 구체적으로 이야기하면 무드등은 브랜드라는 게 존재하지 않는 시장이었다. 하지만 우린 브랜드를 만들었고, 브랜딩을 활용한 유니크한 제품의 차별성을 지나치게 맹신했던 것도 같다. 그리고 가격대가 정말 다양하긴 하지만 일단은 대부분의 모든 제품들이 저렴하다는 특징이 있었다. 애초에 저렴한 제품이 아니면 시작도 하지 못할 시장인 것 같다는 게 지금의 평가이다. ) 자 이미 지나간 이야기는 어쩔 수 없다. 다음 스탭으로 넘어가 보자.3. 크라우드펀딩 진행https://www.wadiz.kr/web/campaign/detail/13869별빛을 거울에 담다 - 세계최초 거울 무드등 [코스모블랑]고급스러운 인테리어 조명과 실용적 거울을 동시에!www.wadiz.kr 위에서 설문을 통해 받은 피드백을 통해서 우리는 디자인과 기능을 위주로 보다 더 완벽하게 바꾸기 시작했고, 와디즈를 통해서 제품의 펀딩을 진행하기 시작했다. 펀딩의 결과부터 말씀드리면 약 730"20만원 정도 펀딩에 성공했다. 이 크라우드펀딩에도 굉장히 중요한 노하우들이 있다. 1) 펀딩 모금은 초반 모금액 규모에 따라 성공 유무가 결정된다.2) 오픈하는 좋은 시간대가 있다. ( 트래픽이 많은 시간대가.. 화요일 점심이었나..? 기억이 잘 안 난다. )3) 최대한 펀딩의 진행을 널리 알리며 미리 서포터들을 모집한다. 4) 펀딩 기간 동안 적어도 두세 장의 회심의 카드를 가지고 있어야 한다. ( 펀딩액을 올릴 수 있는 혹은 우리 프로젝트가 이슈화될 수 있는 다양한 SNS 채널 확보 및 이벤트도 중요하다. )자 여기서 가장 핵심은 3번이다. 정말 솔직하게 말하자면 일단 가족 일가친척 친한 친구들에게는 기본적으로 펀딩에 대한 확답을 받은 상태로 런칭을 진행했다. ( 내가 헛되이 살아오지 않았음을 많이 느꼈다... )그리고 많은 성공 사례들을 보면 사전예약이나 미리 서포터를 모으는 이벤트를 진행한다. 그 이유는 간단하다. 1번을 만족시켜야 그 프로젝트는 순항할 수 있기 때문이다. 물론 제품 자체의 엄청난 매력도와 입소문으로 이 모든 걸 극복할 수 있지만, 박터지는 시장 속에서 미리 사전에 작업을 하지 않으면 펀딩 성공을 하는 건 쉽지 않다. 크라우드펀딩의 경우에는 좀 더 구체적으로 다시 포스팅을 하는 게 좋을 것 같다. 다음으로 넘어가기 전에... 글 자체가 너무 길어져서 한 템포 쉬어가야겠다. 다음 글은 실제 생산과 관련된 구체적인 사항에 대해서 적고자 한다. ( 제품 금형제작, PCB제작, 각종 공정 관리 및 BOM관리, 배터리 수급, KC 인증 등등 ) 아 우리 제품이 궁금하다면 아래 링크를 클릭해서 보시면 됩니다. http://smartstore.naver.com/cosmoblanc/products/2364040414[코스모블랑] 별빛을 거울에 담다. 세계최초 별빛을 담은 거울 무드등. : 코스모블랑[코스모블랑] 아름다운 당신, 아름다운 공간. 코스모블랑입니다.smartstore.naver.com To be continued..#태그솔루션 #TAGSOLUTION #제품소개 #인사이트
조회수 701

창업자의 일기장(3)-히든카드

업무 상 알고 지내던 분과 차 한잔 하다가나중에 퇴사하면,창업할 거라고 말했다.뭐할 거냐고 묻길래,신나게 우리 아이디어를 주절거렸다.근데 꽤 관심을 가지시더라.그리고 몇 번을 더 미팅하고알아보시겠다고 하더라.그리고 잊고 지냈다.퇴사하고 두 어달 지났을까?그분이 연락을 주었다.혹시 그때 사업 아이템 정리된 거 있냐고.뭐 틈틈이 정리하고 있고,다듬고 있는 터라...미완성이지만 대략적인 초안 정도는 있다고 말했다.그러자 코엑스 근처의 한 호텔에서 보자고 했다.나름 기대하는 마음으로 정장 쫙 빼입고다음 날 미팅 장소에 나갔다.그분은 혼자가 아니라 다른 동행자가 있었다.자신을 무슨 회사의 대표이고,무슨 당의 지역위원장이고,또 어디에 투자도 하고....지금 생각하면,별로 영양가 없는 말의 나열들인데...그때는 뭔가 엄청난 사람을 만났단 착각에 빠졌다.그도 그럴 것이직장생활만 쭈욱 하다 보니,그것도 연구실에 주로 틀어 박혀서외부 미팅은 손꼽을 정도만 했던 나에게사람을 상대하는 것은 너무나 익숙하지 않은 일이었다.그 미팅을 가지고 난 후,이 기회를 잡아야겠단 초조한 마음에곧장 사업계획서를 가지고OO의 모 대학교 교수님과 미팅도 가지고,몇몇 업체들과 접촉하였다.사실 설익은 계획서였고,더 차근차근 준비해야 할 부분이 많았는데....뭐가 씌었는지...이성적인 판단보다조급한 마음이 너무나 컸다.그리고 그 사업계획에 가장 핵심이 되는Raw data와 비용, 장소, 컨소시엄 주체,핵심인력의 정보 등을 의심 없이 전해주었다.그렇게 한 달이 지나고...사업수행이 어렵다는 연락이 왔다.뭐 그럴 수도 있지, 사업이라는 게 그렇지,우리 자체적으로도 이 사업계획에 대하여쉽지 않고,  부족한 게 많다는 걸 인지하고 있었기에...쉽게 인정할 수 있었다.그렇게 또 시간이 흘렀다.사람은 망각의 동물이라 그런지 또 잊고 지내고 있었다.시간의 순서대로 보면,우리 동료들과 중국 허난 성에 상주하며중국 쪽에서 사업을 준비하고 있을 때였다.네이버를 통해 알게 된 한국 소식!우리가 사업 계획하였던 사업에 대한 뉴스였다.OO시에서 XX과 **기관과 컨소시엄으로##의 투자유치로 사업이 시작되었다는....여기서 지역과 컨소시엄 주체, 사업내용 등에 대한모든 내용이 우리의 사업계획서와 정확하게 일치하였다.게다가 그 컨소시엄에는 눈에 익은 분이 계셨다.처음에 우리 팀은 멘붕이었다.그리고 속았다는 생각에 화가 치밀었다.우리 뒤에서 일이 진행되고 있었구나.그것도 모르고 우리는간 쓸개 다 내어줄 것처럼요청하는 자료와 피드백을 몇 날 며칠을 고생하며 제공하였고,이리저리 뛰어다녔는데...순진하게 속았구나.고스란히 빼앗겼구나.우리의 히든카드라고 믿었던 아이템이 그렇게 날아가버리고,우리 팀의 분위기는 절망의 나락에 있었다.그런데...돌이켜보면,사실 그건 우리의 바보 같은 핑계였다.우리에게는사업계획서대로 진행시킬 능력이 없었다.그리고 우리가 아닌 다른 사람들이었기에그 사업이 진행될 수 있었던 것이다.먼저 우리 자신의 처지를 냉정하게 보자면,어느 누구라도 우리랑 같이 하고 싶지 않았을 테다.회사 설립도 안되어 있었고,자본도 없고, 능력을 검증할 수 있는 레퍼런스도 부족하고....단지 사업계획서와 데이터들만 가지고 있는철부지 허당인 퇴사자들이었다.오히려 그분들이 그 사업계획서와 데이터를잘 활용하여 현실 구현하였다고 생각된다.우리였으면, 그렇게 못 했다고.우리가 아니었으니까 잘 된 거라고...이런 마음가짐을 가지기까지....좀 힘든 시간들이 있었지만...그 덕분에 많은 깨달음을 얻었다.1) 우리가 준비 안 되어 있으면, 나서지 말 것!2) 사업계획보다 실행력이 더 중요하다.3) 항상 역지사지! 사람을 만날 때, 역으로 생각해보자4) 우리가 정글에 있고, 우리는 초식동물이라는 사실을 잊지 말자.5) 토끼는 굴을 3~4개 따로 파 놓는다(히든카드와 대안책을 미리 준비해 놓자)6) 배우고, 익히고, 학습하자. 그것만이 우리가 정글에서 살아남는 길이다.어쩌다 그 사업에 대한 소식을 듣는다.그러나 배가 아프거나, 시기하지 않는다.오히려 그런 별 볼 게 없던 사업계획서를멋지게 성공시킨 그분들에 대하여존경심과 감사함을 가지고 있다.우리는 믿는다.우리가 잃은 것은 달랑 계획과 약간의 시간이고우리가 얻은 것은 우리의 현 위치와 약점과 앞으로 어떻게 해야 할지에 대한방향성과 깨달음이었다.그래서 남는 장사였다고.비록 당시에는 쓰지만 약이 되어 지금의 우리가 되었다고 자신할 수 있다.
조회수 1048

한화케미칼 커뮤니케이션, 사석에서 만난 인터뷰

안녕하세요. 취준생 여러분은 어떤 이야기가 궁금하신가요? 한화케미칼 이야기, 채용정보, 직무 이야기 등 다양한 이야기가 궁금하지만 사실 취준생이 원하는 정보를 찾기는 쉽지 않습니다. 저도 현재 대학교 4학년 학생으로서 취업에 무척이나 관심이 많은데요. 그래서 제가 여러분을 대신해서 인터뷰를 진행했습니다. 이번 인터뷰는 한화케미칼의 많은 부서 중 커뮤니케이션실에서 근무 중인 김수연 선배님을 만나 취준생이 알고 싶어 하는 다양한 궁금증을 하나씩 풀어보도록 하겠습니다. 바쁜 시간 후배들을 위해 소중한 시간을 내주신 만큼 여러분에게 꼭 필요한 이야기를 나눠보도록 하겠습니다.직원이 말하는 좋은 회사 #선택의 이유Q. 담당자님의 간단한 자기소개 부탁드립니다.안녕하세요. 저는 2014년에 입사해서 현재 한화케미칼 커뮤니케이션실에서 근무 중인 김수연 사원입니다. 처음 브랜드전략팀으로 입사해서 대학생들을 대상으로 한 멘토링 관련 업무를 담당하다가 2016년 3월에 직무이동을 하여 현재는 언론홍보 업무를 하고 있습니다. Q. 수많은 기업들 중 한화케미칼에 입사하게 된 계기가 있으신가요?저는 한화케미칼에 다니는 선배들을 포함하여 주변의 직장을 다니는 지인들에게 조언을 많이 받았습니다. 대부분의 직장인들은 친구에게 자신이 다니는 회사는 힘들다거나, 단점을 주로 이야기하는 경우가 많았는데요. 하지만 한화케미칼에 다니는 지인들이 진정성을 가지고 ‘우리 회사 참 괜찮다!’는 이야기를 해준 점이 가장 마음에 끌렸습니다.아무리 좋은 회사라도, 실제로 다니는 직원들이 행복하지 않고, 자부심을 갖지 않는다면 진정으로 좋은 회사라고 생각하지 않았습니다. 어쩌면 ‘회사와 가장 가까운 고객’인 직원들이 만족하는 회사가 진정 좋은 회사가 아닐까 생각해서 한화케미칼에 지원하게 되었고 그 결과 이렇게 즐겁게 회사에 다니고 있습니다.파헤쳐보자! #커뮤니케이션 부서Q. 커뮤니케이션실에서는 어떤 일을 하시는지 궁금합니다.커뮤니케이션실은 대외적/대내적으로 ‘소통’을 위한, ‘소통’을 하는 업무를 진행합니다. 언론홍보, 대관, 온라인(SNS), 브랜드, 조직문화 이렇게 총 5가지 분야로 나눠져 있는데요. 각각 하는 일은 조금씩 다르지만, 공통적으로는 커뮤니케이션을 주된 업무로 합니다. 다만 커뮤니케이션을 내부적으로 하는지, 외부적으로 하는지에 따라 소통의 방식과 업무 내용에 차이가 있겠지요? 저는 언론홍보를 담당하고 있기 때문에 기자, 언론 매체와 주로 커뮤니케이션을 하고 있습니다.Q. 주로 커뮤니케이션실의 언론홍보 부서가 하는 하루 일과는 어떻게 되나요?아침에 출근해서 가장 먼저 하는 일은 종합지, 경제지 등 신문을 통해서 회사와 관련된 이슈들을 확인하는 것입니다. 석유화학, 에너지 업계 관련 이슈, 회사와 관련된 중요사항 등을 모아서 스크랩하는 것이 출근하는 버스 안에서부터 시작되는 오전 일과의 첫 번째 일입니다. 또한, 우리회사와 관련된 보도자료 및 기획기사들을 따로 모아서 정리하고 관련된 정보들은 사내게시판을 통해서 공유합니다.그리고 오후에는 기자 외부미팅이 있습니다. 매일 언론사별로 다양한 기자들을 만나게 되는데요. 기자들이 기사를 작성할 때, 최근 석유화학과 관련된 이슈로 기획기사를 제안하기도 하고, 업계 현황에 대한 정보공유도 자연스럽게 합니다. 또한 보도자료와 같은 내용을 발행하는 업무도 동시에 진행 합니다커뮤니케이션 부서 #무섭지 않아!Q. 커뮤니케이션은 문과 학생들이 많이 지원할 텐데, 화학 관련 회사에 입사해서 어려운 점이 있다면 알려주세요.석유화학산업이라고 하면 취업 준비할 때도 단어가 생소해서 굉장히 어려움이 많을 텐데요. 실제로 우리가 익숙한 최종 제품을 생산하는 것이 아닌 그 제품을 만들기 위한 중간제품을 생산하는 특징 때문인 것 같습니다. 그런데, 이런 점 때문에 막연하게 어렵다고 걱정하고 계신다면 그런 부담감은 조금 내려놓으셔도 될 것 같아요! 회사의 홈페이지나 포털 사이트, 뉴스 등을 통해 회사에서 생산하고 있는 제품들이 어떤 종류이며 해당 산업에 어떤 특징이 있는지 등을 평소에 관심 기울여 보고, 입사 후 이루어지는 다양한 신입사원 교육을 이수한다면 어느새 큰 어려움 없이 적응할 수 있으시리라 생각합니다..Q. 커뮤니케이션실 자랑해주세요!우선 다른 부서 직원들이 부러워할 수도 있는 부분인데요. 아무래도 석유화학업계이다 보니 남자직원의 비율이 훨씬 높은 반면, 커뮤니케이션실에는 여성직원들이 많습니다. 남녀 성비가 비슷하고 다른 부서에 비해 여자가 많기 때문에 타 부서보다 인기가 많지 않을까 생각해봅니다. (웃음)또한 대관, 언론홍보, 온라인, 브랜드, 조직문화와 같이 여러 직무가 하나의 커뮤니케이션실로 묶여 있기 때문에 시야를 넓힐 수 있는 기회가 많다는 장점을 가지고 있습니다. 회사 내부에서  일어나는 일 뿐만 아니라 업계와 관련된 소식, 대외적으로 일어나는 일 등 다양한 정보를 두루두루 알 수 있다는 점이 타 부서에 비해 가장 큰 장점인 것 같습니다. 회사에 대한 폭넓은 이해와 경험을 하고 싶다면 커뮤니케이션 업무에 꼭 도전하세요.Q. 커뮤니케이션이라는 업무에서 발생하는 어려운 점은 없으신가요?‘커뮤니케이션’이라는 말이 흔하게 일상생활에서도 사용되는 소통, 대화, 사람과 사람의 관계지만, 그게 참 실제로 쉬운 것은 아니죠. 특히 언론홍보는 외부를 대상으로 커뮤니케이션이 이루어지기 때문에 말을 하는 자신이 곧 회사의 이미지가 됩니다. 그래서 소통의 과정에서 발생하는 오류나 오해가 생기면 곧바로 회사의 이미지와 결부되기 때문에 행동이나 말 한마디를 할 때 더욱더 조심스러워지는 것 같습니다.Q. 커뮤니케이션(홍보실) 부서는 주로 남자만 뽑는다는데 진짜인가요?아무래도 홍보실, 커뮤니케이션실은 외부 업체들과의 대외적 교류가 많기 때문에 남성이 많을 것 같지만 실제로 그렇지는 않습니다. 앞서 언급을 했듯이 한화케미칼 커뮤니케이션실은 여성의 구성비가 높기도 하고요. 후배에게 전하는 #선배의 한마디Q. 요즘 고스펙, 고학력, 인턴, 경험 등 뭐든지 잘해야 취업도 된다고 하는데, 담당자님이 생각하기에 어떤 점에 중점을 둬야 할까요?다른 것들보다 가장 중요한 것은 ‘경험’이라고 생각해요. 실제로 저는 대학교를 오래 다녔는데, 그 이유가 졸업을 하기 전 학생 신분 일 때 여러 가지 경험을 해보고 싶어서였습니다. 졸업 하면 진로의 방향을 내가 원하는대로 바꾸는데 조금은 더 어려움이 있을거라고 생각 했던 것도 있구요. 그래서 다양한 분야의 인턴, 사업, 여행 등 제가 해보고 싶은 일들을 후회하지 않도록 마음껏 해보았어요.그 경험 중 하나로, 친한 친구들과 함께 식당을 차려 직접 요식 사업을 해보기도 했는데요. 직접 해보지 않고서는 내가 어떤 일과 어울리고 잘하고, 좋아하는지 제대로 알 수 없기 때문에 일단 경험을 해봐야 알 수 있다고 생각해서였습니다. 지금 생각해 보아도, 취업에 가장 크게 도움이 된 것은 흔히들 스펙이라고 얘기하는 대학, 학점, 영어성적보다 내가 관심을 가지고 경험한 것들이라고 생각해요. 나만의 경험을 이야기할 때 사람들이 관심 있게 이야기를 들어주고, 경험을 통해 얻은 독특한 교훈이 고스펙, 고학력보다 진정한 ‘나’라는 사람을 표현할 때 더욱 중요하다고 생각합니다.Q. 취업 전에 어떤 역량을 쌓으면 좋을까요?일반적으로 하는 ‘점수 채우기용’ 보다는 실용적으로 도움이 되는 스킬을 다지는 것도 좋을 것 같아요. 여러 사람 앞에서 이야기 하기, 주제 토론 등을 통해 논리 있게 말하는 법을 연습하는 것이 도움이 되지 않을까 생각을 합니다. 저는 내 생각과 나를 잘 표현하는데 가장 중요한 역량 중 하나가 말하기라고 생각해요.Q. 현재 취업을 준비하는 취준생들에게 면접 팁을 알려주세요.면접을 볼 때 가장 중요한 점은 본인의 생각을 논리적으로 전달하되 고집스럽거나 독단적으로 보이지 않는 것이라고 생각합니다. 면접은 의견을 주장 하는 시간이 아닌, 빠른 시간 내에 면접관이 자신을 잘 판단하게 하기 위해 나의 생각과 판단을 효과적으로 이야기 하는 자리라고 생각해요. 때문에 질문이 다소 어렵게 느껴질 경우에는 잠시 생각할 시간을 요청하거나, 모르는 점은 솔직하게 인정하는 것도 중요하다고 생각합니다. 대답을 못한 질문에 당황하거나 부끄러워하지 말고, 완벽하진 않아도 부족한 점을 어떠한 노력으로 채우겠다는 의지를 보여주는 것도 좋을 것 같아요!Q. 마지막으로 취업을 준비하는 후배들에게 한마디 부탁드립니다.누구나 취업을 준비하다 보면, 가끔 내 마음같이 안되는 때도, 힘들고 지칠 때도 있다고 생각합니다. 혹시나 지원한 직장에 낙방했다고 해서 결코 내가 남들보다 떨어지고 부족한 사람이라서 불합격했다고 생각하지 않았으면 좋겠습니다. 또, 결코 실패했다고 생각하지 마세요. 넓고도 긴 인생의 길 위에서 나에게 더 맞는, 더 적합한 길을 찾기 위한 탐색의 과정이라고 마음 차분히, 한숨 고르고! 긍정적인 마음으로 다시 도전한다면 꼭 좋은 기회가 올 거라고 생각합니다.취준생 여러분들, 모두모두 좋은 결과 있기를 진심으로 응원합니다. 지금까지 김수연 선배님과 다양한 이야기를 나눠봤는데요. 인터뷰를 통해 직무 이야기, 취업팁, 선배님의 다양한 경험에 대해서 들어볼 수 있는 시간이었습니다. 인터뷰를 하기 전까지만 해도 취준생 입장에서 마냥 불안감만 앞섰는데요. 멘토님께서 해주신 말들이 가슴에 와 닿으면서 미래에 대한 확신을 채우는 데 도움이 되었던 시간이었습니다. 이 글을 읽는 많은 분들에게 도움이 되길 바라면서 모든 취준생 여러분들께 화이팅을 외치면 마치도록 하겠습니다.-한화케미칼 드림팀 8기 김기백#한화 #한화그룹 #한화케미칼 #기업문화 #사내문화 #조직문화 #구성원인터뷰 #OB방문 #선배의조언 #공채정보 #직무정보 #회사정보
조회수 13375

경영자와 관리자의 차이

경영자와 관리자, 이 두 역할에는 어떤 차이점이 있을까?  모두 다 같은 뜻인지? 예전에 그런 생각을 했었다.  흔히, 최고경영자는 CEO, 최고운영책임자는COO라고 한다.  지난 여름, 홍콩 헤지펀드사에서 인턴을 했을 때 내가 좋아했던 상사 한 분이 계셨는데 그분이 COO이셨다.  그때부터 COO라는 직책에 관심을 갖게 되었다.사전적인 의미는 다음과 같다.CEO: Chief Executive Officer 약자로 회사의 최고경영운영자이다.  CEO는 나름의 경영 철학을 갖고 회사의 장기적인 경영전략을 수립하고 이러한 전략을 완수하는데 필요한 최종의 의사결정을 하는 사람이다.COO: Chief Operating Officer 는 기업 내부의 사업을 총괄하는 책임자, 최고운영책임자를 의미한다.2000년도서부터 미국 실리콘밸리에서 처음 포지션이 생겨나기 시작해 세계적으로 파급된 직책으로, 기업 내의 사업을 총괄하는 책임자를 말한다.CEO는 기업 전반적인 목표, 비전과 전략 방향 등을 확립하며 기업의 모든 활동을 어떻게 이끌어나갈지 결정하고 이끌어나가는 사람이다. 그렇기 때문에 기업의 ‘대표’라고 말할 수 있고, 작은 것에 연연하기보다는 거시적이고 장기적인 관점에서, CEO의 철학에 따라, 그 기업이 어떻게 운영되는지가 결정된다고 볼 수 있다.  또한, CEO는 주로 외부적 활동을 많이 한다.COO는 기업의 구체적인 운영과 관리에 대한 업무를 전담하는 직책이다. 대개의 경우에 CEO가 사장이라면 COO는 수석 부사장 등이 맡는 경우가 많다고 한다.  주로 대기업에서 이런 형식을 채택하고 벤처기업에서는 CEO와 COO 를 구분하지 않고 두 직책을 CEO가 전담하는 경우가 많지만 기업이 성장하면서 자연스럽게 내부와 외부 활동이 나뉘어지며, 그러면서 자연스럽게 두 역할 또한 구분된다.COO는 CEO를 보조하며 전체적인 기업의 구체적인 운영과 관리에 대한 업무를 담당한다. 그렇기 때문에 CEO보다는 기업 내부의 전반적인 상황과 운영에 대한 노하우가 더 요구되는 직책이다.e.g. 고인이 된 잡스가 작년 초까지만 해도 애플의 최고경영자였으며 (현재 애플 CEO가 된) 팀쿡은 당시 COO였다.   잡스가 (신제품 발표 등)의 대외적인 활동과 애플의 큰 그림을 그리는 역할을 맡았다면, 팀쿡은 애플 회사 자체의 내부 경영과 조직관리에 집중했다.하지만 COO만이 CEO를 보조하는 것은 아니고, 주로 규모가 큰 기업에서는 CEO와 COO뿐만 아니라 CFO(Chief Financial Officer), CIO(Chief Information Officer), CTO(Chief Technology Officer), CSO(Chief Security Officer), CMO(Chief Marketing Officer), CCO(Chief Compliance Officer), CRO(Chief Risk Officer), CBO(Chief Brand Officer) 등등 기업의 영업 활동과 사업분야마다 각각 최고책임자들이 있다. 하지만 이런 업무들을 전체적으로 총괄하고 감독하며 관리하는 직책이 CEO와 COO라고 보면 될 것 같다.CEO 와 COO 의 차이점은 Accenture가 발행한 article에서 사례로 보다 자세히 나와 있다. 액센츄어는 COO가 CEO가 되기 위한 훈련생이라고 정의했다.Accenture_Outlook_Mastering_move_from_COO_to_CEO.pdf.나는 CEO 보다 COO, 그리고 경영자보다는 관리자의 역할에 더 많이 관심이 간다.  회사가 성장하기 위해선 올바른 방향을 제시하고 배를 모는 선장의 역할도 중요하지만, 선원들이 자기가 맡은 역할을 명확히 하고 일할 수 있게 조성해주고 선원 관리를 잘 하는 역할도 무시할 수가 없기 때문이다.  서비스업이든, 제조업이든, 뭐든 간에 결국은 사람이 기업을 만들어간다.  그 사람관리가 제대로 되지 않으면 배가 산으로 간다.  인재 한 명이 기업을 성장시키고 또 못난 직원 한 명이 기업을 망하게 한다.  최근 UBS 에서 또 한번의 거대 금융 사기가 벌어졌다.  UBS 트레이더가 무려 2억달러 (2조원)의 회사 돈을 한방에 날려먹었다.기업을 살리고 마는 건 결국 ‘사람’이다.  넷뱅에 참여하면서 사람관리의 어려움, 복잡함, 중요성을 절감했다. 그래서 복학하고 이번 학기에 인사관리라는 과목을 수강했다. 무엇보다, 사람관리, 직원관리에 대한 전문적인 지식을 갖춰야 할 필요성을 느꼈다.  직원관리와 사내문화가 체계화가 돼야 어떤 새로운 직원이 들어오고 또 기존 직원이 나가도 뼈대가 흔들리지 않고 꿈쩍도 안 할 수 있다.  나는 ‘신생 기업’의 성장과 발전에 있어서 HR의 시스템화를 가장 중요하게 여기고 있다.내가 영국으로 떠나기 2주 전부터, 집중했던 것이 팀원 교육이었다.  대표님의 지시하에 교육자료 만들기에 주력하였고 바쁘신 대표님을 대신해 사무실에서 내근하는 팀원들에게 직접 경영 방침, 계획 내용, 취지를 전달하는 역할을 맡았다.  이를 통해, 현장관리의 중요성도 깨닫게 되었는데, 관리자가 벤처기업 또는 중소기업을 성장시키려면 어떤 식으로 직원관리와 성과관리, 분석을 해야 하는지에 대해 관련 저널을 찾아 읽어봐야겠다.  학교에서 곧 있으면 직원들의 performance 관리와 분석, 평가, 보상에 대해 수업을 들을 예정인데, 잘 들었다가 넷뱅에 적용할 수 있게 대표님께 제안할 생각이다.#넷뱅 #팀빌딩 #CEO #COO #인사이트
조회수 1585

60원으로 빈집털이를 예방하는 방법

안녕하세요? 요즘 직장 근처에서 자취하시는 분들이 많습니다. 이 글을 읽고 계시는 자취생분들은 혹시 빈집털이 범행 수법을 알고 계시나요?불 꺼진 집 = 빈집털이 범행대상보통 밤늦게까지 불이 꺼져있는 집이나 여행을 가서 불이 며칠간 켜지지 않는 집이 범죄의 대상이 된다고합니다.서울 광진구 주택가 빈집털이범 검거 뉴스 - 출처: 연합뉴스아파트에 비해 저희가 자취하는 주택,빌라는 보안이 특히 더 취약한데요. 가끔식 치킨 배달원이 저희집 빌라 출입번호를 알고 누를 때는 조금 섬뜩하기도 합니다.범죄 예방법불이 켜져 있는 집은 범죄 대상에서 제외될 확률이 높다.사실 24시간 불을 켜두면 빈집털이를 예방할 수 있습니다. 집에 불이 켜져있거니와 전기 소모로 계량기가 돌아가서 집에 사람이 있다고 판단을 하니까요.그러나 항상 불을 켜둘 수 없습니다. 전기세가 낭비될 뿐만 아니라 형광등을 자주 갈아야 하니 귀찮습니다. 또한 지금 집에 몇 십년 살것도 아니라서 비싼 CCTV를 달거나 방범 서비스에 가입하기도 좀 그렇습니다.스위처: 스마트홈을 만드는 가장 저렴하고 쉬운 방법누구나 쉽게 설치 할 수 있는 스마트홈 제품 스위처하루 60원으로 여러분의 자취방을 편안한 보금자리로 바꿔보세요.스위처는 원하는 시간에 맞춰 집안 불을 켜고 끄는 스마트홈 제품입니다.설치가 매우 쉬워요. 위에 사진처럼 스위치 위에 부착하기만 하면 끝입니다. 이사갈 때 떼어 가시면 되구요.스위처 전용 어플리케이션 모습전용 앱으로 타이머 설정하시면 집에 내가 없어도 스위처가 스스로 불을 켜고 끈답니다. 또한, 리모컨처럼 사용할 수 있어서 불을 멀리서 켜고 끌 수 있어요. 스위처는 멀어질수록 빛납니다.돈 내지 말고 무료로 써보세요.스위처는 무료배송, 무료사용, 무료반납하루 60원을 내기 전에 무료로 먼저 써보세요. 스위처는 한 달 무료 사용 서비스를 제공합니다. 아무리 저렴해도 나에게 필요한 제품인지 직접 사용해 보고 판단해 보세요. 택배비 조차 무료입니다.하루 60원, 스위처로 여러분의 자취방을 안전하게 바꿔보세요.범죄는 예방이 최선입니다. 집에 도둑이 들고나면 물질적 손해뿐만 아니라 정신적인 상처도 정말 큽니다. 여러분의 집을 불안한 공간으로 만들지 마세요. 스위처라면 저렴하고 간단하게 내 자취방을 안전한 보금자리로 만들 수 있습니다.스위처 신청하러가기(링크 클릭)관련 자료스위처 인스타그램 사용 후기스위처 네이버 블로그 사용 후기“망원경 들고 불꺼진 집 노렸다”…빈집털이 2인조 구속‘초저녁 불 꺼진 집’ 노려 빈집털이 60회…40대 구속#스위처 #Switcher #서비스소개

기업문화 엿볼 때, 더팀스

로그인

/