지식: 어떤 대상에 대하여 배우거나 실천을 통하여 알게 된 명확한 인식이나 이해
지능: 심리학적으로 새로운 대상이나 상황에 부딪혀 그 의미를 이해하고 합리적인 적응 방법을 알아내는 지적 활동의 능력
지혜: 이치를 빨리 깨우치고 사물을 정확하게 처리하는 전인적 능력
이 글은 지난 3년간 지내온 제 자신에게 상기시키기 위한 목적으로 작성했습니다.
저는 이전까지 Python 을 주 언어로 사용하며 3년차 개발자 활동을 이어왔습니다.
“life is short, you need python” 이라는 문구는 항상 파이썬 관련 행사 혹은 강의마다 등장하여, 언어의 편리성과 생산성을 강조하는 의미로 와닿았죠.
Django, Flask 등 웹 프레임워크를 중심으로 크롤링과 데이터 처리, 심지어 학교 스터디 운영에 사용된 게임라이브러리까지 정말 다양한 모듈과 프레임워크를 접하며 개발의 재미를 느낄 수 있었습니다.
한동안 C, C++, Java 등 유서가 깊은 언어에는 싫증을 느끼며, 학교강의를 피하고, 제가 원하는 언어와 방향을 고집한 이유도 마찬가지였습니다. 개발의 재미를 느낄 수 있는 부분이 현저히 적었죠.
지금에서 보면 거부감이 없지만, 당시의 IDE 디자인과 화면은 학교수업에 대한 반항심을 키우게 해주는 고마운 요소
지금에서야 각 언어/프레임워크의 특성에 맞게 사용할 수 있게 반갑게 공식문서를 읽으며, 방법을 학습할 수 있지만, 처음 실무를 경험했을 때, 제가 선택한 언어와 프레임워크만 중심으로 이해하고 모든 문제를 잘 해결해내는 개발자가 되기를 꿈꿨습니다.
그리고 실무에 투입되고.. 수많은 버그와 코드리뷰, 구현한 서비스의 운영, 그리고 회사 서비스를 만들기 위한 여러 문서작성 및 회의 등. 개발자로 살아가기 위해서는 매우 복합적인 복수개의 업무를 만났죠.
“개발자로 취업하거나 먹고 살려면 무슨 능력이 제일 중요한가요?” 라는 질문은 여러 세미나 혹은 발표에서 자주 등장하는 질문 중 하나입니다. 이 질문을 스스로 던진 적도 정말 많지만 지금 생각하면 참 순수하면서도 한편으로 측은한 질문이라 생각되는데, 위에서 얘기한 업무만 수월하게 진행하는데 필요한 요소를 간단히 나열해보죠.
- 구현과 수많은 버그를 해결하기 위한 코드 작성
클린 코드, 아키텍쳐 설계, DevOps, 그리고 무엇보다 이를 뒷받침할 수많은 CS 지식들 (OS, DB, network 등) - 구현한 서비스의 운영
로그/에러처리정책, 동기/비동기처리, 데이터 마이그레이션/정합성/무결성 체크 등등 개발 외 비개발 요소의 해결 및 운용 능력 - 서비스 구현에 필요한 문서작성 및 회의진행
개발/비개발직 간 원활한 소통을 위해 글을 작성하고, 얘기할 수 있는 능력. 소위 소프트 스킬. 기발하면서도 현실적이고, 혁신적인 서비스 아이디어 제시/검토를 위한 창의력
이것만 있을까요? 업무를 진행하면서 스스로 번아웃이 오지 않으면서도, 서로를 책임질 수 있는 시니어/팀장으로서 필수적인 능력 등등…등
“훌륭한 개발자가 되고 싶은가? 각 커리큘럼에 맞는 로드맵에 따라 학습하자” 라고 얘기하는 수많은 글을 보면서 공부하던 20살의 자신과 지금의 생각은 온전히 달라졌습니다.
20살의 나: 내가 이거 다 도장깨기 하고 찢는다!
지금의 나: 이걸 다 한번에 필요가 있을까? 이 로드맵을 스스로 그릴 수 있는 사고력을 가지자.
20살에는 지식을 쫓는 사람이었던 것 같아요. 소위, 무슨 프레임워크 좋더라, OO언어 짱짱 을 외치며 여러 세미나와 발표를 오가며 들었습니다.
반면 지금의 나는 스스로 생각하며 문제 해결을 위한 사고방식과 능력을 키우기 위해 공부하고 있습니다. 수 많은 사람들이 누구나 개발하며 겪는 언어/프레임워크가 목표가 아닌, 문제를 해결하기 위한 해결책이 목표인 셈이죠.
수 많은 튜토리얼과 기술적이 얘기도 좋지만, 결국 이는 하나의 작은 문제와 해결책의 요소로 작용해야 한다고 생각하고, 결국 문제와 해결책 파악을 할 수 있는 능력이 필요하다 생각됩니다.
재밌는 사실은 지금까지 마음 잡고 진행한 “CRUD 게시판/쇼핑몰 구현해보기”, “스프링 프레임워크 학습하기” 등을 포함한 누구나 따라해 볼 수 있는 여러 토이프로젝트보다 “욕설 없는 커뮤니티를 위한 딥러닝 모델 구축”, 회사에서 진행한 프로젝트 그리고 최근에 혼자 진행하고 있는 프로젝트(대외비 ㅎㅎ) 등 문제점과 해결책을 찾기 위한 계기로 시작한 프로젝트가 제게 제일 큰 도움이 되었고, 기억에 남습니다.
이는 자기 PR 시 더 큰 매력으로 작용한다고 생각됩니다. 모든 학습, 연습 그리고 실전에는 성공/실패 여부도 존재하지만 결국 궁극적인 목표는 문제를 해결하고 이를 바탕으로 스스로 성장한 이유이자 증거이기에 다른 사람에게도 더 크게 와닿지 않을까요?
제목과 같이 지식 대신 지능과 지혜 라는 단어를 사용한 이유입니다.
물론 지식이 필요없다는 의미는 아니죠. 결국 개발자로 살아간다 했을 때, 수많은 지식과 높은 실력은 불가피하게 필요하다 생각됩니다. 모든 지식을 머리에 쌓고 다닐 수 없기에, 그러한 지식을 떠올릴 수 있는 지능과 지혜가 삶의 정말 큰 원동력으로 작용한다 생각됩니다.
위 글이 너무 뻔한 얘기라고 할 수 있다 생각되지만.. 이는 일과 공부에만 국한된 얘기는 아닙니다.
휴식도 갖고, 연애도 하고, 여행도 가고 등등 “스스로 케어하며 잘 살아보자” 라는 제 자신의 다짐에서 적은 글이에요.
회고 차 얘기하는 건 아니지만, 지난 1년 반 동안은 이러한 고민을 갖고, 살아왔던 것 같습니다. 하지만 이 과정에서 위와 같은 생각을 정리할 수 있는 정말 고마운 기간이었기에 이렇게 짧게나마 기록하는거죠.
앞으로 저는 더 많고 다양한 고민을 할 자신을 위해 이후의 제 모든 글은 지식을 바탕으로 지능과 지혜를 쌓는 이정표를 목표로 작성될 예정입니다. 잘 부탁드립니다. 😎