개발자라면 반드시 알아야 하는 프로그래밍 필수 영어 표현
영문 기술 문서를 읽거나 오픈소스 커뮤니티의 의사소통 현장을 관찰해 보면 IT 업계에 자주 등장하는 어휘(Vocabulary)와 표현(Expression)이 있다는 것을 알게 됩니다.
예를 들어 영어 동사 Implement (구현하다, 시행하다)
는 새로운 기능을 구현할 때 자주 사용됩니다.
(예: Implement a JWT-based authentication system, JWT 기반의 인증 시스템 구현)
또한 해외 클라이언트와 소통하며 덮어쓰다(overwrite)
, 사용자 정의(user-defined)
와 같이 한국어로 익숙한 표현들을 영어로 떠올리기 어려울 수 있습니다.
execution(실행)
, deprecated(사용이 권장되지 않음)
와 같이 실무에 자주 등장하는 영어 단어의 발음을 잘못 알고 있을 수 있습니다.
IT 개발 업계에 자주 등장하는 어휘와 표현들을 한번만 제대로 숙지해두시면 기술 문서를 읽거나 해외 테크 컨퍼런스를 시청할 때 내용을 이해하는 속도가 훨씬 빨라지게 됩니다.
소개하는 어휘와 표현을 단순히 눈으로 읽는 것에서 멈추지 않고 소리 내어 발음하거나 직접 써보는 것을 권장합니다.
우리의 뇌는 입력(Input) 된 정보를 출력(Output)해 봐야 내용을 더 오래 기억하기 때문입니다.
지금부터 IT 필수 영단어와 표현을 살펴보겠습니다.
Execute
의 발음을 한국어로 표기하면 [익시큐트]에 가깝다.
Lecture
AI Tutor
Design
Upload
Notes
Favorites
Help
개발자를 위한 필수 영어 표현
agile
작은 단위로 신속하게 반복 작업을 수행하는 소프트웨어 개발 방법론
sprint
애자일 방법론에서 새로운 기능을 개발하거나 백로그를 처리하기 위해 개발 주기를 반복(iteration)하는 짧은 기간(time-boxed period)
dev-ops
개발(development)과 운영(operations)의 합성어로 지속적인 유지관리, 업데이트, 배포를 통해 개발팀과 운영팀 사이의 소통과 협업을 장려하는 시스템 및 개발 환경. 데브옵스 엔지니어는 시스템 유지관리와 배포, 업데이트를 통한 안정적인 시스템 운영을 담당합니다.
backlog
로드맵을 달성하기 위해 개발되어야 하는 기능, 수정되어야 하는 버그와 같은 작업 목록(task list)
hotfix
운영 중인 소프트웨어에서 발생한 긴급한 문제를 즉각 수정하기 위한 빠른 패치. 보통 사용자에게 영향을 미치는 심각한 오류나 보안 문제를 해결할 때 사용하며, 일반적인 업데이트 주기를 기다리지 않고 즉시 프로덕션 환경에 적용합니다.
staging
사용자에게 배포하기 전 테스트 및 검증을 수행하는 환경. 실제 운영 환경(production)과 유사하게 구성하여 새로운 기능에 이상이 없는지 점검합니다.
production
실제 사용자가 사용하는 운영 환경
nightly build
개발 중인 소프트웨어의 상태를 하루에 한 번씩 자동으로 빌드하여 생성되는 버전. 주로 개발팀 내부에서 테스트 목적으로 사용되며, 최신 상태를 반영합니다.
canary build
소규모 사용자 그룹에게 배포되는 초기 버전의 소프트웨어. 주로 대규모 배포 전에 잠재적인 문제를 발견하고 해결하기 위해 활용됩니다. '카나리'라는 이름은 과거에 광부들이 위험한 가스 유무를 확인하기 위해 카나리아를 사용했던 관습에서 유래되었습니다.
load balancing
여러 서버에 트래픽을 분산시켜 각 서버에 부하를 고르게 분배하는 기술. 시스템의 성능과 가용성을 높이고, 특정 서버에 과부하가 걸리는 것을 방지합니다.
headless
GUI가 없는 장치에서 작동 가능한 프로그램, 프런트엔드(UI)와 백엔드(콘텐츠 및 데이터)를 분리하는 개발 방식입니다.
sandbox
외부 변수와 독립 및 통제된 조건을 기반으로 하는 테스트 환경이나 상황. 주로 소프트웨어 개발 및 테스트에서 사용되며, 실제 환경에 영향을 주지 않고 안전하게 실험할 수 있습니다.
legacy
낡고 오래된 기술이나 소프트웨어, 컴퓨터 시스템
refactor
기존 코드를 변경하지 않고 구조를 개선하는 작업. 주로 코드의 가독성, 유지보수성, 성능을 향상시키기 위해 수행됩니다.
opinionated
소프트웨어나 프레임워크가 특정한 방식이나 패턴을 강하게 권장하는 것. 이는 개발자가 선택할 수 있는 옵션을 제한하여 일관된 개발 경험을 제공합니다.
monorepo
여러 프로젝트를 하나의 저장소(repository)에서 관리하는 방식. 이는 코드 공유와 의존성 관리를 용이하게 합니다.
microservices
애플리케이션을 작은 독립적인 서비스로 분리하여 개발하는 아키텍처 스타일. 각 서비스는 독립적으로 배포되고 확장될 수 있습니다.
serverless
서버 관리 없이 애플리케이션을 개발하고 실행할 수 있는 클라우드 컴퓨팅 모델. 개발자는 서버 인프라를 신경 쓰지 않고 코드에 집중할 수 있습니다.
out-of-the-box
기본적으로 제공되는 기능이나 설정으로, 추가적인 구성 없이 바로 사용할 수 있는 상태. 주로 소프트웨어나 제품이 초기 설정으로 제공되는 경우에 사용됩니다.
unit testing
소프트웨어의 개별 구성 요소(유닛)를 테스트하는 과정. '단위 테스트'라고도 하며, 주로 코드의 특정 기능이나 메서드가 예상대로 작동하는지 확인하기 위해 사용됩니다.
end-to-end testing
소프트웨어의 전체 흐름을 테스트하여 실제 사용자 시나리오를 검증하는 과정. 'E2E 테스트'라고도 하며, 시스템의 모든 부분이 함께 작동하는지 확인합니다.
pull request
소스 코드 관리 시스템에서 변경 사항을 제안하고 검토를 요청하는 과정. 주로 팀원들이 변경 사항을 검토하고 병합하기 전에 사용됩니다.
branching
소스 코드 관리 시스템에서 독립적인 개발 작업을 위해 코드의 분기를 만드는 과정. 주로 새로운 기능 개발이나 버그 수정을 위해 사용됩니다.