신기술 학습 레시피

매일 새로운 기술이 쏟아지는 세계. 어떻게 적응할 것인가?

“개발자는 계속 공부해야 하는 직업이다.”

개발자란 직업을 어려워하거나 원망하는데 자주 사용되는 말입니다.

근데, 개발자만 그런가요? 사실, 모든 직업이 전문가가 되려면 계속 공부해야 하는 것이 사실입니다.

하루가 다르게 빠르게 발전하고 새로운 기술이 쏟아지는 IT세상에서 어떻게 해야 적응할 수 있을까요?

그 노하우를 알려드립니다.


또 나왔어!

초고수를 지향하는 우리 주니어 개발자들은 기술 트렌드에 뒤처지지 않으려고 늘 새로운 기술에 민감합니다. 새로운 기술이 나오면 빠르게 학습하고 적용해 보고 싶습니다. 부지런한 개발자는 개인 프로젝트까지 시도해 보겠죠. 그리고 하나하나 해보면서 어느 정도 ‘아~ 이런 거구나’ 하는 순간! 뜨아~ 새로운 기술이 또 나오게 되고 다시 공부해야 할 생각에 좌절하게 됩니다.

매일 유튜브만 보고 띵가띵가 놀기만 하는 것 같은 우리 개발팀장님은 내가 뭔가 고민하고 있으면 쓰-윽 지나가면서 한마디 합니다.

“이거는 이렇게 하면 요런 문제가 있어, 새로 나온 고런 방식을 사용하면 이 부분이 해결되겠지만, 아직 저~기 부분은 미흡하기 때문에 다음 버전에서 해결될 것이고, 일단 지금은 이렇게 처리하자..”
저 아저씨, 공부하는 꼴을 본 적이 없는데.. 왜 이걸 다 알지? ㅂㄷㅂㄷ

초고수를 지향하는 우리 주니어 개발자와 띵가띵가 팀장님은 무슨 차이가 있을까요? 단지 경험과 경력의 차이인가요? 팀장님은 무슨 시간과 공간의 방이라도 있는 건가요?


기술을 학습하는 방법은 따로 있습니다.

이렇게 말하면 많은 분들이 놀라십니다. 방법이 따로 있다고요? 네! 따로 있습니다.

그리고, 그 방법대로 하지 않으니까 어렵고 오래 걸리는 겁니다.

알고 보면 당연하지만, 아직까지 하지 않았던, 효과는 확실한, 그 방법을 지금부터 알려드리겠습니다.

다음의 4단계로 학습하시면 됩니다.

  • 1단계: 배경 이해하기
  • 2단계: 핵심 기술 파악하기
  • 3단계: 공식문서 읽기
  • 4단계: 실습해보기

지금까지의 했던 방법

검색해서 나오는 블로그를 보지 않고 공식문서를 보신다고요? 그리고 Quick Start를 따라 하셨다고요? 잘하셨습니다. 근데 그건 3,4 단계입니다. 1,2단계를 건너뛰셨어요. 이 방법의 핵심은 1,2단계거든요!

1단계: 배경 이해하기

어떤 기술이든 나오게 된 이유가 있습니다. 그 이유는 어떤 문제를 해결하기 위한 것이죠. 그래서 그 기술이 나오게 된 배경을 이해하는 것이 중요합니다.

어떤 문제 때문에 나오게 된 것인가?

어떤 해결 방법이 있는가?

이 기술은 어떤 방식으로 해결하는가?

기존 기술들과 차이점이 무엇인가?

이것을 알고 넘어가는 것이 매우 중요합니다.

실제로 여러 iOS 개발자들이 RxSwift를 배우고 싶어 하셨습니다. 문서도 많고, 예제도 많습니다. 근데 어렵다고만 합니다. 이 단계를 거치지 않아서 그렇습니다. RxSwift를 이 단계에 맞춰 (간단하게) 설명해 볼게요

비동기로 처리를 하는 코드가 가독성이 떨어지는 문제를 해결하고 싶었습니다.

Future 나 Promise 같은 해결방법이 있었지요.

근데 RxSwift가 또 나왔네요? 기능적으로 내용은 똑같아요.

근데 RxSwift의 Stream은 다른 것들과 다르게 여러 Operator들이 있어요.
그러면 Operator 들을 알고 이해하는 것이 RxSwift를 이해하는 핵심이겠군요!

이렇게 1단계 과정을 거치고 나면 무엇을 알아야 하고 어떤 부분에 집중해서 공부해야 할지 명확해 지죠. 이러면 일단 절반은 먹고 들어가는 겁니다.

2단계: 핵심 기술 파악하기

이제 우리가 학습하려는 기술은, 다른 유사 기술들 또는 기존에 사용하던 방식과의 차이점이 1단계를 통해서 확인되었습니다. 이제 이 한 놈만 패면공부하면 됩니다.

집중! 여기서 판단해야 합니다.

이 기술이 제시하는 해결방법이 내가 추구하는 개발 방향, 우리 회사가 추구하는 개발 방향에 부합되는가? 이것을 판단해야 합니다. 만약 맞지 않는다면 더 이상 볼 필요도 없죠. 이 기술은 공부 안 해도 됩니다. 그리고 이거 모른다고 아쉬워할 필요도 없습니다.

3, 4단계는 하던 대로 하세요

이제 공부할 준비가 된 거예요. 이렇게 중심이 서고 난 후에 공부를 시작하는 겁니다.

2단계에서 알게 된 핵심기술 위주로 하세요. 그리고 그 핵심은 공식문서에 잘 설명되어 있을 수밖에 없습니다.

이제 하던 대로 하시면 됩니다.


띵가띵가 팀장님이 그저 한 번 쓰-윽 보는 걸로 모두 알 수 있는 이유는 바로 학습의 속도입니다.

기존 기술에 대한 이해가 많을수록, 그리고 그 기술을 지탱하는 기반기술에 대한 이해가 높을수록 그 속도는 가속됩니다. 반대로 레시피 알아도 기존 문제에 대한 공감과 유사/기반 기술을 모르면 소용없습니다.

띵가띵가 팀장님은 이렇게 말할 겁니다.

기본기에 충실해라!