신입들에게 당부 – 인성

근 몇 년간 느낀 대대수의 사회 초년생들에게 나타나는 공통적인 특징이 있다.

  1. 예의가 없다.
  2. 이타심이 없다.
  3. 상대방 입장을 헤아릴 줄 모른다. (이타心이 마음가짐이라면, 이 항목은 행하는걸 말함)
  4. 감정적이고
  5. 자기 할말만 한다.
  6. 남을 배려할 줄 모른다.
  7. 금방 싫증낸다.

사실 열거한 항목들이 두 가지 키워드로 귀결되는것 같다.
“이기주의, 자기애”

사회 초년생들에게 전반적으로 나타나는 이기주의, 강한 자기애의 원인은 미숙한 사회성에 있다고 생각한다.
뭐 내가 사회학자도, 심리학자도, 더욱이 사회 심리학자도 아니니깐 자세한 얘기는 넘어가고

사회는 혼자 살아가는 것이 아니다. 여러 사람과 함께 어울리면 살아가는곳이다
그렇다면 내가 소중한 만큼 타인도 소중한 것이다.
더군다나 신입(막내)라면 더욱더 관계에 주의하며 예의를 지켜야한다.

절대 교만하거나 자만하지 마라.
“난 능력이 뛰어나”라고 생각하겠지만 능력과 인성은 별개이다.
이러한 생각은 자기애에 의한 착각일 뿐이다.
신입이 아무리 날고 기어도 신입은 신입이다.

회사가 신입에게 바라는 것은 현재 능력이 아니다. 바로 성장 가능성(Potential)이다.
현재 능력이 뛰어나며 성장 가능성까지 높은가?
그렇다고? 부럽군..;;
하지만 성장 가능성이 전부는 아니다.
아무리 성장 가능성이 높다 하더라도 인성이 안되어 있으면 결국 퇴사를 하게된다.
왜냐면 주변 사람들이 “이 사람과 같이 일 못하겠어요”라며 아우성인데
회사에서 그 사람을 계속 채용하고 있을까?
본인 또한 이러한 상황과 주변의 눈치를 견딜 수 있을까?
한가지 더 말해주자면 경력직 채용에서도 인성은 여전히 중요하다.

여기서 말하는 ‘인성’을 정확하게 콕 집어 설명하는건 어렵지만 한가지 명확한 건 ‘착하다’라는걸 의미하는 것은 아니다.
인성 좋은 사람의 특징은 사람들과 원만한 관계를 유지한다는 것이다.
사람들과 원만한 관계를 유지한다는 것은 의사소통이 원할하다는 걸 의미하고
이것은 협업시 의사소통에 리스크가 없을 가능성이 크다는걸 의미한다.
잘 알고 있겠지만 의사소통에 문제가 있는 사람과 함께 일하는건 고역이다.

전문가가 되려는 노력도 중요하다.
하지만 그 이전에 인성을 갖추려 노력하라. 인성이 먼저다.
생각해보라. 자기 잘났다고 뻐대는 목이 굳은 신입을 누가 좋아하겠는가.
인성을 갖추고 노력하는 모습을 보여라. 그러면 사수를 비롯한 많은 선배들이 훌륭한 가르침을 줄 것이다.
이것이 빠른 성장으로 가는 지름길이라는걸 잊지마라.

Advertisements

신입들에게 당부 – 조언(훈계)의 반응.

해본적 없는, 잘 모르는 문제에다가 일정도 급하다.
시국이 시국인 만큼 어쨋든 돌아가게만 만든다.
자신이 하고 있는것이 무엇을 위한 것인지, 무엇이 변경되는지 모른다.

몇일이 지났다.
그때 작업한 내역(코드)에 대해 물어보면 그런거 하나하나 분석하면서 작업할 시간이 없었다며 승질을 낸다.
코드가 이상해서 ‘문서 읽었어? 정독했어? 10번 읽었어?’라고 물어보면 100번은 읽었다! 라며 되려 승질을 낸다.

작업 당시 일정이 급박했다면, 그 당시에 물어봐도 답변못하는건 이해할 수 있다.
그리고 이때 답변못한 걸 가지고 뭐라할 사람도 없다.
‘신입이 이 정도면 잘한거지’라며 되려 칭찬을 받을 수도 있겠지.
하지만 시간이 지나서 물어봤다면 자신이 한 세팅, 코드들은 다 이해하고 설명할 수 있어야 하는것 아닌가?
자신의 코드를 스페이스 하나하나까지도 꼼꼼하게 리뷰하면서 ‘왜?‘ 라는 질문을 계속 되물으며, 코드를 파악해야 스스로가 발전하게 되는 것이다.
이걸 왜 쓰는지도 모르면서 계속 쓰는데 무슨 발전이 있겠는가.

문서 10번 읽으라는건 그냥 10번만 읽으라는 의미로 얘기한 것일까?
횟수가 중요한 것이 아니다.
집중해서 꼼꼼하게, 그야말로 ‘정독’으로 10번 읽은 것이 허투루 100번 읽은 것과 비교가 된다고 생각하나?

조언(훈계)를 듣는것이 억울한가?
언제까지 억울해할 것인가? 평생? 그렇게 소중한 다시 돌아오지 않을 시간을 허비할 것인가?

순간적으로 억울한 감정이 드는건 당연지사. 이걸 나무라는것이 아니다.
억울함이 들때마다 자신의 감정을 피력한다면
주변에 좋은 상사, 선배, 멘토, 동료등 그 어느 누구도 결국에는 안 남게될 것이다.
이뿐만 아니라 회사에서도, 사회에서도 환영받지 못하는 이가 될 뿐이다.

당신이 듣고 싶지 않은 말을 누군가가 한다면
제발 감정을 내세우지 말고, 침착하게 내가 뭘 잘못했는지, 내가 무엇이 부족한지를, 상대가 무엇을 얘기하고 있는지 파악하려 노력해라.
그리고 진심으로 상대에게 감사해라.
설사 그 사람이 흠이 있거나, 조언을 하는 방식이 맘에 들지 않더라도 말이다.
상대의 조언을 통해 발견하지 못한 나의 문제점을 발견한 것이다.
아주 값비싼 은혜를 입었다는 사실을 잊지 마라

이 세상을 살아가면서 감정적이어서 좋을때도 있지만, 대다수의 경우는 항상 안 좋은 결말을 가져온다.
감정적인 사람은 즉흥적이기 때문이다.
침착하게 마음을 가다듬고, 3자의 입장으로 사건을 바라보고, 문제의 원인을 차분이 분석하는
그런 자세와 습관이 필요하다.

미래를 위한 재능 기부

바빠서 외부 소식 뜸하다, 오늘 짬내서 페북 타임라인들을 쭈욱봤다.
가슴이 먹먹하다. 하..

안산이라는 키워드, 학생이라는 키워드
모두 나에겐 가까운 키워드라 그런지..
많은것들이 내 가슴을 억누른다.

성수대교, 삼풍백화점, 씨랜드, 대구 지하철..
우린 이렇게나 많은 사건을 격었는데도.. 그대로다.

노력하지 않으면, 바꾸지 않으면.. 앞으로도 끔찍한 비극은 계속될 것이다.
과거에도 남의 일이고, 미래의 일은 모르는거라 하며 흘려버릴 수 도 있겠지만
앞으로도 비극은 계속될 것이고 언젠가는 결국 우리가 피해자가 될 것이다.
피해자가 우리라서가 아니다.
이런 비극은 피해자가 누구든 다시 일어나선 안된다.

모니터만 보면서 개탄하고 끝내서는 안된다는 (너무나도 슬프지만 학습에 의한)생각..
가만이 있어서는 안된다는 생각이
내가 할 수 있는 뭔가를 해야겠다는 사명감을 만들어 내고 있다.

Keywon Chung님 및 수재분들이 만드신 응답하라 국회의원처럼..
뭔가를 할 수 있을 것 같은데..
뭔가를 해야 하는데..

제가 도움이 될 수 있을 것 같다거나, 아이디어가 있으시거나, 동참하고 싶으신 분 있으시면..
연락 주세요.

DNSEver 유료화에 대한 사람들의 반응을 보면서..

dnsever

DNSEver가 유료화 되었다고, 다른 서비스로 옮기겠다고 하는 사람들이 있다.
옮긴다고 하는 서비스 또한.. 알고보면 유료인 곳도 있고..
그렇다면 그냥 DNSEver쓰면 안되나..?

가격이 터무니없게 책정이 된다면 문제가 되겠지만
합리적인 가격, 도메인당 고작 월 1,000 포인트 (결제하면 아마 1,100원일듯) 인데..
1,100원인데.. 1,100원이면 편의점에서 과자 하나 살랑말랑한 돈인데..
고작 1,100원때문에 이때까지 은혜를 배푼곳 나몰라라 하고 옮기나?
(자세한 가격 정책은 https://kr.dnsever.com/index.html?selected_menu=productandprice 참고)

이때까지 무료로 사용하면서 고마운 마음을 느낀적 일절 없고
당연한 권리를 누린다고 생각하는 걸까?

사람이 염치가 있어야지 말이야.
이런 행위도 일종의 먹튀라고 생각한다.

너무 공짜, 공짜, 공짜 하지 말고
합당한 가격을 지불하고 구매를 하는 것이 올바른 소비 문화이고, 해당 제품이 발전해 나갈 수 있는 밑천이 되는 것이다.

ps #1
무료로 사용하는 방법이 있긴 한다. DNSEver 서포터즈 프로그램게 가입하는 것인데..
자세한 방법은 https://kr.dnsever.com/index.html?selected_menu=supporters 참고

ps #2
DNSEver 서포터즈 프로그램에 가입할려고 쓴 글 아니다.
내용도 서포터즈 프로그램에 부합하지 않을 뿐더라, 유료 wordpress를 사용하고 있다.

스타트업에서는 실리콘벨리의 기업문화를 바라면 안된다.

존경하는 백준이형이 zdnet에 쓴 컬럼 “미국에선 상식인 기업문화가 한국에선 ‘꿈'”이다.
내용이 그리 길지 않으니 한번 읽어보자.
http://www.zdnet.co.kr/column/column_view.asp?artice_id=20140318084319

33가지중 마지막을 제외한 32가지는 스타트업에서도 충분히 할 수 있는 것이므로 패스!
(전문은 하단에 첨부)

마지막 항목 “회사를 위해 희생하지 마요. 당신의 삶이 먼저에요.” 에 대해서 말하고 싶다.
캬~ 참 멋지고, 누구나 바라는 아름다운 문화이다.

일과 삶의 균형

헌데 이게 참 딜래마다
이미 성공해서 생사 걱정이 없는 회사라면, 개인의 삶이 먼저라고 말할 여유가 생긴다.
하지만 이런 여유가 없는, 하루하루가 생존을 위한 전쟁을 치루고 있는 스타트업이 개인의 삶이 먼저라는 모토로 운영을 한다면..
과연 그 회사는 살아남을 수 있을까?

스타트업은 때로는 밤을 새야하고, 때로는 선약을 깨야한다.
즉 개인의 삶을 희생해야 할 때도 있는 것이다.
그렇지 않으면 스타트업은 살아남을 수가 없다.

애니메이션 심슨의 번즈 사장

너무 사장같은 마인드라고 여겨지는가?
“회사가 망하면 이직하면 그만이지!”라고 생각하는가?
이런 생각을 하는 사람이야말로 이기적이고 기생충같은 마인드 아닌가?

내가 사장이라면, 더군다나 스타트업이라면.. 절대 이런 사람 채용하지 않을 것이다.
난 밀집모자 해적단같은 팀을 만들기를 원한다.
아무리 능력이 출중해도 이런 인재는 팀을 와해시키는 썩은 사과에 불과하다.

스타트업에 취직을 하고자 한다면, 고생은 각오를 해야한다.
가장 중요한 것은 재미와 열정이다.
본인이 재미를 느끼지 못한다면, 몰입해서 열정을 불태울 수가 없다.
열정이 없다면 스타트업의 고된 생활을 견딜 수가 없다.
물런, 정도의 차이는 있겠지만. 이런 사항을 미리 숙지를 해야한다.

만약 스타트업인데 엄청난 문화로 현혹하는가?
입사해서 놀고 먹으면 될 것 같은가?
일단 의심부터 하라.

  1. 회사의 재정 상태가 건강한가?
  2. 회사가 돈이 많이 있는가? (더 이상 투자를 받지 않아도 될 만큼)
  3. 정말로 놀고 먹으면 될 것 같은 회사인가?

여기서 한번 더 짚어주고 싶은것은 3번이다.
화려해 보인다고 해서 그것이 전부가 아니다. 자유에는 책임이 따른다는 사실을 잊지 마라.

스타트업에 입사한다는 것은
회사의 뜻과 귀감하고, 나의 뜻을 더하여, 동료와 함께 성장하고, 동료와 함께 성공하는 것이다.
시작은 미약하지만 동료와 함께 창대케 되는 것이 목표여야 한다.

밀집모자 해적단은 처음부터 엄청난 해적단이 아니었고,
루피 혼자만의 힘으로 유명해진 것도 아니다.
동료들 모두 자기몫을 하며 함께 성장해온 것이다.

루피 첫배.

처음엔 냇가에서나 탈법한 배로 시작

써니호

하지만 지금은 없는 기능이 없는? 배를 타고다닌다. 배인데 부스터쓰면 하늘도 막 날라간다 ㅋㅋ

스타트업 문화의 가장 중요한 핵심 키워드는 ‘개인’이 아니라 ‘동료‘ 라는 사실을 잊지 말기 바란다.
 

 

<제니퍼소프트에서 하지 말아야 할 33가지>

1. 전화 통화 시에 “지금 어디예요?”, “뭐 하고 있어요” “언제 와요?”라고 묻지 마요. 감시할 의중도 없잖아요.
2.“회의 중인데 좀 있다 전화할게”. 아니거든요~ 가족 전화는 그 어떤 업무보다 우선이에요.
3. 근무 외 시간엔 가급적 전화하지 마요. 사랑을 속삭일 게 아니라면!
4. 퇴근할 때 눈치 보지 마요. 당당하게 퇴근해요.
5. 우르르~ 몰려다니며 같은 시간에 점심 먹지 마요. 같이 점심 먹는 것도 때로는 신경 쓰여요. 시간은 자유롭게. 먹고 싶은 것을 먹어요.
6. 비즈니스 정장을 입기 위해 애쓰지 마요. 편하고 자유롭게 자신의 개성을 맘껏 뽐네요.
7. 출장 후, 초콜릿 사오지 마요. 그거 사기 위해 신경 쓰는 누군가에겐 부담되어요.
8. 회식을 강요하지 마요. 가고 싶은 사람끼리, 자유롭게 놀아요.
9. 타인에게 휘둘리지 마요. 내 인생의 주인공은 나에요.
10. 실패를 두려워하지 마요. 도전은 우리의 것. 책임은 회사 대표의 것이에요.
11. 대충 하지 마요. 디테일이 중요해요.
12. 사무실에서만 일하지 마요. 때론, 카페에서도 일해요.
13. 퇴근 후 일하지 마요. 우리에겐 휴식과 가족과 나눌 사랑이 힘이 되요.
14. 너무 일만 하지 마요. 가끔 놀아도 되요.
15. 회의 중에 침묵하지 마요. 침묵은 부정이래요. 항상 말해줘요.
16. 농담이라도 상대방을 비웃지 마요. 당신은 웃지만 상대방은 상처받아요.
17. 서로에게 반말하지 마요. 항상 서로 존중해요.
18. 형식에 얽매이지 마요. 본질에 집중해요.
19. 슬금슬금 돌아앉지 마요. 함께 나눈 이야기 속에 좋은 아이디어도 창의성도 발현되어요.
20. 혼자 하지 마요. 함께 하면 힘이 되요.
21. 감정 표현을 망설이지 마요. 고마워요! 미안해요! 함께 할까요? 이렇게 표현해요.
22. 구성원이 힘들면 외면하지 마요. 이야기 들어주고 토닥토닥 감싸줘요.
23. 내가 혼자 다했다고 자만하지 마요. 우리 함께 한 일이잖아요.
24. 뒤에서 이야기하지 마요. 눈을 맞추며, 이야기해요.
25. 인상 쓰지 마요. 웃어봐요.
26. 정원에 풀 뽑지 마요. 잡초제거는 회사 대표의 몫이에요.
27. 경쟁하지 마요. 서로 협력해요.
28. 식사 거르지 마요. 꼭! 꼭! 챙겨 먹어요.
29. 자신을 한정 짓고 제한하지 마요. 언제나 오픈 마인드!
30. 억지로 하지 마요. 하고 싶은 일을 하며, 가슴 뛰는 삶을 살아요.
31. 사유와 공부를 게을리 말아요. 공동체의 의무에요.
32. 이것이 끝이라고 생각하지 마요. 계속 고민해요.
33. 회사를 위해 희생하지 마요. 당신의 삶이 먼저에요

Rails AR 속도 테스트

전 포스팅에 이어 각 케이스별 Benchmark 결과 공유해볼까 한다.
Benchmark 사용법 및 자세한 내용은 아래 링크를 확인하시면 된다.
http://www.ruby-doc.org/stdlib-2.0/libdoc/benchmark/rdoc/Benchmark.html

1. 우리가 흔히 사용하는 100% AR을 사용한 경우.
puts Benchmark.measure{User.limit(100000).to_a;nil}
120.070000 1.790000 121.860000 (122.293380)
총 소모된 시간 약 122초

2. 컨넥션만 AR을 이용한 후 row값을 배열로 받는 경우
puts Benchmark.measure{ActiveRecord::Base.connection().select_rows(‘select * from users limit 100000’);nil}
8.110000 1.560000 9.670000 ( 9.995749)
총 소모된 시간 약 10초

3. 컨넥션만 AR을 이용한 후 row값을 해쉬로 받는 경우 (mysql2만 사용한것과 같은 리턴 타입)
puts Benchmark.measure{ActiveRecord::Base.connection().select(‘select * from users limit 100000’);nil}
8.790000 1.320000 10.110000 ( 10.415056)
총 소모된 시간 약 10초

4. 컨넥션만 AR을 이용한 후 날것(raw)로 받는 경우
Benchmark.measure{ActiveRecord::Base.connection().execute(‘select * from users limit 100000’);nil}
0.160000 0.030000 0.190000 ( 0.501308)
총 소모된 시간 약 0.5초

5. mysql2를 이용한 경우.
puts Benchmark.measure{mysql.query(“select * from users limit 100000”);nil}
0.150000 0.030000 0.180000 ( 0.469528)
총 소모된 시간 약 0.5초

6. mysql2에서 row값을 Array로 받는 경우.
puts Benchmark.measure{mysql.query(“select * from users limit 100000”, as: :array).to_a;nil}
0.140000 0.020000 0.160000 ( 0.474315)
총 소모된 시간 약 0.5초

7. mysql2에서 결과값을 Array로 변환한 경우.
puts Benchmark.measure{mysql.query(“select * from users limit 100000”).to_a;nil}
27.890000 3.050000 30.940000 ( 31.259377)
총 소모된 시간 약 31초

같은 결과값 타입끼리 비교를 해보면

결과값 타입 AR mysql
배열 2. 컨넥션만 AR을 이용한 후 리턴값을 배열로 받는 경우
약 10초
7. mysql2에서 타입을 Array로 요청한 경우.
약 0.5초
해쉬 3. 컨넥션만 AR을 이용한 후 리턴값을 해쉬로 받는 경우
약 10초
5. mysql2를 이용한 경우.
약 0.5초

mysql2의 압도적인 승리다.

사실 4.AR이용 날것(raw)과 5.mysql2의 리턴받는 객체는 똑같다.
둘다 Mysql2::Result를 따라간다.
하지만 4번은 Array로 형변환을 하고, 5번은 Hash로 형변환을 한다는 차이점이 있다.
Screen Shot 2013-06-14 at 10.22.25 PM