반응형

초보자에서 초중급자, 중급자로 넘어가는 방법을 정리해보았다.

 

1. 내가 쓰는 도구를 이해하자. 

 

  • 쓰는 툴에 대한 이해도가 높아질수록, 작업 속도가 빨라 진다.
  • 개발 툴의 단축키나 개발 툴의 보조도구 (플러그인, 익스텐션) 등을 알고 있을수록 생산성이 올라간다.
  • 의식적으로 내가 자주하는 작업을 생각하고, 이걸 쓰는 단축키가 있는지 알아보도록 하자.
  • 우선 자주 쓰는 단축키 ( 영어로는 short cut cheetsheet ) 를 검색해서, 남들이 쓰는 단축키를 알아보고, 10개정도만 적용해보자. 생산성이 달라진다.

2. 빌드 시스템을 이해하자. 

 

  • 프로젝트가 커질수록 빌드에서 문제가 생기는 경우가 많다.
  • 빌드 시스템에 대해서 따로 시간을 투자해서 공부하는 게 좋다. 빌드가 어떤 과정으로 되는지 알면, 빌드가 느려지는 원인이나 막혔을때 해결법을 알 수 있다.
  • 웹 개발자면 webpack (웹팩), 모바일이면 gradle (그래들), pod 를 이해하자.
  • 버전업 등으로 문제가 생기더라도 스스로 해결 할 수 있게 될 것이다. 적은 구글링 혹은 구글링 없이도 문제를 고칠 수 있게 된다.
  • 빌드 시스템 이해가 먼저고 CI/ CD 가 다음이다.

 

3. 라이브러리를 작성해 보자.

  • 직접 라이브러리를 만들어보면 어떤 코드를 재활용하고,  코드를 어떻게 나눠야 효과적인지 감이 잡히기 마련이다.
  • 라이브러리를 만들다보면 남이 만든 라이브러리도 자연스럽게 많이 읽게 되는데, 가져다 쓰기만 할때와는 다른 깊은 이해를 얻게 된다.
  • 이미 비슷한 라이브러리가 있다고 해도, 내가 라이브러리를 만들어보면은 많은 걸 배우게 된다.
  • 공개도 할 수 있으면 하자.  공개하는 코드랑 개인적으로 쓰는 코드는 아무래도 질적인 면에서 차이가 나기 마련이다.

4. 다른 언어로 포팅을 해보자. 

  • 한 언어로 구현된 코드를 다른 언어로 바꾸려면 많은 난관을 겪게 된다. 이전 언어의 라이브러리를 못 쓰는 경우도 많고, 문법 자체가 다른 경우도 많다.
  • 포팅을 하려면 결국 2언어를 다 이해해야 하는데, 한 언어로만 코딩하는 것에 비해 3~4배는 힘든 일이다.
  • 대신 성공만 하면 이전 언어에 대한 이해가 폭발적으로 좋아지고, 새 언어도 잘 쓰게 된다.
  • 파이썬으로 백엔드를 작성했다면, 노드나 스프링으로 작성해보도록 하자.

 

5. 개발 일지를 적어보자. 

  • 내가 오늘 개발한것, 문제는 무엇이 있었는지를 적어보는 것이다. 해결책도 같이 적는게 좋다. 공개된 장소에 적어도 좋고, 개인 일기장에 적어도 좋다.
  • 개발 일지를 적으면, 같은 문제를 만났을때 해결하는 속도가 매우 빨라져서 좋다. 또 내가 반복적으로 잘못하고 있는 것을 알게 되어서 내가 범하는 명백한 실수를 없앨 수 있어서 좋다.
  • 개발일지를 오래 적을수록, 자신만의 지식창고 만들어지기에 생산성이 높아진다.
  • 우리 두뇌는 자신이 기록하고 정리한 것을 더 오래 기억하고, 쉽게 찾는다. 단기적으로는 시간을 좀 더 쓰는 것 같아도 장기적으로는 이득이다.

6. 컴파일을 덜 하자. 

  • 1줄, 1줄 단위로 코드를 작성하고, 실행을 하면 결과를 바로 볼 수 있어서 편하지만 실행 전에 결과를 알지 못한다.
  • 반면 코딩을 여러 줄 혹은 블록 단위로 컴파일을 하게 되면 실행 전 결과를 예측이 가능해진다.  머릿속으로 코딩 결과를 예측하는 습관이 들고 예측하는 범위가 커질수록 개발속도가 올라가게 된다.

 

7. 다른 시도를 해보자. 

  • 테스팅을 소홀히 해왔다면 테스팅을 해보자. 안 하던 스타일로 리팩토링을 시도해봐도 좋다.
  • 서버 개발자면 클라 개발을 해보거나, 다른 분야 개발을 해보자.
  • 정적 언어만 했으면 스크립트 언어를 만져보거나, 스크립트 언어만 했다면 정적 언어를 해보자.
  • 다른 시도를 하면 실력이 일시적으로 줄어들게 되지만, 새 시도에 익숙해지고 나면 원래 쓰던 방법들을 더 잘 쓸 방법이나 응용할 방법을 알게 된다. 다른 분야의 지식이 새 분야로 옮겨가면서, 이전에 알던 부분을 더 나아지게 할 방법을 알게 된다.

 

8. 가르쳐보자.

  • 가르치다보면 내가 실제로 알고 있다고 생각한게, 실제로 아는 게 아닌 걸 알 수 있다.
  • 다른 사람을 이해시키려면 풀어서 설명을 하게 되고, 설명을 하는 과정에서 깊이 알게 된다.
  • 가르치다보면 라이브 코딩을 많이 하게 되는데, 내가 예상치 못한 에러를 많이 만나게 된다. 이 에러를 해결해주는 과정에서 디버깅 실력이 올라간다.
  • 가르치다보면 질문에 대비하기 위해 준비를 더 많이 하게 된다. 일할때는 1만 알고 적당히 넘어 갔던 것을, 가르칠때는 4~5배 찾아보게 되는 경우가 흔하다. 이 과정에서 깊이가 생긴다.
  • 우리 두뇌는 무언가를 가르쳐야 한다고 생각하면 정보를 더 깊게 받아들인다. 우리 두뇌는 에너지 낭비를 싫어해서 안 중요하다고 여기면 무시한다. 가르쳐야 된다고 여기는 순간, 중요한 정보로 여겨 더 잘 기억한다.

 

개발을 공부할때 종종 쓰는 방법을 정리해보았다.  이 글이 개발 실력을 높이는데 도움이 되었으면 한다.

반응형

+ Recent posts