성장을 위한 IT 콘텐츠,
동료들과 함께 읽고 싶다면?
요즘IT 슬랙봇으로 간편하게 받아보세요!
함께 성장하는 요즘IT인의
실무 라이브러리
잘 성장하던 아크(Arc) 브라우저가 돌연 업데이트 중단을 선언했다. 지난 10월 25일, 아크의 개발사인 더브라우저컴퍼니의 대표가 유튜브에 영상을 올렸는데, 더 이상 아크에 기능을 추가하지 않겠다고 발표한 것이다. 앞으로는 보안 업데이트만 진행할 것이며, 나머지 시간은 새 제품을 개발하는 데 집중할 예정이라고 한다. 더브라우저컴퍼니는 지난 3월에 5천만 달러(약 690억 원)의 추가 투자를 받은 터라, 회사 사정이 어려워서는 아닐 것이다. 아크의 사용자 수도 계속 증가세라 지표가 나쁜 것도 아니었다. 그렇다면 아크 브라우저는 왜 돌연 업데이트를 중단한 걸까?
UX 디자인 방법론인 더블다이아몬드 기반으로 앱스토어 리뷰를 UX 모델링하고 디자인해 나가는 과정을 시리즈로 담고 있습니다. 과정마다 적합한 AI 도구를 소개하며 넷플릭스 리디자인을 진행합니다. 앞서 넷플릭스 앱스토어 리뷰가 최근 1년 사이 악화되고 있다는 것을 발견했습니다. 이어 개인화 부족, 공유 계정 정책의 혼란으로 구독 해지 위험이 증가하고 있다는 문제 역시 정의했습니다. 이에 따라 “사용자가 경험을 더 개인화하고, 친구들과의 연결 기능이 추가되면 콘텐츠 탐색의 불편함과 실망감을 줄일 수 있다”는 가설까지 설립했죠. 그럼 이번 글에서는 Develop, 개발하기와 Deliver, 전달하기 과정을 진행해 보겠습니다. 시작해 볼까요?
지난 6월, 네덜란드의 스마트홈 플랫폼 홈 어시스턴트(Home Assistant, 이하 HA)에서 챗GPT 플러그인을 공개했습니다. 여기서 스마트홈 플랫폼이란, 가전제품이나 조명 등 집 안의 스마트 기기를 연결해 원격으로 제어하거나 자동화 할 수 있는 서비스 플랫폼을 말합니다. 비교적 작은 플랫폼인 HA는 빅테크 기업인 구글과 애플, 제조 기업인 삼성과 LG가 아직 하지 못한 생성형 AI의 도입과 상용화를 누구보다 빨리 해냈습니다. 플랫폼에 통합 모듈(integration)을 연결하는 것만으로 가전 시장에서도 자연어의 맥락과 멀티 턴을 인식하는 ‘진짜 사람’ 같은 어시스턴트를 사용하게 만든 것이죠. 과연 HA는 어떻게 이러한 성과를 만들어 낼 수 있었을까요? HA의 AI는 무엇까지 할 수 있을까요?
혹시 여러분이 하는 일 중 가장 즐겁고 재미있는 일을 하나 꼽으라면 무엇이 떠오르시나요? 저에겐 ‘네이밍’이라는 영역이 그렇습니다. 사실 네이밍은 브랜딩을 하는 사람들이 의외로 기피하는 업무이기도 합니다. 다들 아시다시피 이름을 정한다는 건 앞으로 많은 사람들에게 수없이 불릴 특정 단어를 만드는 일임과 동시에, 브랜드의 가장 중요한 핵심 이미지와 속성을 전달하는 일입니다. 게다가 네이밍은 한 번 결정하면 다시 변경하는 것이 거의 불가능에 가깝죠. 그래서 네이밍은 부담과 책임이 막중한 영역입니다. 이번 글에서는 좋은 네이밍이란 무엇인지, 체크리스트를 통해 살펴보고자 합니다.
성장을 위한 IT 콘텐츠,
동료들과 함께 읽고 싶다면?
요즘IT 슬랙봇으로 간편하게 받아보세요!
개발자는 소프트웨어 개발 프로젝트에서 디자이너와 협업할 일이 많습니다. 피그마(Figma)는 이러한 협업을 원활하게 해주는 툴로서 현재 다양한 UI/UX 디자인에 사용되고 있는데요. 개발자가 피그마를 활용하면, 디자인을 코드로 변환하는 작업을 더 효율적으로 할 수 있어 개발 생산성을 높일 수 있습니다. 또한 피그마는 1인 개발이나 소규모 프로젝트에서 빠르게 아이디어를 구체화할 때 유용하게 활용할 수 있는 도구이기도 합니다. 이번 글에서는 피그마의 기본 개념을 살펴보고, 개발자 관점에서 자주 사용하는 기능과 활용 팁을 정리해 보았습니다.
Wafris는 웹 애플리케이션 방화벽을 오픈소스로 제공하고 있습니다. 저희는 다양한 프레임워크를 지원하는데, 그중에서도 Rails 미들웨어 클라이언트를 제공하고 있죠. 처음 v1 클라이언트를 출시했을 때는 여러분의 앱과 함께 로컬 Redis 데이터스토어를 배포해야 했습니다. 하지만 이제 v2 Rails 클라이언트를 출시하면서 SQLite를 백엔드 데이터스토어로 사용하게 되었습니다. 이 글에서는 Redis에서 SQLite로 마이그레이션하기로 결정한 이유, 성능에 대한 고려 사항, 그리고 아키텍처의 변화에 대해 다룰 예정입니다.
소프트웨어 산업에는 하루에도 수십 개의 새로운 약어와 개념이 등장합니다. 특히나 빠르게 변하는 AI 기술 같은 경우라면 더욱 말입니다. AI를 제대로 맛보게 해 준 챗GPT와 같은 LLM이 우후죽순으로 등장하더니, 지금은 또 메타의 라마로 대표되는 SLM 혹은 sLLM이라는 게 나오고, AI를 완성시키는 AGI라는 개념도 이해해야 하는데, 또 검색-증강 생성이라며 RAG라는 말이 심심치 않게 들립니다. 배경 개념을 알고 거기에 쉬운 스토리를 붙이면 이해에 어렵지 않습니다. 최소한 이 글을 끝까지 읽으신다면 RAG에 대한 이해는 제가 책임지겠습니다. 자, 시작합니다.
저는 다국적 IT 회사에서 10년 가까이 일하면서 다양한 나라의 개발자와 엔지니어를 만났습니다. 오랜 기간 그들과 협업하는 과정에서 개발자의 영어 구사 능력에 자연스레 관심을 가지게 되었습니다. 한편 그 회사에서 일하는 한국인 개발자들과 함께 할 기회도 많았습니다. 그들이 다른 나라 개발자에 비해 뒤지지 않는 뛰어난 개발 실력을 갖추고도, 오로지 영어 때문에 능력을 온전히 평가받지 못하는 모습 역시 보고는 했습니다. 이번 글에서는 개발자가 영어 공부를 해야 하는 이유를 사실과 데이터에 근거해 살펴보고자 합니다. 글의 마지막에는 제 개인적인 견해를 바탕으로 ‘개발자에게 영어가 중요한 또 다른 이유’를 덧붙이고자 합니다.
SI 만렙 개발자는 돈은 많이 벌까요? 당연히 많이 법니다. 하지만 스타트업 같은 파격적인 대우는 없습니다. 아웃소싱 시장이 파격적이지 않거든요. 누구나 아는 유명한 개발자가 있을까요? 글쎄요. SI 시장에선 유명세가 크게 도움이 되지 않습니다. 그렇다면, SI 하다가 네이버 갈 수 있을까요? 갈 수 있습니다. 그렇게 가신 분들이 꽤 있습니다. 다만 수능처럼 1년 재수한다고 갈 수는 없습니다. 이번 편은 “SI 회사”에 취업하는 사회 초년생들을 위한 글입니다. 어떻게 일하고 어떻게 성장할 것이냐, 라는 고민에 도움이 되면 좋겠습니다.
레거시 코드 정리는 모든 개발자에게 피할 수 없는 과제이자 커다란 부담이다. 특히 시간이 지나면서 유지 보수가 어려워진 코드는 점차 기술 부채로 쌓여가며, 프로젝트의 장기적인 성장을 방해하는 요소로 작용하게 된다. 최근 레거시 코드 정리 작업을 맡게 되었고, 최대한 안전하게 코드를 변경할 방법을 찾기 시작했다. 검토할 코드 양이 많아 일정 산정부터 쉽지 않았지만, 동료들에게 조언을 구하며 체계적으로 접근해 큰 문제 없이 마무리할 수 있었다. 내가 얻은 교훈은 레거시 코드를 정리할 때는 무엇보다 코드의 안정성을 최우선으로 해야 한다는 것이다. 오늘은 코드의 안정성을 해치지 않고, 레거시 코드를 정리하는 방법을 이야기해 보고자 한다.
요즘 AI를 도입하지 않는 기업을 찾아보기 어렵습니다. 그만큼 모든 산업 분야에서 AI를 활용하여 업무 효율을 높이고, 서비스를 개선하려는 노력이 활발히 이루어지고 있습니다. 하지만 AI를 도입하여 좋은 성과를 이루어내는 것은 꽤 어려운 일입니다. 우스갯소리로 AI를 ‘돈 먹는 하마’라고 부르는 것도 사실 농담이 아닙니다. AI를 도입해 투자 수익률을 달성하지 못하는 경우가 허다하니까요. 실제로 POC 단계에서 끝내는 이유도 투자 수익률을 감당하지 못해서 끝내는 경우도 많습니다. 그렇다면 어떻게 해야 좋은 성과를 이루어 낼 수 있을까요? 그 해답은 아마 ‘MLOps’에 있을지도 모릅니다.
한창 MSA(Microservices Architecture)로의 전환을 진행하는 중이었던 저희 팀은 새로운 branch 전략이 필요한 상황이었습니다. MSA로 전환하면서 기존 정기 배포 방식은 버리고 수시 배포를 하기로 결정했기 때문이었죠. Git-flow, Github-flow, Gitlab-flow를 포함해 여러 branch 전략을 살펴보았지만, 팀 환경에 꼭 맞는 branch 전략은 없었습니다. 그래서 팀의 요구 사항과 환경에 맞는 branch 전략을 직접 만들기로 결정했습니다.