블로그 목록으로
도구

개발자 생산성 도구 추천: 매일 쓰는 도구들

productivitytoolsworkflow

들어가며

독립 개발자는 혼자서 기획, 디자인, 개발, 테스트, 배포, 마케팅까지 모든 것을 해야 한다. 시간은 항상 부족하고, 하고 싶은 일은 넘쳐난다. 그래서 도구 선택이 중요하다. 좋은 도구 하나가 매일 30분을 절약해주면, 일 년이면 180시간이 넘는다. 이 글에서는 내가 매일 실제로 사용하는 도구들과 워크플로우를 카테고리별로 정리한다.

코드 에디터: VS Code

VS Code는 이미 대부분의 개발자가 사용하고 있겠지만, 확장 프로그램 조합에 따라 생산성 차이가 크다. 내가 필수로 사용하는 확장 프로그램들이다.

코드 품질

  • ESLint + Prettier: 코드 스타일과 품질을 자동으로 관리한다. 저장 시 자동 포맷팅을 설정하면 코드 스타일 논쟁이 사라진다.
  • Error Lens: 에러와 경고를 코드 옆에 인라인으로 표시해준다. Problems 패널을 열어보지 않아도 문제를 즉시 확인할 수 있다.

생산성

  • GitHub Copilot: AI 코드 자동완성. 반복적인 코드 작성 시간을 크게 줄여준다. 특히 테스트 코드 작성할 때 유용하다.
  • Auto Rename Tag: HTML/JSX 여는 태그를 수정하면 닫는 태그도 자동으로 바뀐다. 사소하지만 매일 시간을 절약해준다.
  • Todo Tree: 코드 내 TODO, FIXME, HACK 주석을 트리 형태로 모아서 보여준다.

언어별

  • Dart: Flutter 개발 시 필수. 코드 자동완성, 리팩토링, 위젯 래핑 등을 지원한다.
  • Tailwind CSS IntelliSense: Tailwind 클래스 자동완성과 호버 시 실제 CSS 미리보기를 제공한다.

에디터 설정에서 가장 중요한 것은 editor.formatOnSave: trueeditor.defaultFormatter 설정이다. 저장할 때마다 자동으로 코드가 정리되면 포맷팅에 신경 쓸 필요가 없어진다.

터미널 도구

터미널은 개발자의 또 다른 작업 공간이다. 기본 터미널을 그대로 쓰기보다 몇 가지 도구를 추가하면 효율이 크게 올라간다.

  • Zsh + Oh My Zsh: Bash보다 강력한 자동완성과 플러그인 시스템을 제공한다. zsh-autosuggestionszsh-syntax-highlighting 플러그인은 거의 필수다.
  • Starship: 크로스 플랫폼 프롬프트. Git 브랜치, Node 버전, 실행 시간 등을 깔끔하게 표시해준다.
  • fzf: 퍼지 파인더. 파일 검색, 명령어 히스토리 검색 등을 빠르게 할 수 있다. Ctrl+R로 이전 명령어를 검색하는 것만으로도 시간이 크게 절약된다.
  • bat: cat 대체. 구문 강조와 라인 번호를 자동으로 보여준다.
  • eza: ls 대체. 아이콘, Git 상태 표시 등 더 풍부한 정보를 제공한다.

이 도구들을 설치하고 설정하는 데 한 시간이면 충분하고, 이후 매일 시간을 절약해준다.

Git 워크플로우

Git은 단순히 버전 관리 도구가 아니라 개발 워크플로우의 중심이다. 내가 사용하는 Git 관련 도구와 습관들이다.

도구

  • lazygit: 터미널 기반 Git UI. 커밋, 스테이징, 브랜치 관리를 시각적으로 빠르게 할 수 있다. 복잡한 Git 명령어를 외울 필요가 줄어든다.
  • gh (GitHub CLI): PR 생성, 이슈 관리, 릴리스 등을 터미널에서 바로 할 수 있다. gh pr create로 브라우저를 열지 않고도 PR을 생성할 수 있다.

습관

  • 커밋 메시지 컨벤션: Conventional Commits(feat:, fix:, docs: 등)를 사용하면 변경 이력을 파악하기 쉽다. 자동 릴리스 노트 생성에도 활용할 수 있다.
  • 작은 단위로 자주 커밋: 하루 작업을 하나의 거대한 커밋으로 만드는 것보다, 기능 단위로 작게 나누어 커밋하는 것이 나중에 문제를 추적할 때 훨씬 유리하다.
  • 브랜치 전략: 혼자 개발하더라도 main에 직접 커밋하지 않는다. 기능별 브랜치를 만들고, 완성되면 머지하는 습관이 안전하다.

프로젝트 관리: Obsidian

프로젝트 관리 도구로 Obsidian을 사용하고 있다. Notion도 좋은 도구지만, Obsidian의 오프라인 지원과 마크다운 파일 기반 구조가 개발자에게 더 맞다고 느꼈다.

내 Obsidian 워크플로우는 이렇다.

  • 칸반 보드: obsidian-kanban 플러그인으로 할 일, 진행 중, 완료 상태를 관리한다. 한눈에 현재 진행 상황을 파악할 수 있다.
  • 일일 노트: 매일 할 일과 그날 배운 것을 기록한다. 나중에 검색하면 "이 기능을 왜 이렇게 구현했지?"에 대한 답을 찾을 수 있다.
  • 리서치 노트: 기술 리서치, 수익화 전략, 경쟁사 분석 등을 구조화해서 기록한다.

Obsidian의 가장 큰 장점은 모든 데이터가 로컬 마크다운 파일이라는 점이다. 서비스가 종료되어도 데이터를 잃지 않는다. Git으로 백업하면 버전 관리까지 된다.

디자인 도구: Figma

개발자가 디자인까지 하는 것이 부담스러울 수 있지만, 인디 개발자라면 피할 수 없는 영역이다. Figma는 무료 플랜으로도 충분히 사용할 수 있고, 배우기 쉽다.

내가 Figma를 쓰는 방식은 이렇다.

  • 와이어프레임: 새 기능을 구현하기 전에 간단한 와이어프레임을 그린다. 코드를 작성하기 전에 UI 구조를 잡으면 삽질이 줄어든다.
  • 컴포넌트 시스템: 반복적으로 사용하는 UI 요소(버튼, 카드, 입력 필드 등)를 컴포넌트로 만들어두면 일관성이 유지된다.
  • 앱 스토어 스크린샷: 스토어 등록용 스크린샷을 Figma에서 제작한다. 프레임에 디바이스 목업을 넣고 텍스트를 배치하는 작업이 쉽다.

디자인 감각이 부족하다면 Dribbble이나 Mobbin에서 레퍼런스를 수집하는 것부터 시작하면 된다.

브라우저 DevTools 팁

Chrome DevTools는 웹 개발자의 가장 강력한 디버깅 도구다. 잘 알려지지 않은 유용한 기능 몇 가지를 공유한다.

  • Network 탭의 Throttling: 네트워크 속도를 제한해서 느린 환경에서의 사용자 경험을 테스트할 수 있다.
  • Lighthouse: 성능, 접근성, SEO 점수를 한 번에 측정할 수 있다. 배포 전에 반드시 실행해보자.
  • Performance 탭의 녹화: 특정 동작의 프레임 드롭이나 메모리 누수를 찾을 수 있다.
  • Application 탭: localStorage, sessionStorage, 쿠키, Service Worker 등을 확인하고 관리할 수 있다.
  • Console의 $0: Elements 탭에서 선택한 요소를 $0으로 참조할 수 있다. 빠른 테스트에 유용하다.

CI/CD

코드를 푸시할 때마다 자동으로 테스트하고 배포하는 파이프라인은 시간을 크게 절약해준다.

  • GitHub Actions: GitHub 저장소와 통합이 자연스럽고, 무료 플랜의 실행 시간도 넉넉하다. 린트 검사, 테스트 실행, 빌드 확인을 PR마다 자동으로 실행한다.
  • Vercel: Next.js 프로젝트의 경우 Git push만으로 자동 배포된다. 프리뷰 배포(Preview Deployment) 기능으로 PR별로 별도 URL을 받을 수 있어 테스트에 유용하다.

CI 파이프라인에서 가장 중요한 것은 빠른 피드백이다. 파이프라인이 10분 이상 걸리면 개발 흐름이 끊긴다. 테스트 병렬화, 캐싱, 불필요한 단계 제거 등으로 실행 시간을 최소화하자.

시간 관리 기법

도구만큼 중요한 것이 시간 관리 습관이다. 독립 개발자로서 내가 사용하는 방법들이다.

  • 타임박싱: 각 작업에 시간 제한을 둔다. "이 기능 구현에 2시간"처럼 정하면 완벽주의에 빠지는 것을 방지할 수 있다.
  • 2분 규칙: 2분 안에 끝낼 수 있는 일은 바로 한다. 작은 일들이 쌓이면 심리적 부담이 커진다.
  • 디버깅 시간 제한: 버그 하나에 30분 이상 매달리지 않는다. 30분이 지나면 접근 방식을 바꾸거나, 잠시 다른 일을 한 후 돌아온다.
  • 주간 회고: 일요일에 30분 동안 이번 주에 한 일과 다음 주 계획을 정리한다. Obsidian에 기록해두면 나중에 성장 과정을 되돌아볼 수 있다.

마무리

도구는 수단이지 목적이 아니다. 새로운 도구를 배우는 데 시간을 쓰는 것보다, 지금 쓰는 도구를 깊이 익히는 것이 더 효율적일 때가 많다. 하지만 정말 생산성을 바꿔주는 도구를 만났을 때는 투자할 가치가 있다. 이 글에서 소개한 도구들 중 하나라도 여러분의 일상에 도움이 되길 바란다. 자신만의 워크플로우를 꾸준히 개선해가는 것이 결국 가장 좋은 생산성 향상 방법이다.

개발자 생산성 도구 추천: 매일 쓰는 도구들