멘토지원
파트너스
현직자 클래스
멘토 찾기
Best 질문답변
IT 개발, 언어 선택부터 클론 코딩까지- 현직자 멘토. 다시 돌아간다면 저는 이렇게 학습하겠습니다
잇다 · 제품개발팀
약 2년 전
💬 멘티의 질문


멘토님. 개발자의 꿈을 가지고 있는 공대생입니다. 전역하고 개발 직무에 매력을 느끼고 준비하려고 합니다. 원래는 하드웨어 쪽으로 공부를 했고, 자격증 준비를 하느라 소프트웨어 쪽은 아예 준비가 안 되어 있는데요. C 언어는 유튜브를 통해 공부하고 있지만 도통 모르겠고, 그나마 파이썬은 쉬워서 이해는 하고 있습니다. 


©Clément Hélardot


점차 의욕이 사라지고 있는 지금. 이 상황에서 조언을 구해보려고 합니다. 멘토님 역시 원래 전공이 아니셨기에 어떻게 공부를 시작했고, 처음에는 프로그래밍 언어를 어떤 언어로 배웠는지 궁금합니다.


C 언어를 나중에 배우고 파이썬을 먼저 배워서 기초를 다지는 것이 나을까요? 여러 유튜버들은 책을 구매해서 함수에 대해 먼저 공부하는 것이 중요하다고 하는데, 멘토님께서도 책을 구매하셔서 함수부터 차례차례 공부하셨는지 아니면 유튜버 강의 듣고 따라 하셨는지 어떤 방식으로 공부를 해서 개발자가 되셨는지 알고 싶습니다.


현직자 멘토님의 조언 부탁드립니다.


💬 홍진영 멘토의 답변


안녕하세요.


응용 소프트웨어 개발자로 직무를 생각하고 계시군요. 질문 주신 내용은, 취업 전의 공부 방법, 그리고 어떤 언어를 공부해야 할 지로 정리했습니다. 먼저 이 두 가지를 설명하기 전에 하나 더 추가하고 싶은 것이 있습니다. 멘토님은 개발자 직군에서 어떤 직무를 맡아 하고 싶은 건가요?


 ©Lewis Kang'ethe Ngugi


목적지를 설정해야 길이 나옵니다

개발자 직군은 여러 가지가 있습니다. 크게는 웹과 앱, 게임, 인프라, 데브옵스, IoT, 임베디드 등으로 나누어지지요. 또 작게 웹 개발자의 경우에는 프런트엔드 개발자, 백엔드 개발자, 앱 개발자의 경우에는 안드로이드/ 아이폰 개발자, 게임은 클라이언트 서버 개발자 등등으로 세분화할 수 있습니다. 


느낌이 오시나요? 개발자 진로를 선택하기 전, 크게 어떤 직군을 선택하는 가에 따라 공부할 내용이 달라집니다. 가장 빠른 길을 찾기 위해서는 내비게이션에 일단 목적지부터 입력해야 합니다. 원하는 포지션을 선택한 후에야 공부하고 따라가야 할 길이 보인다는 말씀입니다. 이래야 취업으로 가는 길이 명확해집니다. 


언어 선택도 마찬가지입니다. 취업하고자 하는 직무에 맞게 언어를 공부해야 합니다. 특히 해당 직무에서 가장 많이 사용하고 있는 언어에 대해서 공부해야 합니다. 예를 들면, 웹의 프론트엔드 개발자의 경우를 예를 들면, HTML, CSS, JS를 기본으로 알고 있어야 합니다. 게임 클라이언트 개발자의 경우에는 유니티, 언리얼 엔진을 위해 C# , C++을, 아이폰 개발자의 경우에는 swift를 공부해야 햡니다. 이렇게 직군별로 사용하는 언어가 다르니 먼저 직군으로 방향을 선택하여 언어를 공부하는 것이 취업 방향에 있어 헤매지 않습니다.


 ©AltumCode


다시 돌아간다면? 저는 이렇게! 

제가 취업한 방식보다, 제가 취업한 후에 어떻게 공부했으면 빨리할 수 있었을지에 대한 회고에 기반하여 설명드리겠습니다. 기본 언어 사용을 터득하면서, 클론 코딩을 하는 방식을 추천드립니다. 

 

1.프로그래머스 혹은 백준의 난도가 낮은 코딩 테스트를 병행하여 언어 사용을 습득합니다.

-언어의 기초적인 문법을 할 수 있어야 다음 클론 코딩을 진행할 수 있기 때문이고,

-이를 통해 언어의 사용법에 대해 구글링을 하며 검색 능력을 기를 수 있습니다.

-마지막으로 개발자의 토익이라고 불리는 코딩 테스트 공부도 병행할 수 있습니다.

 

주의점은 언어 사용이 완벽할 필요는 없습니다. 난도가 낮은 코딩 테스트만 넘기셔도 클론 코딩할 때, 큰 문제가 없습니다.

 

2. 클론코딩

실제 현재 서비스되는 웹, 앱, 게임 등등을 직접 구현해 보는 것으로 시작하는 것이 좋습니다. 이것을 클론 코딩이라고 합니다. 클론 코딩을 하는 이유는 크게 두 가지가 있습니다.

 

-하나의 서비스가 어떤 흐름으로 진행되는지 알 수 있다.

-어떤 문제가 발생했고, 이 문제를 해결하기 위해 어떤 도구를 사용했는가?의 사고를 습득한다.

 

첫 번째로 하나의 서비스가 어떤 흐름으로 진행되는지 알아야 합니다. 웹 프로그래밍을 예시로 들면, 사용자가 보는 화면 구성을 위해 데이터를 어떻게 사용자의 브라우저에 보내고, 서버에서는 어떤 데이터를 가공해서 보내는지에 대한 커다란 흐름을 경험할 수 있습니다. 이것을 통해서 자신이 좋아하는 분야가 프론트엔드 인지, 백엔드인지도 결정하는데 큰 도움이 되고, 동시에 자신과 협업하는 다른 직군의 개발자와 소통하는 데 도움이 됩니다.

 

두 번째로 개발자는 ‘문제 해결을 위해 어떤 도구를 사용했는가’의 관점이 가장 중요합니다. 클론 코딩할 때는 단순히 똑같이 만드는 것이 중요한 것이 아니라, 왜 이 서비스는 왜 이 언어를 선택했고, 프레임워크를 선택했는가? 왜 여기서 이 버튼을 사용했을까? 왜 여기서 이 기능이 사용되었을까? 와 같은 질문에 대한 고찰이 개발 실력을 크게 성장케 합니다. 저는 이런 문제를 해결하기 위해서, 유튜브와 책, 블로그 등을 보는 것을 추천드립니다.

 

빠르게 취업을 하시길 기원하면서, 이만 글을 줄이도록 하겠습니다. 공부 방향에 조금이라도 도움이 되었길 바랍니다. 긴 글 읽어주셔서 감사합니다.


홍진영 멘토
잇다 · 제품개발팀
IT개발/데이터
수학과를 전공하고, 수학 강사의 여정에서 개발자의 진로로 다시 선택하게 되었습니다.
이 여정에서 여러분께 도움이 될 수 있는 부분이 있다면 도와드리고 싶습니다.
현재 Product Engineer로 잇다 팀에 합류하였습니다.
같은 직무를 다룬 글
인기 있는 글
연구/설계
약 5년 전
잇다의 멤버가 되어주세요 🚀
직무, 취업 콘텐츠를 담은   뉴스레터를 받아볼 수 있어요.
멘토에게 직접   질문할 수 있어요.
현직자 클래스를 무료로 수강할 수 있어요.