소프트웨어 개발에 대한 AI의 영향에 대한 진실

소프트웨어 개발에 대한 AI의 영향에 대한 진실

시간이 지나면서 수동으로 코드를 작성하는 사람이 더 적어질 것입니다. 하지만 소프트웨어 개발에 대한 AI의 실제 영향은 무엇일까요? 그리고 여기서 로우코드의 역할은 무엇일까요?

5min read

올해 초 두바이에서 열린 세계 정부 회의에서 Nvidia CEO인 Jensen Huang은 흥미로운 발언을 했습니다. “지난 10~15년 동안 무대에 서 있는 거의 모든 사람이 자녀가 컴퓨터 과학을 배우는 것이 중요하다고 말하곤 했습니다. 모두가 프로그래밍을 배워야 한다고 말입니다. 그런데 실제로는 정반대입니다.” 이 발언이 주목을 받았을까요? 어느 정도는 그렇습니다.

하지만 그가 맞을까요? 완전히 맞지는 않습니다. 왜냐하면 현실은 더 복잡하고, 소프트웨어 개발 일자리에 대한 AI의 영향은 여전히 관찰되고 논의되고 있기 때문입니다.

생성형 AI, 로우코드, & 개발의 새로운 시대

현재 Qodo(이전 CodiumAI)와 같은 자율형 생성형 AI 시스템이 있으며, 코드 생성, 단위 테스트 작성, 문서 작성을 위한 AI 어시스턴트를 제공합니다. 그 다음으로 App Builder와 같은 로우코드 도구가 있으며, 이는 AI 기능(App Builder AI), UI 컴포넌트, 코드 생성 등을 제공하여 개발 사이클을 간소화합니다.

더 읽기 App Builder AI: 앱 개발을 어떻게 간소화하는가

AI 기반 코드 생성 도구가 이미 개발자가 코드를 작성하는 방식을 수정했지만, 소프트웨어 개발 일자리의 완전한 인수를 관찰하기까지 갈 길이 멉니다. 소프트웨어 개발 동향이 크게 변했음에도 불구하고 현재로서는 AI 혁명이라고 보기 어렵습니다.

진실은 AI가 개발자의 역할을 제거하기보다는 다음과 같은 방식으로 증강합니다:

  • 경험이 적은 프로그래머에게 전문가 개발자보다 더 많은 영향을 미칩니다

  • 팀이 아키텍처 방향과 품질 검사를 수행해야 합니다

  • 주니어 개발자가 일상적이고 반복적인 작업을 처리할 수 있게 합니다

  • 프로그래밍 속도를 높입니다 – 더 빨리 더 많은 코드를 작성합니다

  • 다음 생산성 붐을 이끌지만 역량 강화와 적응을 요구합니다

  • 비즈니스 가치, 민첩성, 성장을 축적합니다

따라서 컴퓨터 프로그래밍은 여전히 대부분 인간 중심의 추구가 될 것으로 예상됩니다. 그리고 Jensen Huang이 말한 것 중에서 제가 동의하는 것이 있다면, 이것입니다: “이제 세상의 모든 사람이 프로그래머입니다. 이것이 인공지능의 기적입니다. 이제 당신은 당신이 말한 대로 하도록 컴퓨터를 가지고 있습니다.” 그럼에도 불구하고, 인간의 역량과 능력은 소프트웨어 개발의 핵심에 남아 있습니다.

app builder ai and impact of ai on software development

McKinsey가 생성형 AI의 경제적 잠재력 보고서에서 지적한 바와 같습니다: “생성형 AI의 시대가 이제 시작되었습니다. 이 기술에 대한 흥분은 두드러지며, 초기 파일럿은 매력적입니다. 하지만 기술의 이점을 완전히 실현하려면 시간이 걸릴 것이며, 비즈니스와 사회의 리더는 여전히 해결해야 할 상당한 과제가 있습니다. 여기에는 생성형 AI에 내재된 위험 관리, 워크포스가 필요로 할 새로운 기술과 역량 결정, 재교육 및 새로운 기술 개발과 같은 핵심 비즈니스 프로세스 재고가 포함됩니다.”

소프트웨어 개발자의 변화하는 역할

일부는 처음에 생성형 AI와 로우코드 플랫폼이 전통적인 프로그래머를 대체하고 코딩 기술을 쓸모없게 만들 수 있다고 우려했으며, 이는 오해입니다. 반대로 로우코드 개발과 AI는 반복적인 작업을 자동화하여 개발자가 핵심 비즈니스 로직과 기능 개발에 더 집중할 수 있도록 함으로써 프로세스를 간소화하고, 반복적인 기술 작업과 협업 문제에 소비하는 시간을 줄입니다.

McKinsey는 다음과 같이 지적합니다: “생성형 AI는 개별 근로자의 능력을 증강하고 그들의 일부 활동을 자동화함으로써 업무의 해부학을 변경할 가능성이 있습니다. 생성형 AI 및 기타 기술은 현재 직원의 60~70%의 시간을 차지하는 업무 활동을 자동화할 가능성이 있습니다.”

결과적으로 소프트웨어 개발에 대한 AI의 영향으로 기술 및 비기술 기술의 혼합을 육성하는 전환이 있습니다. 개발자는 이해관계자와의 격차를 메우고, 요구사항을 모듈식 컴포넌트로 번역하고, 자동화를 가장 효율적으로 적용할 수 있는 위치와 방법을 식별하는 방법을 배웁니다.

The Truth About The Impact of AI on Software Development

더욱이 로우코드 플랫폼과 AI를 통해 더 이상 기술 전문가뿐만 아니라 비기술 인력도 포함하여 더 광범위한 전문가 풀에 더 많은 기회가 제시되고 있습니다. 왜냐하면 이러한 도구는 수동 코딩의 필요성을 제거하기 때문입니다. 우리는 앱 개발에 점점 더 참여하고 있는 시민 개발자의 증가를 봅니다. C-level 임원과 이해관계자는 로우코드 도구를 fusion 팀을 함께 가져오고 개발 생산성을 향상시키는 도구로 사용하는 방법을 배웁니다.

한편 개발자의 역할은 이제 로우코드 프로젝트의 감시, 코드 검사(App Builder와 같은 로우코드 도구가 Angular, Blazor, Web Components, React와 같은 인기 프레임워크용 코드를 생성하므로), 모범 사례 안내, 그리고 더 많은 것을 포함합니다.

그러면 프로그래머의 일자리 보안이 위험에 처해 있을까요?

아직 아닙니다. AI 제한사항이 있기 때문입니다. AI 발전과 로우코드 개발은 일자리 보안에 직접적인 위협이 되지 않지만, 개발자가 수행하는 작업의 유형을 전환합니다. 이러한 플랫폼이 반복적인 코딩 작업을 자동화하는 동안, 개발자는 여전히 로우코드 솔루션이 독립적으로 처리할 수 없는 복잡한 시스템 설계, 사용자 지정, 높은 수준의 통합에 필수적입니다.

수동 코딩의 감소된 필요성은 개발자가 아키텍처, 문제 해결, 프로젝트 라이프사이클 내의 더 전략적인 역할과 같은 높은 가치의 작업에 집중하도록 해줍니다. 회사가 배송을 가속화하기 위해 AI와 로우코드를 점점 더 채택함에 따라, 이러한 플랫폼을 최적화하고 확장하는 방법을 이해하는 개발자는 여전히 중요합니다. 그들의 전문 지식은 AI 기반 워크플로우를 안내하고 관리하는 역할로 발전하여, 따라서 일자리 보안을 향상시킵니다.

AI와 로우코드가 개발 워크플로우에 어떤 영향을 미칠까요?

로우코드와 AI의 소프트웨어 개발 일자리에 대한 영향은 다음과 같이 작동합니다 – 더 빠른 프로토타이핑을 활성화하고, 초기 코딩 작업 부하를 줄이고, 이해관계자가 초기에 검토할 수 있는 시각적인 종종 WYSIWYG 인터페이스를 통해 피드백 사이클을 단순화함으로써 워크플로우를 간소화합니다. 더 협업적이고 반복적인 개발을 가능하게 함으로써 워크플로우를 변경합니다. 비개발자가 기여할 수 있으며, 이는 요구사항 수집과 초기 단계 수정을 가속화합니다.

하지만 이러한 자동화 플랫폼은 생성된 컴포넌트가 더 광범위한 아키텍처 및 성능 표준과 일치하는지 확인하기 위해 감시가 필요합니다. 전반적으로 프로젝트 타임라인을 가속화하지만, 개발자가 사용자 지정 및 최적화를 위해 가끔 개입해야 하므로 균형을 요구합니다.

AI가 소프트웨어 개발에서 할 수 있는 것 (그리고 할 수 없는 것)

현재 AI를 통한 코딩은 최적이 아직 아닙니다. AI와 로우코드가 작동하는 컨텍스트 제한이 여전히 있습니다. 이러한 도구는 작고, 간단하고, 독립적인 코드 조각을 생성하는 데 가장 적합하며, 이는 프로그래밍 모범 사례에 부합합니다 – 재사용 가능하고, 간단하고, 모듈식의 코드를 작성합니다.

측면

생성형 AI

로우코드

코딩 접근 방식

NLP 모델을 사용할 때 확률론적 모델

결정론적 모델

코드 생성 일관성

동일한 질문을 여러 번 물어도 결과가 다릅니다

동일한 작업에 대해 동일한 출력을 생성하여 일관성을 보장합니다

사용 범위

작고, 간단하고, 독립적인 코드 스니펫을 생성하는 데 가장 적합합니다

자동화되고 일관된 end-to-end 솔루션을 구축하기에 적합합니다

컨텍스트 인식

코드 스니펫이 더 큰 시스템에 어떻게 통합되는지 이해가 부족합니다

전체 시스템에 대한 포괄적인 이해로 작동하여 응집력 있는 코드 솔루션을 생성할 수 있습니다

모범 사례와의 정렬

모듈식이고 재사용 가능한 코드 작성을 지원하지만 전체적인 프로젝트 인식이 부족합니다

시스템 개발에 대한 일관된 접근 방식을 보장하여 자동화된 프로그래밍 사례를 준수합니다

제한사항

컨텍스트에 의해 제한되어 복잡한 통합 및 사용자 지정을 위해 인간의 개입을 필요로 합니다

완전히 사용자 지정 가능한 솔루션을 제공할 수 없지만 체계화되고 구조화된 개발에서 탁월합니다

Zdravko Kolev, 여기 Infragistics의 제품 개발 관리자는 다음과 같이 지적합니다: “시니어 개발자가 AI를 더 효과적으로 사용합니다 – 더 나은 질문을 하고, 그 결과로 더 나은, 더 구체적인 답변을 받습니다. 컨텍스트를 적게 제공하는 주니어 개발자는 더 일반적인 응답을 받는 경향이 있습니다. Gen AI 또는 로우코드 솔루션을 사용하는 것은 반복적인 작업에 매우 유익합니다. 왜냐하면 우리는 일반적이고 기존의 기능을 얻기 때문에 개발자를 더 생산적으로 만듭니다. 이를 통해 더 짧은 시간에 더 빠르고 높은 품질의 출력을 가능하게 합니다.”

소프트웨어 개발에 대한 AI의 영향이 덜 심각하는 동안, 로우코드(매우 강력하지만)는 완전히 사용자 지정 가능한 솔루션을 제공할 때 특정 제한사항이 여전히 있습니다. 따라서 개발자는 쓸모없게 될 위험에 처해 있지 않습니다.

프로그래밍의 품질 및 보안은 어떻게 될까요?

AI의 일자리에 대한 영향은 더 빠른 소프트웨어 출시를 촉진합니다. 이것은 AI가 작성된 소프트웨어의 양을 증가시키지만 반드시 품질을 증가시키지는 않습니다. 결과는 종종 고성능 미션 크리티컬 앱에 필요한 품질과 구조 없이 유지하기 어려운 스파게티 코드입니다.

시간이 지나면서 수동으로 코드를 작성하는 사람이 더 적어질 것입니다. 특히 프론트엔드 솔루션의 경우 로우코드는 짧은 시간에 상당한 가치를 제공합니다. 개발자는 점점 더 올바른 질문을 하여 더 높은 품질의 코드를 생성하는 방법을 알아야 할 것입니다. 결국, 소프트웨어 개발에 대한 AI의 영향은 개발자가 숙련된 프롬프트 엔지니어로 진화하도록 촉구할 것이며, AI 또는 로우코드 도구를 원하는 결과를 달성하도록 정확히 안내하는 방법을 알아야 합니다.

그럼에도 불구하고 회사는 여전히 코드를 이해하고 프로그래밍 개념을 이해하고 검토하고 유지보수하고 앱이 모범 사례, 아키텍처 원칙, 코딩 표준을 충족하는지 확인할 수 있는 사람이 필요합니다.

App Builder and impact of AI on software development

로우코드

ai low code app builder app builder ai low code low code ai