brunch

You can make anything
by writing

C.S.Lewis

by 플레이더월드 Dec 23. 2019

개발자의 사적인 애견생활

부제 : 슈나우저를 키워서 좋은 점


나의 첫 강아지

나는 아주 어려서부터 강아지를 좋아했다. 아무 개나 만지다가 물리고 아직까지도 흉터가 남아있지만 그래도 꾸준히 좋아하고 있다. 심지어 사진을 거의 찍지 않는 나의 8년 동안 쓴 iCloud 사진첩은 800중 400여 장이 강아지 사진이다. 때문에 부모님은 항상 강아지를 기르고 싶다는 나의 말에 시달려야 했었다. 끈질긴 나의 노력(?) 덕분에 우리 집에 첫 반려견이 들어오게 되었다.



자다가 일어난 깜지(11살)



슈나우저

2002년, 8월에 처음 키우게 된 이 슈나우저는 ‘까만 강아지’라는 의미에 깜지라는 이름을 붙여주었다. (내가 좋아하던 시골집 주변에 강아지 이름이 깜지였다.) 하지만 이때까지만 해도 생명에 대한 책임을 그렇게 느끼고 있지 않았었던 것 같다.


슈나우저는 독일에서 생긴 견종으로 주둥이를 뜻하는 독일어 ‘Schnauze’에서 따온 이름이다. 사실 슈나우저를 키우게 된 이유는 여기 있다. 어릴 적, 독일 국기에 Ballack이라 쓰여있는 티셔츠를 입은 사진도 있을 정도로 (이유는 알 수 없지만) 독일을 굉장히 좋아했었는데 강아지와 독일을 좋아하다 보니(독일어 공부도 했었다.) 독일 강아지를 찾게 되었고 그 후로 슈나우저에 푹 빠졌었다. 실제로 키워보니 슈나우저 그 특유의 뚱하고 심드렁한 표정과 너무나도 쾌활한 성격에 더욱 좋아하게 되어 현재는 오직 슈나우저만 3마리, 17년째 키우는 슈나우저 러버가 되었다. 2016년 8월, 블랙&화이트 슈나우저 깜지(16)를 보내고 난 후에 현재는 실버&화이트 슈나우저 테리(7)와 화이트 슈나우저 한솔이(1)를 키우고 있다.


 

악마가 되기 전, 테리(2개월) 아기악마 ver.



슈나우저를 키워서 좋은 점


1. 슈나우저를 키우면 인내심을 기를 수 있다.

3대 지X견이라는 훌륭한 수식어답게 굉장히 쾌활하고 영리하다. (이 견종의 영리함은 축복일 수도 위장을 한 저주일 수도 있다.) 또한 사람을 무척 좋아하며 충성심이 높은 견종으로 경비견 및 수렵견으로 많이 키워진다고 한다. 그래서 반려견으로 자주 길러지는 소형이나 토이 견종과 달리 수렵 본능이 충실한 슈나우저의 특성 덕분에 평소 체험하지 못하는 수렵 경험을 해볼 수 있다. 당신들의 작고 굴러다니는 립스틱이라든지 슈나우저 주둥이에 알맞은 크기의 핸드폰이라든지 쫀득쫀득 씹는 재미가 있는 고가의 가죽 가방과 같은 제품들은 모두 슈나우저의 수렵 대상이다. 이 모두 인내심이 약한 주인들을 위해 교육하려는 슈나우저들의 배려이다. 개인적으로 산지 2일 정도 지난 사과 폰을 깜지에게 씹고 뜯고 맛보고 즐김 당하였을 때, 가장 교육 효과가 높았다.


슈나우저는 정말 심심하면 물고 또 물어뜯는다. 화장지와 신문지를 다 뜯어서 온 집안을 하얗게 만드는 것은 약과다. 그 정도로 끝내주면 천사가 슈나우저의 모습으로 재림한 것이다.
— 나무위키



한솔(1살) 천사 ver.



2. 슈나우저는 튼튼하다.

반려견으로는 보통 미니어처 슈나우저를 키우게 되는데, 미니어처 슈나우저는 키 30~35cm, 몸무게 4.5~7kg의 소형견 치고는 큰 편에 속한다.(하지만 감지는 12kg, 테리는 11kg, 한솔이는 9kg 정도 한다.) 진행성 망막 위축증이라는 유전병이 발현될 가능성이 있지만, 품종 특성상 튼튼하고 잔병치레가 적어 반려견으로 적격이다. 악마견이라지만 비X이나 코X스파니엘과 같은 견종처럼 말썽이 심하지 않다. 물론 non-악마견(?)보다는 말썽을 피울 수 있지만 주둥이(Schnauze)만 주인이 잘 관리해 주면 된다. 너무 물어뜯어 두껍고 튼튼한 족발뼈 같은 것을 준다 해도 튼튼한 주둥이(Schnauze)와 압도적인 치악력 덕분에 잠시만 보지 않아도 집안 구석구석에 뼛가루를 흩날려 놓을 수도 있다. 또한 이러한 점을 슈나우저와 놀아줄 때도 교육해야 한다. 어렸을 때에 무는 장난을 잘 교육하지 않는다면 당신의 뼛가루가 날아다닐 수도 있다.



강아지 운동장에 간 한솔이(1살)와 테리(7살) / 회사동료 Shirley가 그려준 테리 악마 ver.



3. 슈나우저를 키우면 이웃과 정답게 지낼 수 있다.

슈나우저는 용맹하고 영역 의식이 강하며 보호 본능을 지니고 있어 위험을 감지하는 순간 우렁차게 짖는다. 때문에 단독 주택이나 마당이 있다면 앞서 언급한 것처럼 훌륭한 경비견 역할을 할 수 있다. 우리 가족은 거의 항상 아파트에서 살았다. 초등학교, 중학교 때에는 1층에서 꽤 오래 살았지만 이웃 사람들과 교류가 전혀 없었다. 하지만 깜지가 오고 난 이후, 특히 몇 주가 지나고 조금씩 커가자 깜지의 영역은 점차 늘어갔고, 결국 깜지는 아파트 전체와 그 주변을 자신의 영역으로 확정 지었다. 그리고 우리 가족은 자신의 영역을 지키려는 깜지의 노력 덕분에 이웃 사람들과 잦은 교류를 할 수 있었다.


텐트에 잠시 가둬두었더니 화가 잔뜩 난 테리 / 애견 캠핑장에서 잠시 휴식하고 있는 깜지(11살)와 테리(2살)



4. 슈나우저는 귀엽다.

슈나우저는 귀엽다. 사실 슈나우저를 키우기 전까지는 슈나우저의 귀염성에 대해 아무리 논해도 공감하기 힘들다. 물론 키우지 않아도 귀엽지만 같이 살아보며 느끼는 귀여움이 너무도 강력하다. 얼마나 귀여우면 슈나우저 한 번도 안 키워본 사람은 있지만, 한 번만 키우는 사람은 없다고 한다. (사실 내가 만든 말임.)


악마가 될 준비 중인 한솔(3개월) / 투명한 눈망울의 한솔(1살)
슈나우저 특유의 심드렁한 표정, 테리(2살) / 바람을 쐬고 있는 테리(1살)






여담


개발자의 애견 탐구생활

요즘 우리 회사는 MBTI가 유행이다. 평소에 보던 회사 동료들의 성향과 MBTI의 결과를 비교해보면 얼추 맞는 말이 많아 놀라곤 한다. 비록 이러한 검사나 테스트를 잘 믿지 않는 나이지만 꽤나 신빙성이 높아 최근 경험한 결과에 따라 어느 정도 신뢰가 생긴 것 같기도 하다. 물론 재미로 보는 것이 더 크지만, 테스트 후 내 유형의 결과는 INTJ로 나왔다. INTJ의 특징을 읽어보자면 여러 가지 있겠지만 주로 계획적, 분석적, 이론적, 독립적으로 표현되곤 한다. 문장, 사물, 사람. 어떠한 것이든 통찰하고 분석하여 인과관계 등을 논리적으로 풀어내는 것을 좋아하던 나로서는 꽤나 공감 갔던 특징이었다.



강아지 운동장에서 신난 인싸 한솔이



개발자, 애견, 슈나우저. 사실 굉장히 연관성 없는 단어의 조합이다. 하지만 뭐든 분석하고 연구, 학습하는 것을 좋아하는 나에게는 이 또한 분석의 대상이다. 요즘에는 함수형 사고, 함수형 프로그래밍에 관심이 높다. f(x)→ y. 즉 x가 입력으로 들어가면 결과는 y로 항상 같은 것. 이것이 순수 함수다. 한솔이에 빗대어 보자.


func 앉아!(한솔, 까까) → 한솔 앉기


사실 슈나우저에 국한된 일이 아니라 강아지들은 순수하며 복잡한 합성함 수로 이루어져 있지 않아 예측이 가능하다. 산책 가자 하면 꼬리를 흔들고 좋아하는 것. 집에 들어오면 반가워하며 좋아하는 것. 까까를 주면 애교를 피우며 손을 주는 것. 예측 가능하다는 것은 개발자로서 매우 유지 보수가 쉽고 적용하기 편하다. 하지만 이는 여자친구와는 상반된 결과이다. 다음의 결과를 예측해보자.


func 먹을래?(피자) -> ?


이를 여자친구의 메소드로 정의한다면


class 여자친구 {
                func 먹을래?(음식) -> ? {
                                  ...
                                  return ?
                }
 }


아직 우리는 학습되지 않아 함수를 정립할 수 없다. 하지만 다음의 케이스를 통해 학습될 수 있었다.


여친: 뭐 먹을까?
나: 피자 먹을래?
여친: 그래


이를 통해 한 가지 케이스는 처리될 수 있게 되었다.


class 여자친구 {
                func 먹을래?(음식) -> Bool {
                                  switch (음식) {
                                                case 피자:
                                                                return true
                                                default:
                                                                ...
                                 }
                 }
}


즉,


여자친구.먹을래?(피자) => true


이라는 것을 알 수 있다.

다음에 만났을 때, 또 다른 케이스를 학습할 수 있었다.


여친: 뭐 먹을까?
나: 피자 먹을래?
여친: 장난해?


여자친구.먹을래?(피자) => "장난해?"
여자친구.먹을래?(피자) => 좋음 혹은 화남?


??

Exception이 발생했다. 여기서 알 수 있는 사실은 먹을래? 함수는 순수 함수가 아닐 수도 있다는 점이다.


피자라는 외부의 값을 참조만 했을 뿐인 데 결괏값이 동일한 인자에 대해 같지 않았다. 그렇다면 다음과 같은 가정을 할 수 있다.  


1. 피자라는 값은 상수가 아니다.

2. 먹을래? 함수는 굉장히 복잡한 합성함수이다.


1인 경우, 피자라는 변수에 대해 꾸준히 학습을 지속하다 보면 얼추 정확도가 높은 계산식이 나올 수 있지만 사실 우리는 알고 있다. 먹을래? 함수는 단순히 인자 한 개에 따라 결과가 일정히 결정되는 순수 함수가 아니라는 것을. 그날의 기분, 온도, 옷차림, 피로도, 나의 말투, 미세먼지 농도(?) 등 우리가 알기 힘든 여러 가지 복합적인 요인이 있는 것이다.

하지만 이 모든 변수와 가중치를 계산식에 정확히 반영할 수 있다면 정확도 100%에 미치는 함수를 만들 수 있고 언제나 좋은 결과를 내는 함수를 호출할 수 있지 않을까?

아니. 강아지 얘기하다가 왜 이렇게 얘기가 나왔는지 모르겠다. 아무튼 결과적으로 강아지는 좀 더 순수한 함수로 이뤄져 있고 예측하기 쉽기 때문에 분석이 더 용이하다는 것이다. 이 글은 깊은 고민으로 쓴 작성된 내용이 아니라 의식의 흐름대로 작성했기 때문에 너무 가볍게 읽어주시면 감사하겠다. (저 그렇게 이상한 사람 아닙니다.)


여자친구.new => undefined






회사에 놀러간 한솔이

플레이더월드 사람들은 다행히도 전부 동물을 좋아하기 때문에 한솔이를 한 번 데리고 올 수 있었다. 먼 길이었지만 휴가 날 한솔이와 새로운 곳으로 산책 나와 회사 동료들도 소개해주고 동료의 강아지 보리(1)와 함께 한강 나들이도 갈 수 있어 좋은 경험이었다. (하지만 이내 비가 왔다.)


강아지와 고양이. 나아가 생명을 기른다는 것은 항상 고민과 계획이 필요한 것이다. 이는 이미 많은 사람들이 강조하고 있고 최근에 들어서 더욱 이슈가 되고 신중해지는 사안인 것 같다. 하지만 이러한 과정 끝에 결국 결심을 내렸다면. 슈나우저를 키워 보는 것이 어떨까?


회사에 놀러온 한솔이 (강아지 사이에서는 인싸이지만 사람에겐 낯가린다.)


특별 출연 ChaCha의 반려견, 말티푸 보리(@bori_bob._.17) / 한강에서 놀다가 소낙비에 흠뻑 젖은 한솔이 (Photo by Clapjin)



매거진의 이전글 플레이더월드 웹 AR 구현 회고록 1부
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari