새로운 지식이나 스킬을 배울 때 태도나 마인드는 중요합니다. 사실 뭔가를 배울 때 태도는 많은 걸 결정합니다.
이는 임베디드 리눅스를 배우는 과정에도 그대로 적용될 수 있습니다. 실무 스킬을 배울 때의 태도에 따라 고수 개발자가 될 수도 있는 거죠.
스스로 너무 자신을 자책하지 마세요
사실 많은 신입 개발자 분들이 이런 유형에 포함될 지도 모르겠는데요. 저도 처음 임베디드 리눅스를 배울 때 '스스로 자신을 너무 자책'했던 것 같습니다.
개발을 하는 도중에 뭔가 잘 안돼거나 막히면 스스로를 자책하는 거죠. 지금도 뭔가 막히면 스스로 다음과 같은 소리를 저도 모르게 합니다.
"이것도 못 하니? 난 정말 허접이구나!"
그런데 나중에 몇 개의 프로젝트를 마무리한 후에 절감했던 사실이 있습니다. 그것은 바로 다음과 같은 사실입니다.
"개발하는 과정이 걸림돌을 만나는 것 그 자체이다"
개발을 하는 과정에 수 많은 걸림돌을 만나게 됩니다. 몇 가지 예시를 들어볼까요?
* 당연히 잘 동작할 것이라 예상하고 짠 코드를 빌드해 타겟 디바이스에 다운로드해
확인하면 제대로 동작하지 않습니다.
* 가끔은 아예 부팅이 안 됩니다.
* 컴파일러를 설치하다가 에러 메시지와 함께 중단됩니다.
* GIT 브랜치에 코드를 반영했는데 conflict이 났다는 경고 메시지를 만날 수 있습니다.
물론 이런 걸림돌은 모두 제거 됐습니다. 이 후 프로젝트를 계속 진행하면서, 개발을 하다 보면서 뭔가 하다가 잘 안돼거나 막히면, 다음과 같이 생각하는 게 낫다고 생각하게 됐습니다.
* 어디가 문제일까? 차근 차근 확인해볼까?
* 문제를 해결하는 과정으로 뭔가 배울 수 있을 거야. 언젠가는 잘 되겠지.
이런 긍정적인 마인드와 함께 문제의 원인을 찾기 위해 리서치를 하는 것이죠. 그런데 문제는 이런 상황에서 자신을 너무 자책하는 겁니다.
"이런 것도 못 하다니, 난 허접 쓰레기구나"
개발 도중 뭔가 막혀 잘 안돼는 것은 아직 해본 적이 없는 걸 해봤거나 기반 지식이 부족할 뿐입니다. 절대 자신이 바보라서 못하는 게 아닌 것이죠.
스스로 자신을 너무 자책하면 이 과정에서 너무 많은 에너지를 소모할 가능성이 높아집니다. 이런 태도와 마인드로 개발을 하게 되면 빨리 지칠 가능성이 높아집니다. 또한 감정적으로 바뀝니다. 그래서 가끔은 키보드를 주먹으로 치거나 욕을 하기도 합니다. 이런 태도와 마인드로는 개발을 오래할 수 없습니다. 개발이 지겹고 재미없다고 느낄 가능성이 높아집니다.
Written by <디버깅을 통해 배우는 리눅스 커널의 구조와 원리> 저자

최근 덧글