brunch

You can make anything
by writing

C.S.Lewis

by coder Apr 27. 2023

왜 영어를 두려워할 필요가 없는가?

코딩 영어 시리즈 I

도대체 얼마나 영어를 할 줄 알아야 코딩을 하지?

실제로 한국어로 된 Programing Language가 없는 만큼, 코딩은 영어로 한다. 그래서 가끔 두려워하는 사람들이 있다. 또는 영어에 관련된 직업을 가지고 있거나, 영어에 자신이 있는 사람들은 자신들이 코딩을 시작하기에 유리하다고 생각한다.

결론적으로 말하면 둘 다 틀린 생각은 아니다.


내가 언젠가 한국에서 Game Developer(게임 개발자)로 일하고 있는 친척오빠한테 한국사람들은 코딩을 어떻게 해?라고 물으니 웃으며

 한국 사람 중에 고등학교 졸업하고 그만큼도 영어 못하는 사람들이 어디 있어.

라고 했다.

틀린 말이 아니다. 영어를 잘하지 못해도 코딩을 하는데 별로 문제가 없다. 코딩은 영어회화처럼 능숙한 대화를 창의적으로 구성할 필요도 없고, 고급 문장이나 기교를 부리는 단어를 사용할 필요도 없고, 복잡한 문법을 신경 쓰지 않아도 되기 때문이다. 단순한 Key Words만 알고 있으면 누구나가 읽고 이해할 수 있는 프로그램을 만들 수 있다. 물론 가끔 뉘앙스에 따라서 절절하고 좀 더 형식적인 영어표현이 쓰이기도 하지만 그런 경우는 매우 드물다.


때로는 코딩이 아니더라도 왜 이런 식으로 문제를 해결해야 하는지에 대한 설명이나 예시등을 써야 하는 경우도 있는데 이때도 고급영어라기보다는 실용적이고 간단한 문장 구사만 할 수 있으면 얼마든지 가능하다.


다음의 예시는 Ruby 언어를 사용하는 Rail이라는 웹사이트를 만들 때 사용하는 프레임워크(framework)를 사용한 스크립트이다.

예에서 보듯이 파란색으로 나온 단어들이 바로 Ruby의 Key Words 들이다. class, def, end와 new 등이 속한다

index(오렌지색)는 Rails의 키워드이다. 보통 앱에서 index는 가장 기본적인 페이지를 지칭한다. 가령 www.korea.kr라는 웹 사이트를 갔을 때 처음 보는 페이지가 바로 "index'페이지라 할 수 있다.

@으로 시작하는 단어들(빨간색)이 variable(변수, 또는 변환 값)라고 한다. 개발자가 마음대로 붙인 이름들이다. 설령 내가 지금 쓰고 있는 스크립트가 메시지에 관한 것이라면 이름을 @messages라고 하는 것이 이해하기 쉬운 variable이다.

. 다음에 오는 단어들, 예를 들면 recent 나 new는 우리가 methods(방법)이라고 부른다. 한마디로 Message.recent이라는 말은 최근 메시지를 가리키는 것이고, Message.new라는 것은 새로운 메시지를 만들 때 쓰는 것이다.

# 다음에 오는 것은 Ruby에서는 comment(해설, 설명)이라고 한다. 이것은 프로그램 몰래 하는 개발자의 비밀 대화이다. #다음에 오는 문장이나 단어는 프로그램이 읽지 않고 건너뛰기 때문이다. 참고로 이 예시에서 TODO로 시작되는 코맨드는 미래에 개발자가 이런 것을 할 예정이다 등등이 쓰여있다.


이런 예시들을 보고 설마 코딩이 다 이렇게 쉬울까? 분명히 더 어려운 점도 분명히 있을 거야 하고 생각하는 사람들도 있겠지만 실제로 코딩 스크립은 이런 식의 명령어의 나열이다. 영어가 아니라 키워드를 적절히 사용하고 어떻게 프로그램에게 효율적으로 명령을 하는 것인가 하는 것이 코딩이 때문에 영어를 얼마나 알아야 코딩을 할 수 있나?라는 질문에는 그다지 영어가 필요하지 않다는 대답이 맞다.


코딩은 영어를 쓴다기보다는 적절한 키워드를 논리적으로 나열하는 작업이라 할 수 있겠다.


왜 영어를 잘해야 코딩을 잘할 수 있는가?

아니 여태껏 영어가 필요 없다고 해 놓고 이게 무슨 x소리야?


이렇게 program을 영어로 쓸 수 있고 이해할 수 있다고 영어가 필요 없는 것은 아니다. 코딩을 하는 데는 영어가 필요 없지만, 코딩을 깊게 배우고 잘하는 데는 영어가 중요하다.


앞에서 이야기했듯이 기본적인 function/methods를 만들거나 온라인 수업을 따라가기에는 정말 기본적인 영어면 충분하다. 문제는 내가 궁금한 점이 있거나 좀 더 구체적인 질문을 해야 할 때 한국어로 물어봐서 대답을 얻을 수 있거나 아는 동료들이 대답을 해주면 상관없지만, 인터넷으로 stackoverflow를 봐야 하거나 language  document 또는 source code를 찾아봐야 할 때 등은 영어 실력의 차이가 코딩의 실력의 차이가 되거나, 영어 때문에 코딩이 힘들어지는 사태가 오기도 한다. 다음의 예를 보자:

Ruby 매뉴얼 "String"이라는 타입에 관한 것이다. https://ruby-doc.org/3.2.0/String.html

프로그램 어는 간단하건 복잡하건 스크립트를 쓰면서 항상 이런 문서를 보면서 명령어의 자세하고 정확한 쓰임새나 목적을 아는 작업을 한다. 이것은 1년 차 개발자나 20년 차 개발자나 마찬가지다.


Stackoverflow라는 사이트는 개발자들에게 있어서 ask.com 같은 곳이다. 없는 대답이 없다.

혹시 정말 자신의 문제에 대한 답을 찾을 수 없다면 이런 곳에 자신이 직접 질문을 할 수 도 있어야 한다.


아래 stackoverflow에 올라온 질문의 예시를 보자.

https://stackoverflow.com/questions/824349/how-do-i-modify-the-url-without-reloading-the-page?rq=1

제목- 어떻게 하면 인터넷 주소(URL)를 페이지를 다시 고치지 않고(reloading) 바꿀 수 있나

어떻게 하면 인터넷 주소를 현재의 페이지에서 다시 고치지 않고 바꿀 수 있을까요? URL자체를 다 바꿀 필요는 없고 #앞에 나오는 해쉬(보통 key와 value로 된 그룹을 뜻하고 보통 "=" 등으로 연결되어 있다. 예를 들면, www.korea.info#user_id=333에서 user_id=333이 보통 해당된다)만 바꿀 수 있으면 됩니다. 도메인 뒤부터 변경하기만 하면 되니까 cross-domain policies는 침범하지는 않는다.


코딩에 관한 질문을 하거나 답을 읽어야 할 때 영어를 사용하면 100배 더 많은 정보를 구할 수 있고 도움을 받을 수 있다. 고등학교 수준의 영어도로 당연히 질문을 구하 사거나 답을 읽는 것은 충분하지만 영어에 대한 자신감이 없으면 답답함이 더 크게 느끼실 수도 있겠다.

 

그래서 안타깝게도 코딩공부를 준비하는 사람들은 어느 정도의 영어공부를 병행해야 한다.


영어가 없이는 아무리 한국 사람들과 한국인들을 위한 앱을 만든 다고 해도 앱을 만들 때 다소 스트레스를 받을 수 있다. Python이나 Javascript 등은 한국어로 된 설명서나 도움 되는 글들이 많이 올라오고는 있지만 전 세계인들이 사용하는 stackoverflow정도의 지식수준을 갖출 수는 없다. 언어의 사용 인구가 영어인구에 대비해 소수이기 때문이다.


도움 되는 책을 읽거나 Youtube 강의를 볼 때도 영어가 없다면 다소 불이익이다. 좋은 정보도 너무 많고 여기저기서 오는 도움을 언어의 징벽으로 접할 수 없는 것은 정말 아쉬운 일이 아닐 수 없다. 그래서 틈틈이 영어 공부를 하는 것이 좋다.


어떻게 영어공부를 해야 하나?

지난번에 교보문고에 갔더니 개발자들을 위한 영어책들이 좀 있어서 살펴보게 되었다. 물론 이런 책을 보거나 개발자를 타깃으로 하는 콘텐츠를 보면서 공부할 수 도 있겠지만, 나는 Ted Talk이나 Youtube 등에서 재미있는 콘텐츠 등을 보는 것을 권한다. 그 이유는 다양하지만 가장 중요한 점은 공부를 시험을 보는 것처럼 하는 것보다 즐기면서 오랫동안 꾸준히 하는 것만이 오래 지속적으로 공부할 수 있는 길이기 때문이라고 믿기 때문이다. Youtube 같은 곳에서는 특히 개발자를 위한 강의나 재미있는 콘텐츠 등이 많기 때문에 특히 도움이 되고 재미있게 영어를 접할 수 있다.

나의 경우 처음 직장을 잡았을 때 매일 1시간의 통근 시간 동안 Harvard 대학교에서 무료로 배포하는 CS50라는 프로그램을 Youtube를 통해서 즐겨 보았다. 나는 대학에서 컴퓨터 프로그램을 배우지 않았기 때문에 실제로  고정된 Curriculum이 있는 강의를 듣는 것이 내 매일매일의 일에 도움이 된 다기보다는 여러 가지 프로그램에 대한 전반적인 이해에 큰 도움을 받았다. 실력향상뿐만 아니라 자신감을 UP 하게 해 주는데도 도움이 된 것이다. 그뿐 아니라 거의 모든 강의는 대학 수업보다 짧고, 재미있고 흥미로운 콘텐츠로 구성되어 있다.

이 글을 쓰고 나서 나도 혹시 무언가 한국에서 코딩을 배우는 분들을 위해 도움이 될 일이 없을까를 생각하다가 Youtube강의나 온라인 학습프로그램을 한국어로 번역하는 봉사를 할까 하는 생각이 들었다.


다음에는 실리콘벨리에서 일하는데 실제적으로 필요한 영어는 어느 정도 되는지 소개드리겠습니다.

읽어주셔서 감사합니다!


대문사진은 Photo by Clément Hélardot on Unsplash

작가의 이전글 실리콘밸리 엔지니어 입사과정
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari