백발의 시니어 개발자

by 박동기

오래전에 캐나다의 Bell 통신 사업자의 피처폰을 개발하기 위해서 출장을 갔다. 우리나라로 치면 SK텔레콤과 같은 통신 사업자이다. Bell 통신 사업자의 시스템 엔지니어들을 만나서 미팅을 할 기회가 있었다. 머리가 하얀 50대 후반의 나이 든 엔지니어들이 참석했다. 우리나라로 치면 관리를 하고 있거나 이미 은퇴를 해서 자영업을 할 나이들이었다. 그 나이까지 열정을 갖고 일하는 모습이 멋있어 보였다. 폭넓은 경험을 갖고 있었고 요구 사항들도 매우 전문적이고 구체적이었다. 이동 통신 시스템에서 단말기 쪽에서 해야 할 일들에 대해서 명확한 Specification을 정의해 주었다.


외국의 회사에서 할아버지 개발자들을 종종 볼 수 있는 것이 신기했다. 현업에서 왕성하게 실무를 하고 있는 진짜 엔지니어들이다. 우리나라가 개발자들은 이런 할아버지, 할머니 개발자를 만나보거나 이야기를 전해 들으면 많이 부러워한다. 우리나라에서 50대 후반을 넘긴 개발자를 거의 본 적이 없기 때문이다. 나는 운 좋게도 현업에서 개발을 계속하고 있으니 감사할 따름이다.


우리나라는 5년에서 10년 정도 개발을 하다가 관리직을 맡으며 개발에서 손을 떼게 된다. 대부분의 개발자는 경력이 쌓이면 자연스럽게 관리 업무를 겸하거나 아예 관리자로 전환된다. 또 관리를 해야 진급도 빠르고 대우가 좋기에 관리 업무를 선택한다. 나이 어린 직원에게 관리를 받는 것도 자존심이 상하다 보니 어쩔 수 없이 관리직으로 가게 된다. 개발만 고집하는 사람들은 관리 능력, 커뮤니케이션 능력이 떨어지는 괴짜라고 생각하는 이상한 시각도 존재한다. 관리를 하면서 코딩을 한다는 것은 쉬운 일이 아니다. 관리와 개발 두 개다 모두 엉망진창이 된다. 천재적인 개발자이더라도 코딩과 관리의 업무는 쉽지가 않다. 관리와 개발 업무를 동시에 하는 개발자들도 관리하랴, 회의하랴 바빠서 본인이 가장 잘하며 좋아하는 개발 업무와는 점점 멀어지게 된다. 낮에는 관리하고 밤에는 야근을 하며 남은 코딩을 하다 보니 개발자의 삶이 피폐해진다. 관리에 많은 시간을 쏟아야 하니 기술과는 점점 멀어지고 어정쩡한 관리자로 자리를 잡게 된다. 결국 전문성이 별로 없는 일반 관리자가 될 뿐이다. 다시 개발자로 돌아오지도 못한다. 그러다가 못 버티는 개발자들은 업계를 떠나 자영업을 하거나 치킨집을 차리게 된다.


우리나라에 할아버지와 할머니 개발자가 없는 것이 안타깝다. 할아버지와 할머니 개발자의 장점은 무엇일까? 풍부한 경험을 통해서 안정적인 소프트웨어를 만들어 낸다. 문제 해결 능력이 있어서 빨리 문제에서 헤쳐 나올 수 있다. 시니어 개발자는 개발 경력이 많기 때문에 개발을 쉽게 할 수 있다. 풍부한 경험을 바탕으로 한 다양한 자료를 응용해서 기능 구현을 쉽게 할 수가 있다. 많은 자료가 박제된 정보가 아니라 살아 움직여 생명력 있는 자료이기에 시니어 개발자는 바로 응용이 가능하다. 개발했던 기존 지식과 새로운 기술들을 융합해서 새로운 제품을 만드는 데 유리하다. 다양한 개발 경험으로 일을 주도적으로 치고 나가며 개발을 리딩 해 나갈 수 있다.


50대 후반 이후에 프로그램 코딩하는 것은 쉬운 일이 아니다. 한국에서는 거의 불가능하다. 지금 50대 후반 이후에도 코딩을 하고 있다면 진심으로 박수를 쳐주고 싶다. 회사에서 개발자가 정년까지 일할 수 있는 것을 보장해 주는 것도 필요하지만 개발자 자신이 백발이 되어서도 개발을 하려는 노력이 필요하다.


첫째로, 건강을 챙겨야 한다.

건강한 사고 능력과 논리력을 가질 수 있도록 몸 관리를 잘해야 한다. 마음 편하게 살아야 하고 스트레스 해 소하는 자기만의 방법도 꼭 갖고 있어야 한다. 좋은 음식을 먹어서 항상 일정한 수준의 건강을 유지해 줘야 한다.


둘째로, 새로운 기술들을 조금씩이라도 매일 접하려는 노력이 필요하다.

안드로이드의 경우 자바 코드도 있지만 코틀린 코드로도 개발을 해야 한다. 10년 전에 사용했던 기술에 머물러서는 백발이 되어서까지 일을 할 수가 없고 도태가 된다. 인터넷 뉴스를 통해서 기술 동향이나 신규 용어들에 대해서도 이해를 하고 있어야 한다.


셋째로, 자존심은 버리고 모르는 것은 물어봐야 하고 아는 것은 공유해야 한다.

모르는 것은 창피한 것이 아니다. 한참 나이가 어린 신입사원에게라도 배울 것은 있다. 겸손한 자세로 항상 배우려는 자세를 갖고 있어야 한다. 고급 정보라 하더라도 다 나누어 주어야 한다. 노트북을 무덤까지 갖고 갈 생각이면 공유를 하지 않아도 된다. 그렇지 않다면 알고 있는 모든 것은 쏟아내어 공유해야 한다. 공유할 때 상승효과의 영향력으로 인해 본인과 더불어 주위 사람의 실력과 팀워크가 형성이 된다. 공유할 때 좋은 영향력을 끼치게 되는 것이다. 시니어 개발자들은 본인들이 만들어 놓은 문서나 기술은 반드시 공유해야 한다. 무덤까지 갖고 갈 기술이 아니다. 무조건 공유해라. 자신이 가진 모든 기술을 공유하는 것이 시니어 개발자의 할 일이고 마지막 사명이다. 모든 기술의 민낯까지 모두 공개해야 시니어 개발자들이 살길이다. 보안보다 공유가 우선이다. 훌륭한 오픈소스가 판치는 마당에 소프트웨어 관련해서 숨길 것이 그렇게 많지 않다.


넷째로, 코딩은 손에서 놓으면 안 된다.

어떤 상황에서도 코딩은 손에서 놓지 말고 끝까지 붙들고 가야 한다. 한번 놓으면 다시 손에 익히는데 돌아오는 시간이 길어진다. 영원히 코딩의 세계로 돌아오지 못할지도 모른다. 개인적으로 기술 개발을 철저히 해서 녹슬지 않는 기술을 꼭 갖고 있어야 한다. 사용하지 않으면 금방 녹슨다.


백발이 되어서도 개발을 개발로 대충 해도 시니어 개발자는 좋은 품질의 소프트웨어를 만들어낸다. 자기만의 품질에 대한 확실한 기준이 있기 때문이다. 노련하고 경험이 풍부한 시니어 개발자들이 일할 수 있도록 해야 한다. 사회적으로도 시니어 개발자들이 개발을 중단하는 것은 국가적인 손실이다. 그들의 실력이 썩지 않도록 회사와 사회적으로 시니어 개발자들이 일할 수 있는 분위기를 만들어 줘야 한다. 안정적인 근무 조건에서 개발을 할 때 시니어 개발자들은 경쟁력이 더 생길 것이다. 그들이 움직일 때 IT 업계의 꽃인 소프트웨어가 코딩 기술과 문서작성 기술로 인해 우리나라의 기술발전에 큰 역할을 할 것이다.


4차 혁명 시대와 AI 시대에 코딩의 경험 있는 인력은 꼭 필요하다. 그들이 자영업을 하고 치킨집으로 가는 것은 안타까운 일이다. 시니어 개발자들은 사회의 좋은 일에 기여할 수 있고 우리나라의 소프트웨어 강국의 꿈을 실현하는 데도 도움을 준다. 경험이 많은 시니어 개발자들이 이끌어 갈 때 새로운 혁신이 일어날 수 있으며 그들의 통찰력을 토대로 좋은 기술을 더 발전시킬 수가 있다. 시니어 개발자들은 일을 소풍가듯이 즐겁게 한다. 일을 기쁘고 즐겁게 하니 예술의 경지에 오른다. 시니어 개발자들은 소프트웨어를 예술적 수준의 작품으로 만든다.


사무실에서 백발이 무성한 개발자들이 코딩하는 모습을 보고 싶다. 시니어 개발자들은 개발을 개발로 해도 좋은 품질이 나오기 때문이다. 우리 주변에서 할아버지, 할머니 개발자를 흔하게 보는 시기가 되면 소프트웨어 개발자들이 이미 행복하게 일하는 세상이 되어 있을 것이다.

keyword
이전 07화개발자는 노숙자가 아니다.