개발자와 AI의 관계

개발자들은 종종 AI에 회의적이다. 하지만 AI 도구의 잠재력은 좋아하든 싫어하든 더 빠른 릴리즈와 더 나은 제품을 만들 수 있게 도와준다. Stack Overflow에서 2024년에 진행한 개발자 설문 조사에 의하면 개발자의 43%만 AI 도구의 결과를 신뢰했다. 반대 의견은 AI가 복잡한 작업을 처리하는데 어렵다고 말했다. 이런 상황에도 ChatGPT는 코딩의 새로운 시대를 열었다고 생각한다. 더 이상 Google, Stackoverflow에서 코딩에 대해 질문이나 답을 할 필요가 없다. 이번에 Cursor AI IDE를 이용하자고 함께 일하는 동료들에게 제안했다. 이유는 일부 개발자들이 Copilot ...

더보기

풀스택 개발자, 현실적으로 가능한가?

본 글은 지극히 개인적인 관점이라는 점을 서두에 언급한다. 과거 동안 “풀스택 개발자”라는 용어가 인기를 끌었고, 동료들에게도 원하는 이상향이 “풀스택”이다. “풀스택”은 현대 애플리케이션 개발 시 모든 측면을 처리하는데 능숙한 프로그래머를 지칭한다. 즉, 풀스택 개발자는 프론트엔드(사용자 인터페이스)와 백엔드(서버)을 모두 개발 할 수 있는 전문가이다. 두 영역을 작업할 수 있는 능력은 엄청나다. 이 능력을 유지하기 위해서는 기술이 계속 발전하는 상황에서 최신 도구 및 프레임워크, 패턴, 아키텍처 그리고 다양한 기술들을 얻기위한 지속적인 학습이 필요하다. 이것 외에 클라우드, DevOps 혹은 AI 서비스...

더보기

Linux Atomic desktops

지난 주말 오래된 노트북에 Fedora Atomic Desktop을 설치했다. 이제까지 사용했던 리눅스와는 생소한 개념을 갖고 있기에 여기에 글을 정리한다. Linux Atomic Desktops이란? Linux Atomic Desktops은 Fedora의 Atomic Host를 통한 Atomic update 개념을 활용한다. 이 아이디어는 데스크톱을 구성하는 최소한의 것들을 변경 불가능한 것으로 취급하여 애플리케이션 업데이트 및 변경 사항을 필요한 경우 쉽게 롤백할 수 있는 개념을 적용한 것이다. 이 접근 방식은 시스템 중단을 최소화하고 시스템 수정에 대한 안정성을 강하게 만든다. 이 개념은 약 10년전 A...

더보기

비기술 관리자의 함정

dzone에 재미있는 글(https://dzone.com/articles/pitfalls-of-a-non-technical-manager)이 올라와서 여기에 정리한다. 이 글은 소프트웨어 산업 분야에서 일하는 비기술 관리자 즉, 개발팀을 리드하는 비기술 관리자를 대상으로 한다. 기술자와 비기술자 사이에는 엄청난 의사 소통의 차이가 있다. 전문가 집단에서는 이 둘은 “다른 세계”라고 표현한다. 두 세계 사이를 아래 이미지가 잘 설명하고 있다. 대략 내용은 이렇다. 관리자: “사용자가 사진을 찍으면 앱에서 위치가 국립공원인지 확인해야 합니다.” 개발자: “GIS 조회는 매우 쉬워요. 조금의 시간만 주세요...

더보기

린스타트업

Business Design 수업을 듣고 있다. 2번째 모듈 수업에서는 Lean startup method에 대해서 배우고 있다. 린 스타트업 방법론은 2000년대 초반 Steve Blank가 고객 개발 방법론을 도입하면서 시작되었다. 고객 중심 접근 방식을 강조한 Blank는 스타트업 초기 단계에서 잠재 고객을 참여시키는 행위가 매우 중요하다고 얘기한다. 소비자 중심 접근 방식은 제품을 출시할 때 많이 사용되는 방법이다. 새롭거나 파괴적인 혁신을 창출하는 것이 아니라 소비자가 원하는 것을 제공하고 기존 요구 사항을 충족시키는 것에 더 가깝다고 언급한다. 새로운 제품이나 서비스를 만들때, 과거에는 “우리가 만...

더보기

당신은 받는 사람인가요. 아니면, 주는 사람인가요?

일반적인 사람들은 세 가지 입장 중 하나를 기본으로 삼으면서 일을 한다. “받는 사람”, “맞추는 사람” 그리고 “주는 사람”. 받는 사람은 항상 다른 사람보다 자신의 이익을 우선시하고 줄 때는 그 이익을 증진시키려는 의도를 지니고 있다. 맞추는 사람은 상호성을 믿기에 누군가 가려운 곳을 긁어주면, 본인도 그 사람의 등을 긁어준다. 반면에 주는 사람은 다른 사람에 초점을 맞추기 때문에 도와주면 보답할 것이라고 믿는다. 프로젝트를 진행할 때, 이런 입장차가 눈에 보이게 된다. 중요한 것은 문제보다는 태도와 동기이다. 주는 사람과 맞추는 사람은 최상의 결과에 중점을 둔 협업 작업에 적합하다. 반면, 받는 사...

더보기

DevOps로의 전환을 앞두고

레거시 시스템은 오랫동안 존재해 왔고, 조직은 수년간 이를 사용하였다. 중간중간 어려움은 있었겠지만 익숙해졌다. 대부분 이런 시스템들은 수십년 전에 개발되었으며 현재 상황에 부응하도록 설계되지 않았다. 그 결과 현 시스템을 유지관리하려면 레거시 버전과 OS를 사용해야 했다. 이런 작업들은 현 시대에 개발을 하는 개발팀에게 큰 부담이 될 수 있다. 우선 DevOps에 대해서 모르시는 분도 계실테니, 개념부터 정리한다. DevOps란 무엇인가? DevOps는 배포를 더 자주 빈번하게, 신뢰 가능하도록, 시간 소모를 줄이는 것을 목표로 하는 업무의 집합이다. DevOps는 코드 변경과 배포 사이의 시간을 줄여준다....

더보기

스포티파이 스쿼드 모델

우연히 스포티파이의 팀 스쿼드 모델 글(https://hybridhacker.email/p/the-spotify-squad-model-explained?ref=dailydev)을 읽게되었다. 예전에 모 회사에서 매킨지 컨설팅을 받아서 진행했던 구조랑 똑같다. 관련해서 내용을 정리한다. 팀 스쿼드는 애자일 개발에 대한 색다른 접근 방식이고 스포티파이에서 대중화한 개념이다. 본 내용에 대해서는 2014년 스포티파이 엔지니어링 블로그에 게시된 비디오에 소개되었다. 이 아이디어는 각 분대가 독립적인 스타트업인 것처럼 각각 자신의 프로젝트를 관리할 자율성을 갖춘 미니 팀을 만드는 것이다. Squad 스쿼드는 소규...

더보기