[Udemy 강의] 개발자 영어 #1

2 minute read



개발자 영어

개발자는 왜 영어를 배워야 하는가?

  1. 개발 과정에서 코드와 문서 작성

  2. 필요한 자료 검색을 위한 기반

  3. 학습을 위한 기반


자료 검색

개발하면서 문제가 발생했을 때 해결 방법을 검색하다보면 그 이유를 체감할 수 있다. 먼저 한글로 검색해보면 대표적인 검색 포털인 지식인에서 조차도 명확하게 그 이유에 대한 질문과 답변을 찾기 어렵다. 결국 내가 원하는 답변을 얻기 위해서는 직접 글을 작성하고 답변을 기다려야하는 상황이 생기고 기다려서 얻은 답변이 나의 문제를 해결하는 방법이 아니거나 명확하지 않아서 다시 질문을 해야하는 경우가 생긴다.

하지만 영어로 검색해보면 자료의 양부터 차이가 난다. 그렇다보니 내가 겪은 상황을 동일하게 이미 겪어본 사람의 질문도 찾기 쉽고 그 답변의 퀄리티 역시 큰 차이를 느낄 수 있다.

지식인 답변의 경우 질문한것에 대한 통상적인 답변을 받게되지만 대표적인 영문 사이트인 스택 오버플로우의 경우 질문한 에러가 발생할 수 있는 여러 사례들부터 설명하고 각 사례마다 해결법을 제시하거나 질문자가 더 명확하게 질문할 수 있도록 이끌어내는 분위기가 있다.


공식 문서

학습을 위해서 공식 문서를 보는 일이 많이 있다.

공식 문서는 직접 개발에 참여한 사람들에 의해서 작성되기 때문에 가장 정확하고 확실한 정보를 얻을 수 있기 때문에 개발을 하다보면 무조건 찾아볼 수 밖에 없는데 이 경우에도 대부분 원문이 영어로 작성되어있는 경우가 많다.

Microsoft 처럼 규모가 큰 회사의 경우 각 국가별 언어를 지원하기 때문에 한국어로 문서를 읽을 수 있게 만들어 놓긴하지만 이 경우에도 번역이 높은 수준이 아니고 번역기 정도의 퀄리티이다보니 읽다보면 말이 이해되지 않거나 완전히 번역되지 않은 영단어들이 섞인 한글 문서를 보게된다.


언어 능력을 크게 나누면 말하기, 듣기, 쓰기, 읽기가 있다. 개발자가 필요한 영어 능력을 4가지 요소로 구분하여 중요도를 설명한다.

읽기

개발자가 필요한 영어 능력 중 가장 중요한 것은 읽기이다.

많은 정보를 알고 그 정보를 활용할 줄 아는것이 개발자 실력의 척도이다. 새로운것이 개발되고 기존것이 업그레이드되는것이 가장 빈번하게 발생되며 가장 직접적으로 영향을 받는 직업이다보니 정보력은 곧 개발자의 기본이자 차별점이 된다.

그리고 그 정보들은 거의 대부분 텍스트로 되어있으며 이 정보를 빠르고 정확하게 습득하기 위해서는 읽기 능력에 비중을 둘 수 밖에 없다. 따라서 영어를 읽을 줄 아는것은 개발자로서 기본이며 스스로의 능력을 더 끌어올릴 수 있는 수단으로 작용한다.


쓰기

좋은 코드의 기본은 읽기 좋은 즉, 가독성이 좋은 코드이다. 가독성이 좋아야 협업에서 다른 사람들이 읽어도 빠르고 쉽게 이해하고 구현과 테스트면에서 유리하다.

따라서 코드 자체를 문서로 보여질 수 있도록 작성될 필요가 있다. 물론 아무리 읽기 좋게 쓰려고해도 어려울 수 밖에 없는 코드들도 있다. 이런 코드들은 주석을 통해 설명을 달거나 따로 문서를 만들어 놓는 방식으로 해결하면된다.

이러한 코드 작성 방식을 클린코드의 기본으로 생산성을 높이는 첫 걸음이라고 할 수 있다.

쓰기에서 영어

  • 식별자 코드 내부 식별자는 영어가 일반적이다. 자료형, 변수, 메서드, 함수, 모듈 등 모든 것이 영어를 통해서 작성되어진다.

  • 주석 코드 내부 주석도 일반적으로 영어로 작성된다. 이 주석은 문서화를 위해서도 필요하고 코드 내 알고리즘이나 자료 구조 등을 설명하기 위해서도 쓰여진다.

  • 에러 메시지
    문제가 발생했을 경우 프로그래머나 일반인에게 제시하는 문구로 해결을 제시하기 위해서는 영어로 표현해주어야 검색하는데 용이하다.

  • 형상 관리
    형상 관리를 위한 커밋 메시지도 영어로 작성된다.
    코드 변경의 이유와 배경 그리고 부수 효과 등을 설명한다.


코드와 글

그레디 부치(객체지향의 대가)

“깨끗한 코드는 단순하고 직접적이다. 이런 코드는 잘 쓴 문장처럼 읽히고 결고 설계자의 의도를 숨기지 않고 오히려 명쾌한 추상화와 단순한 제어문으로 가득하다.”


위드 커닝엄(위키, 익스트림 프로그래밍 창시자)

“코드를 읽으면서 짐작했던 기능을 각 루틴이 그대로 수행한다면 깨끗한 코드라 불러도 되겠다. 코드가 그 문제를 풀기 위한 언어처럼 보인다면 아름다운 코드라 불러도 되겠다.”

두 사람이 공통적으로 말하는 잘 쓰여진 코드란 가독성이 좋으면서 코드만 보아도 어떠한 동작을 하는지 직관적으로 보여지는 군더더기 없는 코드를 말한다.

어휘력

일상이나 여행에서 필요한 어휘가 있듯이 프로그래밍과 개발에 관련된 문서를 읽기 위한 어휘력이 필요하다.


정리

  • 가장 먼저 읽기에 투자
    기술 자료와 코드를 읽을 수 있는 수준

  • 그 다음 쓰기에 투자
    실무에 적합한 수준을 달성할 수 있는 정도

  • 어휘력
    기본 중의 기본으로 생각
    기술 자료에 사용되는 단어는 생각보다 어렵지 않기 때문에 용어에 대해 익숙해지는것이 필요하다.