AI 시대를 살아가는 개발자의 생존 전략 — 실무에서 얻은 답
이 글은 시리즈의 마지막이다. AI가 바꾼 개발자의 세계에 대해 네 편의 글을 통해 이야기했다. 책임의 문제, 학습 방식의 변화, 언어의 필요성, 그리고 기술 업계의 과대광고. 모두 현재 진행형이고, 모두 앞으로 더 복잡해질 것이다.
그렇다면 개발자로서 우리는 무엇을 해야 할까? 특히 이미 10년, 20년을 개발자로 살아온 내 입장에서, 혹은 이제 시작하는 주니어들의 입장에서.
내 답은 간단하지 않지만, 명확하다.
먼저 당신이 이미 가진 것을 인식하라
AI 시대라는 말에 많은 개발자들이 불안해한다. "내 기술이 곧 쓸모없어지지 않을까?" 하지만 내가 본 바로는, 이런 불안감은 대부분 과하다.
당신이 5년 이상 개발자로 일했다면, 당신은 이미 AI가 쉽게 대체할 수 없는 것들을 알고 있다. 그것은 기술 자체가 아니라, 기술을 활용하는 방식이다. 즉, 경험이다.
예를 들어 당신이 복잡한 레거시 시스템을 관리해본 경험이 있다면? 그것은 매우 귀하다. AI는 새로운 코드를 빠르게 생성할 수 있지만, 10년된 레거시 코드베이스의 미묘한 문제들을 이해하지 못한다. 당신의 경험이 필요하다.
당신이 팀을 이끈 경험이 있다면? 그것도 귀하다. AI는 코드를 짤 수 있지만, 사람들 사이의 갈등을 해결할 수 없다. 팀의 문화를 만들 수 없다. 진정한 리더십을 발휘할 수 없다.
당신이 사용자의 필요를 이해하고 그에 맞는 기술을 찾아본 경험이 있다면? 그것도 중요하다. AI는 "기술적으로 가능한" 것을 찾을 수 있지만, "실제로 필요한" 것을 찾을 수 없다. 그것은 사람이 하는 일이다.
내가 개발자로 오래 일하며 배운 가장 큰 교훈은 이것이다: 기술은 시간과 함께 변한다. 하지만 좋은 개발자가 되기 위해 필요한 것들은 변하지 않는다.
기술 선택에 있어서 현명하기
매년 새로운 프레임워크, 새로운 언어, 새로운 아키텍처가 나온다. 모두 배우려고 하면 지친다. 더 중요한 건, 모두 배울 필요가 없다.
내가 추천하는 원칙은 이것이다:
깊이 있게 배우되, 폭넓게 관심을 가져라.
깊이란 무엇인가? 당신이 주로 사용하는 언어나 프레임워크에서 정말 깊이 있는 이해를 가지라는 뜻이다. React를 사용한다면, 단순히 JSX 문법을 아는 것을 넘어서 React의 내부 구현, 렌더링 메커니즘, Fiber 아키텍처까지 이해하라. 이런 깊이가 당신을 진정한 전문가로 만든다.
폭이란 무엇인가? 다른 언어, 다른 패러다임도 살펴보라는 뜻이다. 당신이 JavaScript 개발자라면, Python이나 Rust도 살펴보자. 함수형 프로그래밍도 배우자. 이런 다양성이 당신의 사고를 확장시킨다.
그리고 AI 시대에는 이런 균형이 더욱 중요해진다. 깊이 있는 전문가만이 AI의 제안을 비판적으로 검토할 수 있다. 폭넓은 지식만이 당신에게 새로운 기회를 만들어준다.
문제를 푸는 능력을 키워라
개발자의 가장 중요한 능력은 무엇인가? 나는 특정 언어를 잘 다루는 것이 아니라고 생각한다. 그것은 "문제를 푸는 능력"이다.
새로운 요청이 들어왔다. 그것을 어떻게 분해할 것인가? 어떤 기술을 사용할 것인가? 어떻게 테스트할 것인가? 이런 능력들이 진정한 개발자의 역량이다.
AI 시대에도 이것은 변하지 않는다. 오히려 더 중요해진다. ChatGPT가 코드를 생성할 수 있지만, 어떤 코드가 필요한지 판단하는 것은 여전히 당신의 일이다. 그 판단을 하려면, 문제를 깊이 이해해야 한다.
실제로 나는 팀에서 점점 더 이런 역할을 요구하는 경향을 본다. "어떻게 코딩하는가"보다 "어떤 문제를 풀어야 하는가"에 대한 질문이 많아졌다.
당신의 판단을 믿되, 항상 검증하라
앞의 네 글들에서 반복한 메시지가 이것이다. AI는 빠르다. AI는 편하다. 하지만 AI가 맞다는 보장은 없다.
개발자로서 당신이 가져야 할 기본 자세는 "의심"이다. 당신이 직접 작성한 코드도, AI가 생성한 코드도, 스택 오버플로우의 답변도 모두 의심하라. 왜? 당신이 그것을 이해했는지 확인하기 위해서다.
이것은 느리고 비효율적으로 보일 수도 있다. 하지만 장기적으로는 매우 효율적이다. 왜냐하면 당신은 코드를 정말 이해하게 되기 때문이다. 그리고 나중에 버그가 나거나 요구사항이 변할 때, 당신은 빠르게 대응할 수 있다.
구체적인 팁:
- AI가 생성한 코드를 받으면, 먼저 그것을 이해하기 위해 직접 실행해보자.
- 엣지 케이스를 생각해보자. AI가 생각하지 못한 경우는 뭘까?
- 보안 관점에서 생각해보자. 이 코드가 악의적인 입력으로부터 안전한가?
- 성능 관점에서 생각해보자. 대규모 데이터에서도 작동할까?
사람과의 관계를 소중히 하라
기술이 빠르게 변한다는 것은 사실이다. 하지만 변하지 않는 것도 있다. 그것은 사람이다.
당신이 일해온 회사들을 생각해보자. 가장 기억에 남는 것은 무엇인가? 아마도 훌륭한 동료들, 좋은 관리자, 함께 문제를 풀었던 팀원들일 것이다. 기술은 잊혀지지만, 사람은 잊혀지지 않는다.
AI 시대에도 이것은 진실이다. 혼자 수행할 수 없는 일들이 많다. 복잡한 시스템을 설계해야 할 때, 어려운 결정을 내려야 할 때, 실패를 극복해야 할 때. 이런 순간들에 당신은 좋은 동료들이 필요하다.
또한 사람과의 관계를 통해 당신은 기술의 발전을 따라갈 수 있다. 좋은 동료들과 함께 있으면, 자연스럽게 새로운 기술도 배우고, 새로운 아이디어도 얻는다. 이것이 가장 효과적인 학습 방식이다.
끊임없이 배워라, 하지만 현명하게
개발자로서 평생 학습은 필수다. 세상이 너무 빠르게 변하니까. 하지만 모든 것을 배워야 한다는 강박감은 버려라.
대신 이렇게 접근하자:
- 당신의 약점을 파악하자. 당신이 모르는 것이 정확히 뭔가? 그것부터 배워라.
- 깊이 있게 배우자. 천박하게 많은 것을 배우는 것보다, 적더라도 깊이 있게 배워라.
- 실전에서 배워라. 책만 읽지 말고, 직접 코드를 짜보자. 실패해보자. 그 과정에서 정말로 배워진다.
- 배운 것을 공유하자. 당신이 배운 것을 블로그에 쓰거나, 동료들과 나누자. 그 과정에서 당신은 더 깊이 이해하게 된다.
당신의 원칙을 정하라
개발자로서 당신이 어떤 사람이 되고 싶은가? 이것은 중요한 질문이다. 왜냐하면 기술은 변하지만, 원칙은 당신을 인도하기 때문이다.
내 원칙은 이렇다:
- 나는 정직한 코드를 쓴다. 겉으로만 작동하는 코드가 아니라, 진정으로 문제를 푸는 코드.
- 나는 내가 작성한 코드에 책임을 진다. AI가 도와줬든 아니든, 최종 책임은 내 것이다.
- 나는 팀원들을 도운다. 기술을 독점하지 않고, 함께 성장한다.
- 나는 사용자를 항상 생각한다. 기술적으로 멋진 것보다, 실제로 필요한 것을 만든다.
- 나는 끝없이 배운다. 하지만 무엇이든 배우는 것이 아니라, 의도적으로 선택하며 배운다.
당신의 원칙은 무엇인가? 정하지 않았다면, 지금 정하자. 그것이 당신을 개발자로서 지켜줄 것이다.
미래를 두려워하지 말되, 대비하라
AI 시대가 정말로 온다. 혹은 이미 왔다. 당신의 현재 기술이 몇 년 뒤에도 가치가 있을지는 모른다. 당신의 현재 직업이 존재할지도 모른다.
하지만 이것은 새로운 일이 아니다. 내가 개발자로 시작할 때, 많은 프로그래밍 언어들이 죽어갔다. COBOL은 여전히 존재하지만, 매우 한정된 영역에서만이다. Flash는 완전히 사라졌다. C++은 옛날 언어라고 했지만, 여전히 매우 중요하다.
변화는 항상 불안하다. 하지만 변화는 항상 기회를 만든다. 오래된 기술이 사라지면, 새로운 기술이 나온다. 새로운 기술을 배우는 개발자는 그 기회를 잡을 수 있다.
따라서 미래를 두려워하지 말고 대비하자. 당신이 이미 가진 능력을 알아라. 당신의 원칙을 정하라. 끊임없이 배워라. 그러면 당신은 어떤 미래가 와도 살아남을 것이다.
결론: 당신은 여전히 필요하다
AI가 코드를 쓸 수 있다고 해서, 개발자가 필요 없는 것은 아니다. 오히려 반대다. 좋은 개발자는 더 필요해졌다.
왜냐하면 AI가 가능해진 만큼, 더 복잡한 문제들을 풀어야 하기 때문이다. 단순한 CRUD 애플리케이션은 AI가 만들 수 있다. 하지만 복잡한 아키텍처 설계, 성능 최적화, 보안 강화, 사용자 경험 개선 같은 것들은 여전히 사람의 일이다.
내가 10대 때 프로그래밍을 시작한 이유는 간단했다. 컴퓨터를 좋아했고, 코드를 짜는 것이 재미있었기 때문이다. 오랜 시간이 지난 지금도 그 감정은 변하지 않았다. 물론 기술은 바뀌었고, 도구도 바뀌었다. 하지만 문제를 푸는 그 즐거움은 여전하다.
당신이 개발자라면, 혹은 개발자가 되고 싶다면, 이 글을 읽고 있는 지금이 좋은 시간이라고 생각한다. 왜냐하면 변화의 한복판이기 때문이다. 변화 속에서 당신은 뭔가 배울 수 있다. 당신은 뭔가 만들 수 있다. 당신은 미래를 형성할 수 있다.
그리고 가장 중요한 것: 당신은 여전히 필요하다. AI는 도구일 뿐이고, 도구를 쓰는 것은 사람이다. 좋은 도구를 쓸 줄 아는 사람이 필요하다. 그 사람이 바로 당신이다.
앞으로의 여정이 어렵더라도, 기억하자. 당신은 이미 충분히 준비되어 있다. 당신이 한 것들, 배운 것들, 겪은 것들. 모두 당신을 더 좋은 개발자로 만들었다. 그리고 이것부터가 시작일 뿐이다.