[Writing Challenge] 글쓰기 챌린지 01.붉은 여왕 가설(Red Queen's Hypothesis)과 개발자

Xilver·2022년 10월 24일
3

Writing Challenge

목록 보기
3/3
post-thumbnail

Now, here, you see, it takes all the running you can do, to keep in the same place. If you want to get somewhere else, you must run at least twice as fast as that!
여기서는 같은 곳에 있으려면 쉬지 않고 힘껏 달려야 해. 어딘가 다른 데로 가고 싶으면 적어도 그보다 두 배는 빨리 달려야 하지!
-Red Queen (Through the Looking-Glass and What Alice Found There)

👸🏻 붉은 여왕 가설(Red Queen's Hypothesis)

  붉은 여왕 가설은 시카고 대학의 진화 학자 밴 베일른(Leigh Van Valen)이 생태계의 쫓고 쫓기는 평형 관계를 묘사하기 위해 루이스 캐럴(Lewis Carroll)의 소설 『이상한 나라의 앨리스』의 속편 『거울 나라의 앨리스』 작중 인물인 붉은 여왕에 빗대 '붉은 여왕 효과'(Red Queen Effect)하는 표현을 사용한 것이 현재에 이르러 변화했다. 소설 속에서 앨리스는 나무 아래에서 숨을 헐떡이며 뛰어가지만, 결코 나무에서 벗어나지 못하자 붉은 여왕에게 질문을 던진다. “계속해서 뛰는데 왜 나는 제자리인거죠?” 그러자 붉은 여왕은 제자리에 있고 싶으면 끊임없이 뛰어야 하며, 그 자리를 벗어나 앞서 가고 싶으면 지금 뛰는 속도의 2배 이상으로 달려야 한다고 답한다. 붉은 여왕의 나라에서는 어떤 물체가 움직일 때, 주변 세계도 그에 따라 함께 움직이기 때문에, 주인공이 끊임 없이 달려야 겨우 한 발 내딛으며 제자리를 유지할 수 있다.

  진화학에서 붉은 여왕 가설은, 주변 자연환경이나 경쟁 대상이 보다 빠른 속도로 변화하려하기 때문에 어떤 생물이 진화를 하게 되더라도 상대적으로 뒤쳐지게 되며, 이를 보상하기 위해 끊임없이 서로 재시도를 하는 과정에서 결국 자연계의 진화 경쟁에선 어느 한쪽이 일방적인 승리를 거두지 못한다는 뜻을 의미한다. 이 원리는 진화론뿐만 아니라 경영학의 적자 생존 경쟁론을 설명할 때도 매우 유용하게 사용된다.

"생명체는 그 스스로가 주변 환경과 경쟁자들 사이에서 끊임없이 진화해 적응하여야만 자신의 존재를 유지할 수 있으며, 주변에 맞춰서 진화하는 생명체가 그 제약을 초월하여 일방적으로 승리할 수는 없다"
-진화생물학 中

🛫 Welcome to Red Queen's World!

  이 가설에 대한 설명을 읽으면서 '어쩌면 개발자는 붉은 여왕 나라에 살고있는 사람들이 아닐까?'하는 생각이 들었다. 모든 직종, 사람들이 마찬가지겠지만 개발자는 정말 꾸준히 공부해야하는 직업이다. 오죽하면 '그만두기 전까지 끊임없이 공부해야 하는 직업'고 불릴까... 나만 해도, 현재 스터디를 5개 진행하고 있지만, 배울게 아직도 수두룩 빽빽하다.
이제 개발자가 붉은 여왕 나라의 시민인 이유에 대해서 알아보자.

👨‍💻붉은 여왕 가설과 개발자

1. 새로운 언어에 적응해야 한다.

  사실 내가 처음 취업했을 때는, 개발자가 얼마나 공부를 많이 해야하는지 실감하지 못했었다.
공부할게 많기는 했지만, 피부로 와닿지는 않았다. 주먹구구식으로 어떻게든 구현을 해냈고, 시니어분들께 질문 드리고 피드백 받으며 성장했다. 개발자가 붉은 여왕 왕국의 시민이라고 느꼈던 건 군 전역 후, 사이드 프로젝트를 하며 다시 안드로이드 개발을 잡았을 때였다.
처음 안드로이드 개발할 때에는 자바로 개발을 했었다. 근데 군대를 다녀온 2년도 안되는 사이에 이제 안드로이드 개발은 코틀린으로 한단다. (물론 자바로도 개발은 가능했지만, 새로운 기능의 대부분을 이용할 수 없었다.) 애초에 잘못 쌓아올린 탑(실력)에 군대 다녀오면서 까먹은 지식이 더해져 정말 처음 안드로이드 개발을 접할 때랑 같은 기분이었다.
이렇게 개발자는 매번 새로운 언어에 적응해야 한다.
(이직을 해서 다른 언어를 쓰는 직장으로 가거나, 취업을 했는데 주 언어 외에 다른 부가적인 기능 구현을 위해 다른 언어를 익혀야 하거나...)
C언어도 요즘 대부분 Go나 Rust에 잡아먹히고 있듯이... 개발자는 언어조차 정체되지 않고 발전한다.

2. 실력있는 주니어들

  나도 아직 주니어지만.... 처음 취업했던 19년도만 해도 학생 때 했던 프로그래밍은 현업에서 의미가 없어서 새로 배우고 시니어분께 매일 질문 했었는데, 요즘 신입 개발자들은 충분히 현업에서 일할 수 있을 만큼의 지식을 지닌 분들이 많다. 오히려 나보다 잘한다고 느끼는 신입 개발자분들도 엄청 많다. 이 분들에게 뒤쳐지지 않으려면 또 공부해야 한다. 발전을 포기한 개발자는 언젠가 뒤쳐지기 마련이다.

🧘‍♂️마치며

  이렇게 개발자는 붉은 여왕 가설처럼 '현상을 유지하기 위해서' 부단히 노력해야 한다. 더 나은 개발자가 되기 위해서는 그 2배는 노력을 해야한다. 주변에 뒤쳐지는 사람이 있다고 안심하지 말자. 개발자는 언어도, 툴도, 환경도 계속해서 발전해나간다.
언젠가 나도 개발을 그만두는 날이 올텐데, 그 날에 내가 최선을 다했다고 말할 수 있었으면 좋겠다!
모오든 개발자분들 존경하고 응원합니다... 화이팅💥!

profile
CV/NLP 딥러닝 엔지니어 Xilver 입니다.

0개의 댓글