최근 Oracle에서 한 임원분이 학교로 찾아와 강연을 했습니다. 그 강연에서 자신이 어떻게 개발자가 되었는지, AI 시대에 자신의 업무는 어떻게 변화했는지, 신입 개발자들은 어떻게 준비해야 하는지에 대한 얘기를 들었습니다. 이번 포스트에서는 그 강연에서 얻은 인사이트를 공유하고자 합니다.
기초가 튼튼한 개발자
상무님은 99년 DBA와 Java 개발자로 경력을 시작했습니다. 지금으로부터 25년 전, OLTP, ODS, OLAP, CDC, ETL 등 다양한 데이터베이스 기술을 개발했습니다. 이 당시에는 자신은 소프트웨어 개발자가 되고 싶었지만, 연구자에 가까운 활동을 하면서 자신의 커리어에 대한 고민을 했다고 합니다. 하지만, 현재에 와서 생각해보니 25년 전 자신이 만들었던 기술을 전 세계가 아직도 사용하고 있고 그 기술이 여전히 유효하며 그 기술 덕분에 지금의 자신이 있다고 합니다.
상무님께서는 "기초가 튼튼한 개발자"가 되라고 강조하셨습니다. 지금 재미없고 의미없게 느껴지는 CS, 알고리즘 등 기초 지식이 모든 일의 기초가 되며, 나중에 빛을 보게 된다고 하셨습니다.
최근 AI의 발전으로 Vibe 코딩 등 바로 결과물로 넘어가는 기술이 많이 발전했습니다. AI만 있으면 아무런 개발 지식 없어도 완전한 프로덕트를 만들 수 있다느니 하는 얘기가 많이 있지만, 제 생각은 그렇지 않습니다. 많은 유튜브 동영상 등에서 볼 수 있듯이 AI가 만들어주는 코드는 프로젝트의 규모가 조금만 커져도 유지보수하기 어렵고, 문제가 많은 코드를 추천해주기도 합니다. AI가 아무리 발전하더라도 쓰는 사람이 아무것도 모르면 엉성한 결과물만 만들어낼 뿐입니다. Garbage In, Garbage Out의 법칙처럼, 언제나 잘 준비된 사람이 더 크게 도약할 준비가 되어 있습니다.
생산자가 되어라
세상에는 Consumer와 Producer가 있습니다. 누군가는 타인이 만든 자료를 보기만 하고, 누군가는 새로운 자료를 만들고 공유합니다. 그 중에서도 Producer가 되라고 강조하셨습니다. 가장 확실하게 공부하는 방법은 자신이 알고 있는 것을 다른 사람에게 가르치는 것입니다. 일단 작은 거라도 블로그에 글을 쓰는 등 데이터를 생산하면 일단 누군가에게는 가치있는 자료가 될 것입니다. 작은 일이 시간이 지나면 큰 커리어로 이어집니다.
AI 시대의 개발자
Q&A 시간에는 AI 시대의 개발자에 대한 질문이 대다수였습니다. 최근 채용 시장이 불경기와 AI의 발전으로 인해 신입 개발자 채용이 거의 없는 상황입니다. 상무님은 AI 시대의 개발자가 갖춰야 할 역량으로 다음과 같은 것들을 말씀하셨습니다.
- 실행력 : 여러가지 일을 실패하더라도 일단 실행해라
- 둔감력 : 실패하더라도 낙담하지 말고 다시 일어나라
- 지식누적 : 계속해서 지식을 쌓아라. 특히 외부에 publishing하면 더 좋다.
- 내재화 : 남의 지식을 내 것으로 만들어라. 자신이 이해한 대로 정리하고, 남에게 가르쳐라.
- 기초역량 : CS, 알고리즘, 자료구조 등 기초 역량을 쌓아라.
- 모드전환 : 지금은 engineer의 입장을 가져아 할지, scientist의 입장을 가져야 할지 잘 선택해라. engineer는 일단 주어진 시간 안에 문제를 해결해야 하고, scientist는 시간이 오래 걸리더라도 원론적인 부분부터 공부 한다.
- awareness 확대 : 자신이 누구인지 알려라.
- networking : 사람들과의 네트워킹을 통해 자신의 존재를 알리고, 기회를 만들어라.
특히 대학생들의 입장에서 목표를 설정하고 학생에게 무료로 풀려있는 AI 툴이 많으니 적극적으로 활용해 볼 것을 추천하셨습니다. AI 시대의 능력자란 목표가 있고 다양한 도구를 잘 활용하는 사람이라고 하셨습니다. 이런 능력자가 되려면 직접 여러 툴을 사용해보고 자신의 생산성이 어떻게 변화하는지 경험해보는 것이 중요합니다.
신입의 포트폴리오
임원의 입장에서 신입 개발자가 어떤 자세와 포트폴리오를 가지고 있으면 눈이 가는지에 대한 질문도 있었습니다. 신입의 자소서에는 이 회사에서 성장하고 싶다는 의지가 보이는 것보단 이 회사에게 어떤 가치를 줄 수 있는지에 대한 내용이 더 중요하다고 하셨습니다. 회사는 학교가 아니라 이익을 추구하는 곳이기 때문에, 회사가 원하는 가치를 제공할 수 있는 인재가 되어야 합니다. 이를 위해서는 그 회사에 대한 충분한 조사와 연구가 필요합니다. 회사가 어떤 문제를 가지고 있는지, 어떤 기술을 사용하는지, 어떤 기술을 도입하고 있는지 등을 조사하고, 그 문제를 해결할 수 있는 기술을 제시할 수 있어야 합니다. 회사의 내부 정보에 대해서 알기 힘든 경우 경력직 채용 공고를 보면 어떤 기술이 필요하다고 자세히 명시해둔 경우가 많기 때문에 이를 참고하면 좋습니다.
또, 만약 해외기업을 노리고 있다면, self-study를 할 수 있는 능력이 필요하다고 하셨습니다. 하나의 예시로 Oracle은 신입을 뽑지 않는 기업인데, 한 한국의 대학생이 Oracle의 제품에 관한 전세계적인 커뮤니티를 만들고 직접 관리하며 소통을 해서 본사의 눈에 띄어 신입이지만 예외적으로 채용이 된 사례가 있었습니다.
마치며
이번 강연을 통해 개발자로서의 기본기를 다지는 것이 얼마나 중요한지 다시 한번 깨달았습니다. 기초가 튼튼한 개발자가 되어야 하고, 생산자가 되어야 하며, AI 시대에 필요한 역량을 갖추어야 한다는 것을 느꼈습니다. 지금까지 해오던 알고리즘 공부, CS 공부, 블로그 글쓰기 등 이 모든 것이 결국은 나중에 큰 도움이 될 것이라는 확신을 가지게 되었습니다. 앞으로도 계속해서 기초를 다지고, 생산자로서의 자세를 유지하며, AI 시대에 필요한 역량을 갖추기 위해 노력해야겠습니다.