본문 바로가기
카테고리 없음

[코딩] 코딩을 시작한 당신에게 조언

by 에비안 2022. 9. 3.
728x90
반응형

유투버 '노마드 코더'는 어렸을 때 해킹을 하고 싶어 코딩을 시작했습니다. 지금은 풀스택 개발자이고 그동안 많은 시행착오가 있었다고 합니다  노마더 코더가 어린 나에게 주고 싶은 2가지 조언을 들어봅시다.

 

1. 시간은 나의 가장 소중한 자산이다.

나는 부자를 돈이 많냐가 아닌 시간이 많냐로 판단한다. 회사ceo가 되어 아파트, 차가 많아도 아내와 친구랑 지낼 시간이 없다면 결국은 '가난'하다고 생각한다.  아무도 시간을 살 수 없다. 일론 머스크도 시간을 살 수 없다.  그러므로 나를 알아서 시간을 낭비하면 안 된다.

 

 2. 나를 아는 것은 진짜 중요하다.  

 나 자신을 잘 아는 것이 시간을 절약하고 목표에 더 가깝게 만들어줄 것이다.자신이 어디로 향하는지 안다면 모든 것을 배울 필요도 없다. 예를 들어 비디오 게임을 만드는 것을 좋아하고 그게 목표라면 자바스크립트는 피하고 c++, 언리얼 엔진 공부에 집중하면 된다. 혹은 ios나 애플을 좋아하고 애플을 위해 아름다운 앱을 만들고 싶다면 swift 공부에 집중하면 된다. 혹은 본인만의 제품과 스타트업을 만들고 싶다면 자바스크립트와 다른 백엔드 언어를 배우면 된다 . 혹은 블랙체인과  web 3.0이 미래라는 걸 믿는다면 Rust, Go, Solidity를 배우면 된다.

정말 많은 언어, 책이 있어서 선택해야 한다. 무엇을 배울지와 무엇을 배우지 않을지를 결정해야 한다. 나는 나 자신을 알지 못해서 다양한 주제를 배우느라 시간을 보냈고 이로 인해 진도가 느려졌었다. 

소프트웨어 개발에는 정말 많은 분야가 있어서 다 배우는 게 불가능하다.

 

3. 그렇다면 어떤 언어부터 시작해야할까?

파이썬-로고
파이썬-로고

초보를 위해서는 2가지 옵션이 있다. 파이쎤 또는 자바스크립트이다. 본인이 어떤 사람인지에 따라 결정하면 된다. 만약 시각적인 사람이라면, 인터렉티브한 것을 좋아한다면, 웹사이트, 앱, 비디오 게임 등 사람들이 클릭할 수 있은 것을 좋아한다면 그런 경우라면 자바스크립트를 추천하겠다. 

혹 AI, 자동화, 트레이딩 봇, 데이터 마이닝에 관심있다면 파이썬을 추천한다. 파이썬은 특히 구문이 쓰기 쉽고 편해서 초보자에게 추천한다. 

내가 만약 이런 사실들을 알았다면 자바 스크립트부터 배웠을 것이다. 왜냐면 웹사이트, 앱, 비디오 게임 등 수많은 인터렉티브한 프로덕트를 만들 수 있기 때문이다. 

 

한 언어를 마스터하라.

하나 더 알아야 할 것은 한 언어에 스페셜리스트가 되는 것이다. 어떤 언어든 상관없다. 좋아하는 언어를 선택하고 제대로 깊게 배워두는 것이 많은 언어를 아는 것보다 좋다고 생각한다. 그 언어에 관한 책을 사고, 모범사례를 읽고 해당 커뮤니티에서 활동하고, 컨퍼런스도 가보는 것이다. 한 언어를 마스터하고 다른 언어로 이동하는 건 쉽다. 그러므로 일단 한 언어의 전문가가 되는 게 중요하다. 물론 산업에서 수요가 높은 언어를 선택하면 좋겠지.

 

지루한 걸 미리 공부하라.

하나 더 말할 것은 '지루한 걸 미리 공부할걸;이다. 데이터구조나 알고리즘 같은 것이다. 이건 나처럼 독학한 사람들이 부족한 부분이기도 하다. 헬스장에서 다리 운동같은 거다. 다들 이두박근 운동하는 걸 좋아하지 다리운동은 안한다.  코딩할 때도 이두박근처럼 화려한 부분만 배우고 정렬 알고리즘이나 시공간 복잡도 같은 다리운동은 안하는 것이다. 데이터 구조와 알고리즘 구조는 넥스트 레벨로 업그레이드해주는 요소이다. 애플리케이션을 최적화할 수 있는 요소이고 깨끗하고 체계적인 코드를 작성하는 데 도움이 된다. 하지만 데이터 구조와 알고리즘을 너무 일찍 배우지 않은 것도 다행이다. 시작하는 단게에서 배우기엔 너무 지루하고 아무것도 만들어보지않은 단계에서는 이렇게 어려운 걸 배우는 것은 어떻게 적용할지도 이해하기 어렵기 때문이다.

그렇기에 일단 뭔가를 만드는 데 집중하는 초보의 경우, 전체적인 제품 싸이클(프론트엔드, 백앤드, 데이터베이스, 유저 인 증, AWS 배포까지) 까지 한 에 데이터 구조와 알고리즘을 배워도 늦지 않았다고 생각한다.

 

또 미리 배웠으면 하는 것은 SQL이다. 아무리 멋진 프레임워크를 사용하더라도 결국 충당해야 하는 데이터베이스와 작업을 해야 하고 그것은 SQL 데이터베이스가 될 가능성이 높아. SQL은 매우 배우기 쉬워, 재밌진 않지만 꽤 유용하다. 많은 것을 배울 필요도 없다. 주말 이틀정도만 할애한다면 생존하는데 필요한 SQL 필살기를 배울 수 있다. 

 

또, 프로그래밍 언어 이외에 텍스트 에디터 활용법을 익히면 좋다. 나는 개인적으로 VS Code를 사용하는데 무엇이든 상관없다. 시간을 어느정도 들여 해당 에디터를 커스터마이징하고 빠르게 활용하길 바란다. 참고로 색이나 아이콘을 예쁘게 바꾸라는 말이 아니다. 단축키, 익스텐션 등을 배워 생산성을 높이고  시간을 아끼라는 의미이다. 

 

자아를 죽여라

마지막으로 중요한 것은 너의 자아를 죽이라는 것이다. 경험을 쌓는 단계에서 자아는 적이다. 자아는 성장을 막는다. 더이상 배울 게 없고 이미 정상에 있다고 너를 속일 것이다. 훌륭한 프로그래머가 되고 싶다면 항상 학생으로 남아있어야 한다. 질문하며 겸손해야 하며, 항상 배울 것이 있다고 생각해야 한다. 누구나 당신에게 가르쳐줄 수 있다고 생각하고, 본인이 초보였을 때를 기억해야 한다.끊임없는 변화에 적응할 수 있어야 하고,플래시, 액션스크립트, 드림위버의 마스터였던 사람들과도 작업할 줄 알아야 한다. 적응할 것인가, 죽을 것인가.  본인보다 어린 사람에게 배워야 한다면서 새로운 것을 배우기 주저하는 선임 개발자가 되지 말자. 

 

 

https://www.youtube.com/watch?v=FVRXlaC1oZg

 

728x90
반응형

댓글