본문 바로가기
Identity_Developer&Analyst/01_Developer

프로그래밍 입문..난 무엇을 고려해야 하는가...

by 스타트업_디벨로퍼 2020. 10. 2.

(관련 링크 : media.fastcampus.co.kr/popular/starter_programming/)

1. 코딩을 배우고 싶은 이유 파악하기

SQL, Java, Python, C, C++, Javascript, Php.. 다양한 프로그래밍 언어 중에 무엇을 선택해야 할 것인가? 프로그래밍 입문자들이 가장 먼저 주변의 개발자들 혹은 커뮤니티에 던지는 질문이다.

그러나 우리가 먼저 던져야 하는 첫 마디는 “어떤 언어로 프로그래밍을 입문해야 해요ㅠㅠ?” 가 아니라 “제가 OO를 해보고(만들고) 싶은데요”가 맞지 않을까 생각해본다. 

자신이 코딩을 배우고 싶은 목적을 명확히하고 얼마 만큼의 시간과 비용을 본인이 투자할 것인지 계산해보면 정보 조달을 위한 수단을 적절히 설정하는 데도 도움이 된다. 프로그래밍을 전공했다고 하더라도, 대학에서 배우는 코딩이 시대에 뒤떨어지고 있다는 말이 자꾸만 언급되다 보니 코딩 관련 온/오프라인 강좌에 대한 관심이 대폭 증가하고 관련 책도 쏟아져 나오고 있는 상황. 다양한 선택지 사이에서 어떤 것을 선택해야 할지는 코딩을 배우고 싶은 이유를 명확히 한다면 답을 조금 더 쉽게 찾을 수 있을 것이다.

꼭 기억할 것.

나는 왜 코딩을 배우려고 하는가? 왜?

 

2. 알맞은 프로그래밍 언어 선택하기

자신이 코딩을 배우려는 목적을 설정한 후, 이제 배워야 할 프로그래밍 언어를 결정해야 한다. 최고의 프로그래밍 언어가 뭘까? 라는 방식으로 접근하기보다는 자신의 목적에 맞는 단 한 가지의 언어, 그것을 활용해 단기적인 목표를 달성하는 것이 먼저일 것이다. 단기적인 목표를 달성한 후 다른 언어를 배우게 되면 자신만의 노하우가 생겨 자연스레 프로그래밍에 익숙해지는 자신을 발견하게 될 것이다.

  • 어떤 언어로 시작할 것인가는 프로그래밍을 배우는 ‘목적’에 따라 다르다는 것!

짧게나마 몇 가지 언어들에 대해 짧게 알아보고 넘어가보자.

현재 프로그래밍 언어 점유율 순위 (출처: TIOBE Index 2019)

1. SQL: Structured Query Language의 약자로 데이터를 가져오는 일을 할 때 유용하다. 데이터베이스에서 정보를 검색해 가져와 요청한 결과를 만드는 데 활용하며 엑셀과 공통점이 많기 때문에 많은 퍼포먼스 마케터들이 사용하고 있는 언어이기도 하다. 

2. Java: 자바는 거대한 규모의 소프트웨어를 만드는 데 중요한 언어이다. 한마디로 만능 언어! 안드로이드의 강세로 그 힘이 더욱 강해진 자바는 앱 개발, 응용 프로그램 배포, 라이브러리 통합 등 다양한 연구 자료가 풍부하기도 한 언어이다.

3. JavaScript: 프로그래밍, HTML, CSS에 대한 기본 지식이 없다면 조금 어려울 수 있는 언어. 웹에 특화된 기술이기 때문에 운영체제나 플랫폼에 상관없이 잘 작동하고 확장성도 상당히 높다는 장점이 있다.

4. Python: 파이썬은 프로그래밍 교육 뿐 아니라 기업 실무에도 상당히 많은 용도로 사용된다. 구글에서 만든 소프트웨어의 50% 이상이 파이썬으로 작성되었다는 말이 있을 만큼 인스타그램, 파일 동기화 서비스 드롭박스 등도 파이썬을 활용하여 나온 프로그램이다. 머신러닝, 딥러닝 등 데이터를 처리하는 일에도 자주 사용된다.

5. C언어 계열(C, C++, C#): 세계적으로 가장 많이 쓰이는 프로그래밍 언어들이다. 구조적 프로그래밍을 통하여 프로그램을 읽기 쉽고 작성하기에도 쉽게 만든 언어. 또한 기존에 작성한 C언어 코드를 거의 대부분 수정없이 C++ 언어로 확장할 수 있어 다양한 운영체제에서 사용이 용이하다는 장점이 있다.

6. Ruby on Rails: 웹을 빠르고 쉽게 구축할 수 있도록 도와주는 Ruby on Rails는 입문자들이 배우기에 적합하다. HTML,CSS, Javacript 또한 함께 익힐 수 있어 다방면의 개발을 배우는 데도 큰 도움이 된다.

(꼭 배워야 할 프로그래밍 언어들에 대한 내용은 다른 글로 더 자세하게 다룰 예정이다)

 

3. 온라인 강의 수강해보기

비용과 시간의 제약이 있거나, 다양한 강의를 접해보고 싶은 이들에게는 온라인 강의를 수강하는 것도 좋은 방법이 된다. 하나의 언어를 두고, 다양한 온라인 강의들이 존재하기 때문에 무엇이 좋은지를 선택하는 일은 쉽지 않을 것이지만 온라인 강의 수강을 결정할 때 최소한으로 고려해보아야 할 점은 다음과 같다.

1. 기본이 먼저다: 당장 코딩을 잘하지 못해도 채용 시장에서는 기초가 탄탄한 사람을 중요시한다. 소프트웨어 베이직, 컴퓨터 구조, 운영체제, 리눅스, 자료구조 등 기본에 충실한 온라인 강의를 찾아 수강하세요.

2. 무한 반복 공부: 알 때까지 무한 복습할 수 있는 인터넷 강의를 고르세요. 기간 제한 확인 필수!

3. 연습은 실전처럼, 실전은 연습처럼: 실습을 함께 병행하거나 미니 프로젝트에 직접 참여할 수 있는 강의인지 확인해보세요. 직접 구축하는 것만큼 성장에 도움을 주는 것은 드무니까요.

 

 

4. 서적 구매 (feat. 냄비 받침은 이제 그만)

 

아무리 인터넷이 정보의 바다라고 할지라도 정보 전달이 너무 산발적이기 때문에 나의 것으로 만들기란 꽤 어려운 지점이 있다. 이보다 포괄적이고 압축적으로 프로그래밍에 대해 알려줄 수단은 책이라고 자부할 수 있는데 여기서 또 고민은 시작된다. 인터넷 서점에 ‘프로그래밍’을 검색했더니 나오는 책은 20,000여개… 처음부터 끝까지 내가 눈으로 한 번에 확인 할 수 있는 책, 내게 맞는 책은 어떻게 과연 고를 것인가?

  1. 서점에 꼭 가서 보고 구입하자: 목차와 제목만 봐도 내가 이 책의 흐름을 잘 따라갈 수 있을 것인지 짐작할 수 있다. 안 맞는 책을 사면 “들어가기에 앞서…” 부분만 훑다가 냄비 받침으로 직행할 수 있으니 꼭 유의할 것.
  2. 책의 저자가 홈페이지나 블로그, 커뮤니티 등을 운영하고 있으면 좋다: 질문할 것, 함께 토론하고 싶은 것이 있을 때 큰 도움이 되기 때문이다
  3. 뒷면의 판권 페이지를 확인해보자: 발행 부수는 많은데 발행일도 최근이라면 많이 팔리는, 또 신뢰도가 쌓인 책이란 것을 반증한다. 물론 베스트셀러임에도 불구하고 책을 펴봤을 때 눈에 잘 들어오지 않는다면 본인에게 맞지 않을 수 있으니 꼭 보고 고를 것
  4. 커뮤니티 검색: 커뮤니티엔 정말 다양한 사람이 있는만큼 자신의 성향에 따라 똑같은 책을 두고도 호평과 혹평이 갈리는 장면을 종종 목격할 수 있다. 이러한 이유에 대해 댓글이나 게시물로 자세히 설명해 주시는 친절한 개발자 분들이 간혹 있으므로 커뮤니티의 글을 참고하는 것도 책 고르기에 도움이 될 수 있다.

 

5. 타인의 코드 훔쳐보기

프로그래밍을 공부할 때 자신의 것 외에 다른 사람의 코드를 대조해 보며 리딩하는 것도 큰 도움이 된다. 인터넷은 오픈 소스 코드가 넘쳐나는 천국이니 (대게 깃헙의 Star가 많은 라이브러리를 둘러보며) 좋은 코드들을 읽어보기에 용이하다. 이 과정에서 ‘타인의 알고리즘을 이해하면서 스스로 성장하는 기분을 느꼈다’는 많은 개발자의 말은 빈말이 아닐 것이다. 열심히 훔쳐보고 카피하여 내 것으로 만들자.

 

6. 블로그나 위키에 자신의 공부 과정 쌓기

직접 시도한 모든 것, 생각의 흐름 등을 하나의 위키나 블로그에 모아 보자. 세상 사람들이 내가 무슨 일(공부)을 했는지 알 수 있게 하고, 긴 글을 작성하는 훈련을 할 수 있음과 동시에 나만의 지식도 논리적으로 빌딩할 수 있다. 보는 이가 없어도 이 활동을 지속적으로 하다보면 지식의 습득 속도 뿐 아니라 밀도까지 높아져 프로그래밍 실력을 체화시키는 데 큰 도움이 된다. 활동을 하다보면 유입되는 다양한 사용자들과 의사소통을 하며 다양한 의견의 장을 열 수 있다는 건 덤!

 

반응형