Chapter 5. 개발 환경 구축
개발 환경 구축도 어느 정도 끝나간다. 이제 팀장님이 슬랙으로 메시지를 보낸다.
"개발 도구는 설치하셨나요? 우리 팀은 주로 IntelliJ 쓰는데, 라이선스 키 필요하면 말씀하세요."
'IntelliJ... 학교 때 Eclipse 썼는데. VSCode도 들어봤는데. 뭐가 뭔지 모르겠네.'
검색창을 연다. "개발자 IDE 추천" 수십 개의 블로그가 뜬다. IntelliJ, VSCode, Eclipse, Vim, Sublime... 다들 자기가 쓰는 게 최고라고 한다.
'근데... 나는 뭘 써야 하지?'
슬랙을 보니 다른 개발자가 스크린샷을 공유했다. 화면에 IntelliJ가 보인다. 또 다른 선배는 VSCode 화면을 공유한다.
'회사마다 다른가? 아니면 팀마다? 개인 취향?'
걱정하지 마라. 개발 도구 선택은 생각보다 간단하다. 여기서는 왜 개발 도구가 중요한지부터, 주요 도구 비교, 설치 방법, 라이선스 적용, 필수 플러그인까지 차근차근 알아보자.
장인은 도구를 탓하지 않는다. 그런데 개발자에게 도구를 탓한다. 메모장으로 코드를 짜도 된다. 기술적으로는 가능하다. 하지만 현실적으로는 불가능하다. 왜일까?
에러가 어디서 났는지 찾기 힘들다. 브레이크포인트 없이 print 디버깅만 해야 한다.
이 함수가 어디서 정의됐는지, 어디서 호출되는지 일일이 찾아야 한다.
변수명 하나 바꾸려면 모든 파일을 뒤져야 한다. 함수 이름 변경도 마찬가지다. 그래서 개발자들은 IDE(통합 개발 환경)나 고급 에디터를 쓴다. 생산성이 몇 배는 올라간다.
어차피 다 배워야 하니까 모두 설치하자 준비만 해놓고 처음엔 하나만 제대로 익히는 게 낫다. 팀에서 주로 쓰는 도구를 먼저 배우자.
개발 도구를 정하는 기준은 생각보다 간단하다.
선배들이 도와주기 쉽다. 설정 공유도 쉽다. 문제 생기면 바로 물어볼 수 있다.
IntelliJ 같은 유료 도구는 회사에서 라이선스를 제공한다. 개인 돈 쓸 필요 없다.
팀에서 특별히 강제하지 않으면, 개인 취향대로 써도 된다. 하지만 처음엔 팀 표준을 따르는 게 안전하다. 정한 에디터가 없다면 가장 보편적인 프로그램을 사용하자.
첫 회사에서 팀장님이 "우리 팀은 IntelliJ 쓰는데, 너도 쓸래?" 하고 물었다. 항상 Eclipse를 썼으니까 IntelliJ가 낯설었다. "혹시 익숙한 Eclipse 써도 될까요?" 하고 물었다.
팀장님이 웃으면서 "괜찮긴 한데, IntelliJ 쓰면 내가 도와주기 편해. 플러그인 설정도 공유할 수 있고. Eclipse 쓰면 너 혼자 세팅해야 할 거야" 하셨다.
그 말을 듣고 IntelliJ로 바꿨다. 처음 일주일은 단축키도 낯설고, 메뉴 위치도 헷갈렸다. 근데 2주 지나니까 적응됐다. 그리고 선배가 "이 플러그인 깔면 편해"라고 추천해줄 때마다 바로 따라할 수 있었다.
만약 Eclipse를 고집했다면? 설정 하나하나 구글링해야 했을 거다. 선배한테 물어봐도 "Eclipse는 나도 잘 몰라서..." 하셨을 거다.
첫 회사에서는 팀을 따르는 게 답이다.
회사에서 많이 쓰는 도구는 크게 세 가지다. 가장 보편적인 IDE들을 알아보자.
개인적으로 가장 좋아하는 IDE 다. 비싸서 못쓰는거지 대부분의 개발자들이 선호하는 프로그램이다.
주로 사용하는 언어
Java, Kotlin, Scala, Groovy등 거의 모든 언어
특징
JetBrains 제품 (전문 개발 도구 회사)
자동완성이 강력함
리팩토링 기능 최고
데이터베이스 도구 내장
Git 통합 편리
디버거 강력
장점
프로젝트 구조 파악 쉬움
코드 네비게이션 빠름
플러그인 생태계 풍부
회사에서 라이선스 제공하는 경우 많음
단점
유료 (Ultimate 버전)
무거움 (메모리 많이 먹음)
처음 배우기엔 복잡함
가격
Community 버전: 무료 (기본 기능)
Ultimate 버전: 유료 (회사에서 라이선스 제공)
실전팁
완전 무료다. 아예 유료 버전 조차 없다. 가볍고 빠르지만 기능은 유료인 인텔리제이보다 부족하다. 이 프로그램으로 코딩하지 않더라도 설치해서 메모장 대신 사용하면 편리하다.
주로 사용하는 언어
JavaScript, TypeScript, Python, Go, C++, 거의 모든 언어
특징
Microsoft 제품
완전 무료
가볍고 빠름
확장 프로그램(Extension) 생태계 방대
터미널 내장
Git 통합
장점
무료
빠르고 가벼움
거의 모든 언어 지원
프론트엔드 개발에 최적화
플러그인 설치 쉬움
배우기 쉬움
단점
대규모 프로젝트에선 조금 느림
리팩토링 기능이 IntelliJ보다 약함
플러그인 너무 많아서 고르기 어려움
가격
완전 무료
프론트엔드 개발자가 많이 애용한다. 그렇다고 백엔드 작업도 불가능한건 아니다. 가벼운 작업은 VSCode로 충분하다.
신입 시절에 사용했던 IDE, 그런데 지금 돌이켜보면 그렇게 좋은 프로그램은 아닌거 같다는 생각이 든다. 하지만 여전히 오래된 프로젝트에서는 꼭 필요한 IDE 다.
주로 사용하는 언어
Java
특징
오픈소스
무료
오래된 도구 (역사가 깊음)
장점
무료
Java 개발 기능 충실
레거시 프로젝트에서 많이 씀
단점
UI가 구식
느림
플러그인 관리 불편
최근 프로젝트에선 잘 안 씀
가격
무료
누가 쓰나
레거시 Java 프로젝트를 개발할 때
요즘 회사에서 Eclipse를 강제하는 곳은 거의 없다. 레거시 프로젝트가 아니면 IntelliJ나 VSCode를 쓰자. 혹여나 최신트렌드에 민감하지 못해 사용하는 회사라면 타 IDE를 제안해보자.
터미널 에디터
키보드로만 조작
엄청나게 빠름
배우기 어려움
시니어 개발자들이 애용
신입에게는 비추
가볍고 빠른 에디터
유료지만 평가판 무제한 사용 가능
요즘은 VSCode에 밀림
GitHub에서 만든 에디터
무료
2022년 개발 중단, 사용 하지말자
꼭 사용해야 한다면 VSCODE를 사용하자.
필자에 지극적인 개인의견으로 무엇을 선택해야 할지 정리해보았다. 정답은 없다. 다만 보편적인 의견일 수 있으니 참고해보자.
백엔드 개발자 (Java/Kotlin) -> IntelliJ IDEA
프론트엔드 개발자 (JavaScript/TypeScript/React/Vue) -> Visual Studio Code
Python 개발자 -> Visual Studio Code 또는 PyCharm (IntelliJ의 Python 버전)
풀스택 개발자 -> Visual Studio Code (가볍고 범용적)
팀에서 강제하는 도구가 있다면? -> 팀 표준을 따르자
회사에서 라이선스를 준다면? -> IntelliJ Ultimate를 적극 활용하자
아무거나 쓰세요. -> IntelliJ community
첫 회사에서는 "팀이 뭘 쓰는지"가 가장 중요하다. 팀장님이나 멘토에게 "팀에서 주로 쓰는 개발 도구가 뭔가요?" 물어보자.
팀장님이 "우리 팀은 IntelliJ 씁니다"라고 했다면, IntelliJ를 설치하자.
JetBrains 공식 사이트에 접속한다. jetbrains.com/idea 접속하면 두 가지 버전이 보인다.
Community (무료)
Java, Kotlin, Groovy, Scala 지원
기본 기능만
웹 개발 기능 제한적
Ultimate (유료)
모든 언어 지원
웹 개발 (Spring, JavaScript, TypeScript)
데이터베이스 도구
프레임워크 지원 (Spring Boot, React 등)
회사에서 라이선스 제공하는 경우가 많음
회사에서 라이선스를 주면 Ultimate를 다운로드한다. 아니면 Community를 깔거나, Ultimate 30일 평가판을 쓴다. 운영체제에 맞게 다운로드한다. Windows, macOS, Linux 모두 지원한다.
Windows
다운로드한 .exe 파일 실행
설치 경로 선택 (기본값 그대로 OK)
옵션 선택: "Create Desktop Shortcut" 체크
설치 완료
macOS
다운로드한 .dmg 파일 실행
IntelliJ 아이콘을 Applications 폴더로 드래그
설치 완료
회사에서 라이선스를 제공한다면, 이제 적용할 차례다.
라이선스 키 방식
팀장님이나 전산팀에서 라이선스 키를 준다
IntelliJ 메뉴: Help -> Register
"Activation code" 선택
받은 라이선스 키 붙여넣기
"Activate" 클릭
JetBrains Account 방식
회사 이메일로 JetBrains Account 생성
관리자가 계정에 라이선스 할당
IntelliJ 메뉴: Help -> Register
"JetBrains Account" 선택
로그인
라이선스 서버 방식
일부 회사는 자체 라이선스 서버 운영
IntelliJ 메뉴: Help → Register
"License server" 선택
서버 주소 입력 (예: http://jetbrains.company.com)
팀에서 "VSCode 쓰세요"라고 했다면, VSCode를 설치하자.
공식 사이트 접속 code.visualstudio.com 운영체제에 맞게 다운로드
Windows: User Installer 또는 System Installer
macOS: .zip 파일
Linux: .deb 또는 .rpm
Windows
다운로드한 .exe 파일 실행
설치 경로 선택
옵션 선택:
"Add to PATH" 체크 (중요!)
"Create a desktop icon" 체크
설치 완료
macOS
.zip 파일 압축 해제
Visual Studio Code.app을 Applications 폴더로 이동
처음 실행 시 "신뢰할 수 없는 개발자" 경고 → "열기" 클릭
실행
VSCode는 앞서 설명한것처럼 완전 무료다. 라이선스를 적용할 필요가 없다. 그저 실행만 하면 된다.
언어 설정
처음 실행하면 영어로 나옴
한글 쓰고 싶다면: Ctrl+Shift+P (macOS: Cmd+Shift+P)
"Configure Display Language" 입력
한국어 선택 → 재시작
테마 선택
기본 테마: Light 또는 Dark
나중에 변경 가능: File → Preferences → Color Theme
개발 도구를 깔았다고 끝이 아니다. 플러그인을 설치해야 진짜 개발이 편해진다. 플러그인은 IDE의 기능을 확장해주는 추가 프로그램이다. 어떤 종류의 플러그인을 깔아야 할까?
무엇을 하는가?
코드를 작성하는 순간 문법 오류를 찾아준다
팀에서 정한 코딩 컨벤션을 자동으로 체크한다
잠재적인 버그를 미리 경고한다
왜 필요한가?
코드 리뷰에서 "여기 들여쓰기 틀렸어요", "세미콜론 빠졌어요" 같은 지적을 받지 않으려면 린터가 필수다.
각 IDE별 예시
IntelliJ: 대부분 언어별 린터가 기본 내장 (추가 설치 불필요한 경우 많음)
VSCode: ESLint (JavaScript), Pylint (Python), Checkstyle (Java) 등 설치 필요
팀에서 사용하는 린터 설정 파일(.eslintrc,pylintrc 등)이 Git 저장소에 있다면, 플러그인만 설치하면 자동으로 적용된다.
무엇을 하는가?
저장할 때 코드를 자동으로 정리한다
들여쓰기, 줄바꿈, 공백을 통일한다
괄호 위치, 세미콜론 등을 규칙에 맞게 배치한다
왜 필요한가?
수동으로 스페이스바 누르고 엔터 치면서 정렬할 필요가 없다. 코드 스타일이 자동으로 통일된다.
각 IDE별 예시
IntelliJ: 기본 내장 포매터 (Ctrl+Alt+L로 실행)
VSCode: Prettier (JavaScript/TypeScript), Black (Python), Google Java Format 등
"Format On Save" 옵션을 켜면 파일 저장할 때마다 자동으로 정리된다. 더 이상 Ctrl+Alt+L을 누를 필요가 없다.
무엇을 하는가?
코드 옆에 누가 마지막으로 수정했는지 표시한다
파일 변경 이력을 쉽게 확인할 수 있다
Conflict(충돌) 발생 시 해결을 도와준다
왜 필요한가?
"이 코드 왜 이렇게 짰지?" 싶을 때, 작성자와 커밋 메시지를 바로 확인할 수 있다.
각 IDE별 예시
IntelliJ: GitToolBox (선택 설치)
VSCode: GitLens (거의 필수)
GitLens(또는 유사 도구)를 설치하면 코드 한 줄 한 줄마다 "3 months ago, by 김개발" 같은 정보가 희미하게 표시된다.
무엇을 하는가?
중첩된 괄호를 색깔별로 구분해준다
들여쓰기 깊이를 색깔로 표시한다
어디서 괄호가 시작하고 끝나는지 한눈에 보인다
왜 필요한가?
중첩이 깊은 코드를 볼 때 "이 닫는 괄호가 어디 여는 괄호랑 짝인지" 헷갈리지 않는다.
각 IDE별 예시
IntelliJ: Rainbow Brackets, Indent Rainbow
VSCode: Bracket Pair Colorizer, Indent Rainbow
최신 VSCode는 괄호 색깔 구분 기능이 기본 내장되어 있다. 별도 설치 불필요할 수도 있다.
플러그인 30개의 비극 신입사원 시절 VSCode를 설치하고 유튜브를 검색했다. "VSCode 필수 플러그인 2024" 영상이 보였다. '추천이 라니까 다 깔아야겠지.'
GitLens, Prettier, ESLint, Python, Java, Go, Material Theme, Dracula Theme... 30개를 전부 설치했다.
VSCode를 재시작했다. 로딩에 30초가 걸렸다. 파일을 열었다. 버벅였다. 자동완성이 2초씩 걸렸다. 다음 날, Ctrl+S를 눌렀는데 에러가 떴다. "Extension 'Prettier' failed to format..."
선배가 지나가다가 물었다.
"VSCode 왜 그렇게 느려? 플러그인 몇 개 깔았어?"
"30개요..."
선배가 내 화면을 보더니 웃었다.
"Python도 깔았네? 너 프론트엔드잖아. 테마도 3개? 동시에 쓸 수 없는데. 필요한 것만 남기고 다 지워."
30개에서 7개로 줄였다. VSCode를 재시작했다. 3초 만에 켜졌다. 파일이 즉시 열렸다. 저장도 에러 없이 됐다.
선배가 말했다. "플러그인은 많다고 좋은 게 아니야. 쓰는 것만 깔아."
도구는 쓰기 위한 거지, 모으기 위한 게 아니었다.
첫 주가 끝나기 전에 다음을 완료했는지 확인하자.
팀에서 사용하는 개발 도구 확인
IntelliJ 또는 VSCode 설치
회사 라이선스 적용 (IntelliJ Ultimate)
프로젝트 열기 성공
필수 플러그인 설치 (GitLens, 린터, 포매터)
팀 컨벤션 플러그인 설치
플러그인 정상 작동 확인
IntelliJ를 설치했다. 플러그인도 깔았다. 팀 설정 파일도 가져왔다.
프로젝트를 연다. 코드가 보인다. 클래스 이름을 클릭하니 정의로 바로 이동한다. 변수명을 바꾸니 모든 파일에서 자동으로 변경된다.
'오... 이게 IDE구나.'
파일을 저장한다. 자동으로 코드가 정리된다. 들여쓰기가 통일되고, 불필요한 공백이 사라진다.
터미널을 연다. Git 명령어를 친다. IntelliJ 안에서 모든 게 된다.
'학교 때랑은 완전 다르네.'
선배가 슬랙으로 메시지를 보낸다.
"개발 환경 구축 다 끝났나요? 내일부터 첫 작업 시작합니다."
답장을 친다.
"네, 모두 준비됐습니다!"
미소가 지어진다. 노트북을 내려다본다. IntelliJ가 열려 있다. 회사 프로젝트가 보인다.
'이제... 진짜 개발자가 된 것 같은데?'
시니어 개발자 모니터에 설치된 개발 도구가 이제는 내 컴퓨터에도 설치되었다.