일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 인터페이스
- SQL
- 자바
- IntelliJ
- Linux
- JPA
- git
- 호이스팅
- mssql
- 오블완
- 리눅스
- top
- 차이점
- PostgreSQL
- mysql
- 명령어
- DBMS
- group by
- Javascript
- MongoDB
- rsync
- 트랜잭션
- java
- docker
- MariaDB
- oracle
- 추상클래스
- spring
- 티스토리챌린지
- analytics4
- Today
- Total
hanker
개발자와 AI의 관계, 개발자들이 풀어 나가야 할 숙제 본문
인공지능(AI)의 발전은 개발자들의 작업 방식에도 큰 변화를 불러오고 있다.
특히, ChatGPT, GitHub Copilot, Cursor AI와 같은 AI 기반 코딩 도구들은 개발자가 코드 작성을 더 빠르게 할 수 있도록 돕고 있는데,
이는 모든 면이 긍정적이라고 생각이 들진 않는다.
AI가 개발에 도입되면서 코드 품질, 보안, 학습 능력 저하, 의존성 증가 등 다양한 문제점이 발생한다.
(개발자들을 가끔 보면, 항상 ChatGPT는 켜져 있더라)
무조건 적인 사용금지 글이 아님을 말한다.
이번 글에서는 AI 시대에 개발 방식의 변화와 부작용, 개발자가 이 AI를 어떻게 사용해야 할 지에 대해서 알아보자.
1. AI 의 등장과 개발 방식의 변화
1-1. AI 코딩 도구란?
최근 안쓰는 사람 찾기가 힘들 정도로 모두들 AI 를 이용한다.
종류로는
- Github Copilot, Cursor AI : 코드를 자동 생성하고 함수 및 로직을 제안하는 AI 코딩 도구
- ChatGPT : 코드 오류 수정, 알고리즘 설계, 코드 최적화 지원
등 이러한 도구들은 코드 작성 속도를 높이고, 반복적인 작업을 줄이는데 이는 문제 해결이 매우 빨라진다. (생산성 높아짐)
요새는 안 쓰면 바보라고 하는데, 그만큼 퍼포먼스 측면에서는 매우 강력하다.
나도 불과 몇 일전에 ChatGPT의 다운으로인해 필요한 질문을 하지 못했는데, 예전에 잘만하던 검색을 다시 하려니 너무 귀찮더라..
2. AI 사용의 부작용
2-1. 코드 품질 저하
- AI는 기존에 학습한 코드 패턴을 바탕으로 제안하기 때문에 보안 취약점이 있는 코드를 추천할 가능성이 있음
- 코드 스타일이 일관되지 않거나, 코드 가독성이 낮아질 가능성 있음
2-2. 창의력 저하 및 문제 해결 능력 감소
- 개발자가 직접 문제를 해결하려 하기보다 AI에게 의존하게 될 가능성이 있음
- 이는 개발자의 사고력 저하로 이어진다고 본다.
* AI를 무조건 신뢰하고 의존하면 오히려 개발 능력이 퇴보할 위험이 있다. 검토는 필수 !
* AI는 도움을 주는 도구일 뿐, 대체자가 아니다. 개발자들은 개발 역량은 스스로 키워야 한다.
3. 신입 개발자와 경력 개발자에게 AI가 미치는 영향
3-1. 신입 개발자
장점
- 빠른 학습 속도 : AI가 제공하는 코드 예제를 통해 언어의 문법과 패턴을 빠르게 익힐 수 있다. (보다 쉽게 기술 습득 가능)
- 생산성 향상 : 복잡한 개념을 AI에게 쉽게 설명받을 수 있어 문제 해결 시간이 단축된다.
- 자신감 상승 : 프로세스에 대한 로직 개발에서 막히는 경우에 AI가 피드백을 제공해준다.
- 클린코드 : 최적화 된 코드들을 쉽게 접할 수 있다.
단점
- 기본 개념 부족 : AI가 제공하는 답변을 이해를 못하여 단순하게 복사-붙혀넣기만 하게 된다.
- 디버깅 및 문제 해결 능력 부족 : 이미 AI가 다 해결해주기 때문에, 스스로 문제를 분석하고 해결하는 능력이 떨어질 수 있다.
- 사고 저하 : AI에게 물어보지 않으면 이 코드가 정상적인 코드인지, 비정상적인 코드인지 파악할 수 없음
3-2. 경력 개발자
장점
- 생산성 형상 : 경력 개발자는 AI가 생성한 코드를 평가할 수 있어, 성능, 보안, 유지보수성 등을 고려하여 AI의 답변을 개선하여 사용하면, 빠른 개발이 가능하다.
- 보다 더 높은 수준의 코드 : 단순 코드의 자동 완성이 아니라, 복잡한 문제 해결, 성능 최적화, 코드 리팩토링 등의 작업에서 AI를 더 효과적으로 활용
- 활용 범위 넓음 : 코드 생성뿐만 아니라 문서 작성, 코드 리뷰, 테스트 코드, 로그 분석 등의 다양한 작업에서도 활용
단점
- AI에 대한 불신 : AI에게 답을 구해 코드를 작성해도 믿지를 못해서 검토 과정에서 더 많은 시간을 할애
- AI 활용이 익숙하지 않음 : 대게 신입 개발자들이 AI 활용을 더 잘한다고 본다.
정리
막상 본인만 하더라도 시간이 갈 수록 AI에 대한 의존도가 올라가는 게 느껴진다.
이전에는 개발자를 대체할 수도 있다라는 얘기도 들렸지만, 아직까지는 개발자들은 필요하며 AI는 도구로서 사용될 수 밖에 없다고 본다.
AI의 발전에 따라 신입 개발자들의 필요성이 사라지고 있는 것도 사실이다.
신입 개발자는 어디서 경력을 쌓아야 할까?
예전보다 확실하게 신입 개발자에게 기대 커트라인이 높아진 것 같다는 생각이 든다.
웃기게도 눈이 높아졌음에도 신입 개발자들의 평균 실력은 더 낮아진 느낌이다.
AI가 만들어준 포트폴리오, AI가 설명해준 내용들을 외우긴 했지만, 그 내용이 무엇인지 모르는 상황들이 간혹 있다.
우리 모두 AI를 도구로서 가치있게 활용했으면 한다.
'DEVELOPER INFO' 카테고리의 다른 글
생성형 AI시대에 새로운 직업과 점점 사라지게 될 직업 (1) | 2025.02.03 |
---|---|
딥시크(DeepSeek), 새로운 AI 패권의 시작? (0) | 2025.02.02 |
딥페이크(Deepfake), 진짜와 가짜의 경계가 무너지는 시대 (0) | 2025.01.31 |
데브옵스(DevOps)가 뭘까? (0) | 2025.01.08 |
마이크로 서비스 아키텍처(Microservices Architecture) 란? (0) | 2024.12.30 |