몇 년 후 소프트웨어는 정말 형편없어질 것이다…
개발자 파이프라인의 조용한 붕괴와 AI가 우리를 제때 구해주지 못할 이유
원 글 : Software Will Really ■■■■ in a Few Years… The Silent Collapse of Developer Pipelines and Why AI Won’t Save Us in Time
출처 : https://javascript.plainenglish.io/software-will-really-■■■■-in-a-few-years-62cc7886da55
글쓴이 : Mark Henry
[아래는 구글번역 입니다.]
최근 한 창업자와 통화를 했는데, 그는 반쯤 농담조로, 반쯤은 겁에 질린 목소리로 "AI가 곧 주니어 개발자를 대체할 테니 우리는 주니어 개발자를 채용하지 않을 거예요, 그렇죠?"라고 말했습니다.
마치 커튼이 이미 검게 변해가고 있는데도 "집에 불이 난 건 아니겠죠?"라고 묻는 것과 같은 어조였습니다.
이런 사고방식이 도처에 만연해 있습니다.
그리고 바로 이런 사고방식 때문에 향후 몇 년 동안 소프트웨어는 심각하게 망할 것입니다.
세상이 AI를 마치 "다음 분기"에 나타날 전지전능한 코딩의 신처럼 숭배하는 동안, 기업들은 조용히 소프트웨어를 제대로 유지시켜주는 생태계, 즉 진정한 개발자, 진정한 멘토링, 그리고 성장하는 사람들에게 투자되는 진정한 시간을 파괴하고 있습니다.
실제로 무슨 일이 벌어지고 있는지 자세히 살펴보겠습니다.
- 아무도 이야기하고 싶어 하지 않는 인재 불모지
업계는 이상한 과도기에 빠져 있습니다.
경영진은 감당할 수 없는 투자를 하고, "AI가 알아서 할 거야"라며 인적 자원 문제를 외면하고 있습니다.
그 와중에
신입 채용은 정체되었고,
인턴십은 사라지고 있으며,
멘토링은 의무가 아닌 사치로 여겨지고 있습니다.
하지만 아이러니하게도 소프트웨어 수요는 줄어들지 않았습니다.
오히려 그 반대입니다.
기업들은 여전히 당장 기능을 구현하고, 오늘 버그를 수정하고, 내일 새로운 제품을 출시하기를 원합니다.
그리고 기업들이 신입 인력을 교육하는 것을 꺼리기 때문에, 누가 피해를 보고 있을까요?
바로 시니어, 미드레벨, 그리고 업계에서 오랫동안 경험을 쌓아온 사람들입니다.
축하합니다. 이제 여러분이 바로 전체 인력 공급망의 전부가 된 것입니다.
- AI 신기루: 과대광고, 저조한 성과, 그리고 모두의 주의를 분산시키는 존재
AI는 분명 인상적이고 유용하며, 빠르게 발전하고 있습니다.
하지만 지금은 어떨까요?
AI는 전문적인 감독 없이는 안정적이고 안전하며 상용화 가능한 시스템을 구축하지 못하고 있습니다.
오히려 AI는
아무도 원하지 않는 새로운 브라우저를 만들어내고,
아무도 유지보수하지 않을 틱톡 아류작들을 만들어내고,
그리고 기업의 업무 흐름 하나라도 개선하기 전에 성인 산업을 공상과학 영화 속 세상으로 몰아넣고 있습니다.
이것은 경영진이 꿈꾸는 인력 대체 엔진이 아닙니다.
하지만 경영진은 마법의 해결책이 곧 나타날 것이라고 생각하며 전략적 채용을 잠시 중단하고 있습니다. 그 결과, 대규모 인재 부족 현상이 발생하고 있습니다.
- 인터넷을 실제로 운영하는 사람들을 소진시키는 행위
기업이 주니어 엔지니어 채용을 건너뛴다고 해서 일이 사라지는 것은 아닙니다.
오히려 상위 직급으로 업무가 전가됩니다.
시니어 엔지니어들이 부족한 부분을 메우고, 더 많은 PR을 검토하고, (겨우 채용된 소수의) 신입 직원 교육을 담당합니다.
시스템을 설계하고, 골치 아픈 버그를 디버깅하고, 이메일로 충분했을 끝없는 회의에 참석합니다.
결국, 그들은 마치 배를 띄우면서 엔진, 선장, 항해사, 그리고 덕트 테이프로 구멍을 막는 사람까지 모두 되어야 하는 상황에 놓입니다.
이런 식으로 직원들은 주 80~100시간씩 일하게 됩니다.
소진이 일상이 되고,
엄청나게 유능한 엔지니어들이 "그냥 농장이나 차릴래"라고 생각하며 떠나갑니다.
그리고 그들이 떠나면, 그 자리를 채울 사람이 아무도 없습니다.
- 인간의 성장은 멈출 수 없다
이 부분이 정말 놀랍습니다.
프로젝트는 일시 중단할 수 있습니다. 예산도 일시 중단할 수 있습니다. 구독도 일시 중단할 수 있습니다.
하지만 주니어 개발자가 유능한 시니어 개발자로 성장하는 데 걸리는 시간은 멈출 수 없습니다.
오늘날 유능한 엔지니어, 즉 아키텍트, 스태프 엔지니어, CTO, 심지어 전설적인 "10배 생산성 개발자"까지도 모두 한때 "Vim 종료 방법"을 구글에서 검색했던 사람입니다.
만약 기업들이 지금 주니어 개발자 교육을 중단한다면, 5년 후에는 무슨 일이 일어날 거라고 생각하는 걸까요?
기적이라도 일어날까요?
완벽하게 성장한 시니어 개발자들이 갑자기 나타날까요?
인공지능이 갑자기 의식을 갖게 되어 버그나 망상 없이 완벽한 코드를 작성할까요?
우리는 인간의 재능이 소프트웨어처럼 작동한다고 착각하고 있습니다. 마치 업데이트를 중단했다가 나중에 다시 시작할 수 있는 것처럼 말이죠.
하지만 그렇지 않습니다.
- 다가오는 급변: 우리가 자초하고 있는 미래
거의 아무도 생각하지 않는 부분이 있습니다.
이대로 계속된다면
시니어 개발자들은 소진되어 회사를 떠납니다.
주니어 개발자들은 아예 업계에 발을 들여놓지 않습니다.
미드레벨 개발자들은 과중한 업무에 시달리다 정체됩니다.
그다음은 어떻게 될까요?
기업들은 결국 패닉에 빠질 것입니다. AI의 물결은 약속했던 만큼 강력하거나 자율적이지 않을 것입니다.
프로젝트는 쌓이고, 마감일은 계속 미뤄질 것입니다.
갑자기 채용 열풍이 불어닥칩니다. 하지만 이제
숙련된 개발자는 부족해집니다.
급등하는 연봉.
기업들이 아무나 고용하기 때문에 품질은 곤두박질칩니다.
이 모든 것은 인재에 꾸준히 투자했더라면 막을 수 있었을 것입니다.
- 인위적인 평범함의 악순환
또 다른 간과되는 문제점은 AI 모델이 AI가 생성한 코드로 학습되는 경우가 점점 늘어나고 있다는 것입니다.
이로 인해 다음과 같은 악순환이 발생합니다.
AI가 평범한 코드를 생성한다.
그 코드가 스크래핑된다.
AI는 자신이 생성한 코드로 학습한다.
결과물의 품질은 점차 평균 이하로 떨어지거나 악화된다.
이는 마치 복사본을 천 번 복사하는 것과 같은 프로그래밍 방식입니다. 선명도가 사라지고,
예외적인 상황들이 드러나지 않으며, 코드의 완성도가 떨어집니다.
인간 엔지니어, 특히 통찰력 있고 순진한 질문을 던지는 주니어 엔지니어들이 이러한 악순환을 막아줍니다.
그들은 기존의 가정에 의문을 제기하고, 시니어 엔지니어들이 특정 방식으로 코드를 작성하는 이유를 명확히 설명하도록 유도합니다.
그들은 우리가 미처 알아채지 못한 패턴을 발견합니다.
하지만 기업들은 이러한 엔지니어들을 비용으로만 여깁니다.
- 자, 이제 어떻게 해야 할까요? 이 혼란을 막기 위한 실질적인 조치
비관적인 이야기는 이제 그만하고 해결책을 논의해 봅시다.
회사라면
주니어 개발자를 의도적으로 채용하세요. 자선 활동처럼 대하지 마세요. 그들은 당신의 미래입니다.
진정한 멘토링 체계를 구축하세요. 시니어 개발자에게 충분한 시간을 보장하여 업무 부담을 덜어주세요.
AI가 기본적인 문제를 해결해 줄 거라고 기대하지 마세요. 그런 일은 일어나지 않을 겁니다.
문서화와 지식 공유에 투자하세요. 암묵적인 지식은 취약점입니다.
시니어 개발자라면
최소 한 명의 주니어 개발자를 가르치세요. 기술 개발을 지켜나가세요.
미래의 자신(또는 후임자)을 위해 모든 것을 문서화하세요.
진입 장벽을 세우지 말고, 안내하세요.
주니어 또는 개발자 지망생이라면
이 부분이 매우 중요합니다. 이 시대를 살아남을 수 있기 때문입니다.
실제로 문제를 해결하는 프로젝트를 만드세요. 단순히 복제하거나 튜토리얼을 만드는 것이 아닙니다.
기본기를 깊이 있게 익히세요. 기본기는 어떤 도구보다도 오래갑니다.
자신의 생각을 공개적으로 공유하세요. 블로그, 깃허브, 동영상 등 무엇이든 활용하세요.
AI를 진정한 이해와 결합하세요. AI를 도구로 사용하고, 가르치는 도구로 사용하지 마세요.
다른 개발자들과 네트워크를 구축하세요. 기회는 알고리즘이 아닌 사람에게서 나옵니다.
그리고 가장 중요한 것은
계속해서 노력하세요. 이 채용 부진은 영원히 지속되지 않을 것입니다.
채용 시장이 다시 활기를 되찾을 때(분명 그럴 것입니다), 당신은 준비되어 있어야 합니다.
결론적으로
소프트웨어가 형편없어지는 이유는 AI 때문이 아닙니다.
소프트웨어가 형편없어지는 이유는 바로 우리가 소프트웨어를 훌륭하게 유지시켜주는 인간적인 프로세스를 버리고 있기 때문입니다.
우리는 존재하지도 않는 의존성을 만들어내는 방법조차 제대로 익히지 못한 기술에 산업 전체의 미래를 걸고 있습니다.
진정한 개발자들의 성장을 저해하고, 팀에서 멘토링을 빼앗아 가고 있으며, 모든 것을 지탱해주는 시니어 개발자들을 소진시키고 있습니다.
이러한 상황은 충분히 피할 수 있습니다. 하지만 해결책이 바로 눈앞에 있는 것처럼 착각하는 것을 멈춰야만 합니다.
동의하시나요? 제가 완전히 틀렸다고 생각하시나요? 자신만의 끔찍한 경험이 있으신가요?
진심으로 여러분의 생각을 듣고 싶습니다.
댓글을 남겨주세요. 친구에게 공유해주세요.
팀원들과 토론해 보세요.
그리고 이 글이 유용했다면 나중에 다시 볼 수 있도록 저장해 두거나, 이 글이 필요한 주니어 개발자에게 공유해 주세요.
좋은 소프트웨어의 미래는 여러분과 같은 분들이 이 대화에 참여해 주시는 데 달려 있습니다.