본문으로 건너뛰기

AI가 개발자에게 미치는 영향

· 약 9분
조준철

패러다임 전환은 한 시대 사람들의 견해나 사고를 근본적으로 규정하고 있는 인식 체계 또는 이론적인 틀이 변화한다는 것을 의미합니다. 10년 주기로 우리가 알아야 할 패러다임의 변화가 다음과 같이 진행해 온 것 같습니다.

  • Know How: 1990년대 어떻게 하는 방법을 아는 것
  • Know Where: 2000년대 필요한 것이 어디에 있는 지를 아는 것
  • Know Who: 2010년대 내가 필요한 것을 누가 알고 있는 지를 아는 것
  • Why & Experience: 2020년대 기존 것을 잘 활용하여 필요한 것을 만들 수 있는 것

소프트웨어 개발을 직업으로 살다 보니 IT 에 대한 변화를 직접적으로 느낄 수 있습니다. 요즘은 소프트웨어 개발에 필요한 도구와 환경 그리고 기술들이 상향 평준화가 되어 무언가를 만들게 될 때 처음부터 만드는 게 아니라 레퍼런스를 찾아보는 게 더 좋은 결과가 만들어지는 것 같습니다.

이번에 게시판 예제를 만들면서 많은 오픈소스 들을 활용하며 자동화 된 개발 도구들과 테스트에 필요한 각종 서버들을 즉시 사용 해볼 수 있는 인프라 환경, 예제 코드에 대한 친절한 AI의 도움을 받았습니다. 개발 경험과 생산성이 이전보다 비교할 수 없을 정도로 좋아진 것을 새삼 느낍니다.

그런데 역설적이게도 우리에게 더 많은 일을 요구합니다. 개개인에게 왜 일을 해야 하는 지 이해하고 일에 대한 과정과 결과에 대해 자연스럽게 책임을 지게 만들기 때문에 그 사람만의 대체 불가 한 넓은 시야와 직관과 경험이 필요하게 되니까요. 결국 사람에 따라 납기와 품질이 달라집니다.

"구슬이 서 말이라도 꿰어야 보배"라는 우리나라 속담에 있듯이 아무리 훌륭하고 좋은 것이라도 다듬고 정리해서 쓸모 있게 만들어 놓아야 값 어치가 있습니다.

마이크로소프트의 빌 게이츠는 오래 전부터 문제 해결에 대한 접근 방식으로 "바퀴를 재 발명하지 마세요"라는 개념을 만들었습니다. 시간과 노력을 절약하고, 이미 존재하는 해결책을 활용하여 효과적으로 문제를 해결하는 데 집중해야 한다는 의미일 겁니다.

IT 업계에서는 디지털 전환에 따라 국내외 다양한 No-Code, Low-Code 개발 환경이 등장하여 시장을 만들어가고 있습니다. 솔루션에 따라 다양한 방법으로 해결책을 제시하는데... 기본적으로 비 개발자가 적은 노력으로 어플리케이션을 개발하고 운영을 할 수 있도록 돕습니다.

HandStack 도 Low-Code 개발 환경 분야에 포함되며 일단 개발자와 엔지니어를 대상으로 하는 점에서 출발점이 다릅니다. 판매하려는 제품이 아니라 기술 기반에 가까운 반제품 이니까요. 기존 솔루션 대비 차별화되는 점은 다음과 같습니다.

  • 모든 소스와 문서를 무료로 상업적 사용이 가능한 BSD 오픈소스 라이선스로 공개합니다.
  • HTML5, ASP.NET Core, Node.js, Docker 기반 표준 기술 스택으로 앱을 개발합니다.
  • Windows, Linux, Mac, Cloud, Docker 환경에서 실행 가능한 서버 프로그램을 제공합니다.
  • 메모장으로 풀 스택 개발 및 운영 가능합니다.

특정 도구에 의지하지 않고 편집기 만으로 원하는 기능을 개발 할 수 있다는 것은 불편하지만 많은 확장 가능성을 제시합니다.

게시판 예제는 Microsoft Copilot (ChatGPT v4)를 활용해서 만들었습니다.

게시판 예제는 아마도 기존의 개발 방식과 소스 코드가 생소할 겁니다. 어렵다는게 아니라 "이렇게 어플리케이션을 개발 할 수도 있는거야?" 싶을 정도로 개발 접근법이 조금 다르기 때문입니다.

가볍게 봐주시면 좋겠네요. 자세한 내용은 게시판 프로젝트 시작하기를 참고하세요.

HandStack 확인하기

한 주간의 여정 (2024-01-22 ~ 2024-01-26)

  • 태넌트 앱에서 제한된 거래 요청 검증 기능 추가
  • $textbox english 검증 기능 개선
  • $grid button 타입 스타일 class 기능 개선
  • $grid checkbox 타입 버그 개선
  • 프로젝트 담당자 초대 기능 및 로그인 사용자 표시 개선
  • $grid 스크롤 바 표시 버그 visibility 대응 개선
  • Contracts 예제 파일 경로 개선
  • 게시판 프로젝트 시작하기
  • 가이드 문서 샘플 및 syn.js 최신버전 업데이트
  • $htmleditor 리소스 로드 기능 개선
  • repository storage.json 기본값 변경 및 데이터베이스별 기본 쿼리 추가
  • ack 프로그램 시작시 repository storage.json 기본값 변경 대응 개발
  • 게시판 프로젝트 시작하기 내용 추가
  • monaco, tinymce 등 자체 loader가 필요한 의존성이 없는 라이브러리 로드 방식 개선
  • contract, view 화면을 빌드 디렉토리로 복사하는 스크립트 추가
  • 파일 업로드/다운로드시 설정 파일 위치에 따라 호스트, 태넌트 파일 경로를 구분하도록 개선
  • 프로젝트 참조 패키지 버전 업데이트
  • 파일 업로드시 절대 링크 경로 버그 수정
  • 참조 프로젝트 목록에서 내가 만든 프로젝트가 아닌 경우만 조회되도록 개선
  • 빈 경로에 대한 디렉토리 생성 기능 추가
  • syn.js measureSize(text, fontSize) 기능 개선
  • 태넌트 앱 요청을 수행하는 서버리스 함수(featureMeta.json, featureMain.cs)에 UserWorkID를 하도록 대응 개발
  • 태넌트 앱 UI Assets 디렉토리 조회 기능 개선
  • UI Assets 관리 화면 파일 관리 기능 개선