1. 도입
개발자는 왜 영어를 배워야 하는가?
•
개발 과정에서 코드와 문서를 작성의 기반
•
필요한 자료 검색을 위한 기반
⇒ 영문으로 찾는 편이 더 빠르게 원하는 자료를 찾을 확률이 높다.
•
학습을 위한 기반
⇒ 마이크로소프트 사례를 토대로 기계 번역의 문서의 품질 이슈와 모든 문서가 한글화되지 않는다는 이슈가 발생한다.
2. 개발자에게 영어가 중요한 이유
개발자에게 영어가 중요한 이유
•
지식과 정보의 보고다.
◦
대다수 최신 정보는 영어로 남들보다 한 걸음 앞서는 토대가 되어줄 수 있다.
•
프로그래밍 언어
◦
영어권에서 개발되었기도 하고 의사 소통을 위해 네이밍 컨벤션이 중요하다.
◦
클린 코드에 있어서 가독성이 중요하므로 문장을 잘 구성할 수 있어야 한다.
•
의사 소통 도구
◦
공동체 참여, 질의응답 등의 공용어가 영어이다.
코드 문서화에 영어가 필요한 이유
•
오픈소스의 주석은 영어로 되어있다. 구체적인 구현을 위해 주석을 확인하려면 영어 능력이 좋아야 한다.
회사 생활에 영어가 중요한 이유
•
인적 네트워크 구성 기회
◦
링크드인 페이지 구성, 트위터페이스북 정보 습득
•
업무상 필요한 사항
◦
이메일, 기술 문서 작성, 앱 소개 자료, 마케팅 자료
3. 영어 학습 과정에서 무엇에 집중해야 할까?
소프트웨어 부문에서 읽기가 중요한 이유
•
소프트웨어 개발에서 대부분의 시간은 생각에 쓰고 남은 시간은 대다수를 읽기에 사용한다. 쓰기에 사용하는 시간은 그렇게 많지 않다.
읽기 좋은 코드가 중요한 이유
•
코드는 이해하기 쉬워야 한다.
◦
코드를 작성하는 시간보다 읽는 시간이 훨씬 길다. 따라서 코드는 이해하기 쉬워야 한다.
•
코드의 이해도가 중요하다.
◦
다른 사람이 이해하는 시간을 줄여야 한다.
◦
구현과 테스트가 쉬운 코드의 특성이다.
◦
가독성 높은 코드는 클린 코드의 기본이다.
•
코드 자체를 문서로 볼 수 있다.
◦
어려운 코드를 주석과 문서로 구구절절 설명하는 것 대신 충분히 코드만으로도 이해될 수 있게 작성해야 한다.
◦
생산성을 높이는 첫 걸음이다.
코드 작성 과정에서 쓰기의 중요성
•
코드 내부 식별자는 영어가 일반적이다.
•
코드 내부 주석도 영어가 일반적이다.
•
코드 내부 오류 메시지도 영어가 일반적이다.
•
형상 관리를 위한 커밋 메시지도 영어가 일반적이다.
◦
코드 변경의 이유, 배경, 부수 효과 등을 설명하는 문구 모두 영어가 일반적이다.
어휘력
•
소프트웨어 개발 과정에서 다양한 문서를 읽어야 한다. 이때 어휘력이 뒷받침되어야 한다.
•
전공이나 직업 관점에서 생각해보자. 전문 분야에서만 사용되는 어휘를 이해하기 위해선 충분한 어휘력이 필요하다.
•
단어를 얼마나 알아야 할까? 고등학생의 경우 최소 6천, 대학생은 최소 1만 단어 정도를 알아야 한다.
간단 정리
•
가장 먼저 읽기에 투자하라. 기술 자료와 코드를 읽을 수 있을만큼
•
이후 쓰기에 투자하라. 실무에 적합한 수준으로 갈고 닦아라
•
어휘력은 그야말로 기본 중의 기본이다. 특히 기술 용어에 익숙해져야 한다.
4. 개발자를 위한 영어 학습 로드맵
자원의 밀도
•
학습 초기에는 한국어의 자료도 풍부하다. 하지만 점차 수준이 올라가면서 한국어 자료는 찾아보기 힘들다.
•
수준이 많이 높아지면 인기 있는 자료는 한국어로도 번역되기도 한다.
1. 학습 역량 향상
•
단기적으로 구문을 빠르게 분석할 수 있는 문법을 강화하라.
•
중장기적으로 어휘력 강화
◦
기술 용어에 익숙해지고 개발 문서에서 자주 등장하는 어휘와 표현법에 익숙해지자.
•
읽기 연습
◦
실무에 필요한 읽기 연습을 진행할 필요가 있다. 수준에 맞는 읽을 거리를 찾아서 꾸준하게 시간을 투자해야 한다.
2. 개발 역량 항상
•
남의 코드를 제대로 읽을 수 있게 준비하라.
◦
실제 프로그램의 논리, 주석, 커밋 메시지, 영어로 된 각종 문서를 읽어보라 이때 오픈소스를 적극적으로 활용하라.
•
내 코드를 깔끔하게 만들 수 있게 준비하라.
◦
클린 코드를 위해 프로그램 논리도 중요하지만 영어 관련 역량도 중요하다. 이때 읽기에서 쓰기로 확장된다.
•
문서화에도 신경을 써야 한다.
◦
README나 주석은 영어로 작성하는 습관을 들여야 한다. Change Log 등은 커밋 메시지와 연계해서 제대로 작성해야 한다.
3. 이 강의에서 다룰 로드맵
•
독해(읽기/어휘)
◦
독해 역량 향상 팁
◦
어휘 암기 팁
◦
기술 뉴스/튜토리얼/메뉴얼/기술 블로그/기술 명세서 읽는 방법
•
코드 문서화(쓰기/어휘)
◦
영어 작명법
◦
영어 주석 작성법
◦
영어 커밋 메시지 작성법
◦
영어 오류 메시지 작성법
•
정보 습득(읽기)
◦
검색 엔진 활용법
◦
SNS 활용법
◦
실전 사례
•
질문과 대답(읽기, 쓰기)
◦
좋은 질문과 나쁜 질문
◦
커뮤니티 활용법
◦
실전 사례
마무리
•
메타 지식에 매몰되지 마라!
◦
영어 학습 방법도 중요하지만 실제 영어에 익숙해지고야 결과론적으로 학습 방법에 대한 피드백이 가능하다. 영어 학습이 최종 결과가 되어선 안 된다.
•
최대한 많이 읽고 쓰고 생각하라!