요약
개발자로써 가장 갖춰야할 것은 문제 해결 능력이다.
문제 해결 능력을 갖추기 위해서는
-
직관을 길러야 한다.
직관을 기르기 위해서는
-
경험을 많이 쌓아야 한다.
경험을 잘 쌓이 위해서는
- 모든 문제 해결 과정을 기록한다.
-
- 문제와 관련된 부분을 깊게 공부한다.
- 개발 아티클을 읽으며 간접 경험을 한다.
- 기술을 익혀야 한다.
- 언어 : 책을 읽는다.
- 라이브러리, 프레임워크 : 공식 문서를 읽는다.
- 더 나아가 코드를 보며 동작 원리를, 아티클을 읽으며 더 넓은 지식을 쌓는다.
서론
개발자가 되기 위해 내가 부족하다고 느끼는 점을 생각하기에 앞서, 개발자가 갖춰야 할 자질에 대해 먼저 고찰해보아야 할 것이다.
본론
내가 생각하는 개발자의 필수 역량은 첫째로 문제 해결 능력이다. 개발자는 단순히 코드를 복사-붙여넣기하는 사람이 아니다. 기초적인 작업은 그렇게 할 수 있겠지만, 새로운 기능이나 기획을 구현하려면 직접 코드를 수정하고 작성해야 한다. 이 과정에서 필요한 것이 바로 '문제 해결 능력'이다.
개발의 본질은 문제 해결이다. 서비스 개발은 사회적 또는 개인적 문제를 해결하기 위한 것이며, 기능 개발은 서비스의 특정 문제를 해결하기 위한 것이다. 개발 과정에서 마주치는 버그도 문제이고, 새로운 기술 도입을 위한 고민도 문제다. 개발자가 마주하는 모든 것이 문제라고 할 수 있다. 이러한 문제를 얼마나 잘 해결할 수 있느냐, 즉 '문제 해결 능력'이 개발자에게 가장 중요하다고 생각한다. 그래서 나는 개발자를 문제 해결사라고 본다.
그렇다면 문제 해결 능력을 기르는 방법은 무엇일까? 개발 과정에서 우리는 수많은 문제에 직면한다. 모든 문제를 깊이 고민하고 연구하는 것이 이상적이지만, 현실적으로 시간은 제한되어 있다. 따라서 우리는 직관을 길러야 한다. 이 '직관'은 문제 해결 경험을 통해 형성된다. 결국 우리에게 필요한 것은 풍부한 '경험'이다.
이러한 경험을 온전히 자신의 것으로 만들려면 모든 것을 기록해야 한다. 단순한 '해결 과정'뿐만 아니라 고민의 내용, 과정, 해결 방법, 그리고 결론까지 모든 것을 상세히 기록해야 한다. 이렇게 축적된 경험이 우리의 직관을 형성하고, 향후 유사한 문제에 직면했을 때 해결의 실마리가 된다. "그때 그렇게 했더니 잘 됐었지!"라는 생각이 바로 그것이다.
더 나아가, 문제와 관련된 기술을 깊이 있게 공부하는 것도 중요하다. 모든 기술을 완벽히 이해하는 것은 불가능하지만, 자주 마주치는 문제와 관련된 부분은 충분히 깊이 있게 공부할 만하다. 이 과정에서 '유레카!' 순간을 경험하게 되면, 그 분야의 전문가로 성장할 수 있는 기회를 얻게 된다.
개발 관련 아티클을 읽으며 간접 경험을 쌓는 것도 유용한 방법이다. 물론 이는 타인의 경험이며 직접 경험을 대체할 수는 없다. 하지만 이러한 간접 경험은 우리에게 귀중한 인사이트를 제공하며, 직관을 기르는 데 도움이 된다.
문제를 효과적으로 해결하기 위해서는 사용하는 기술의 개념과 동작 원리를 깊이 이해해야 한다. 단순히 사용법만 알고 있다면 예상치 못한 문제에 직면했을 때 해결이 불가능하다. 정해진 사용법이나 공식 문서의 가이드를 벗어난 에러, 또는 여러 기술이 결합되어 발생하는 복잡한 문제를 해결하기 위해서는 기술에 대한 깊은 이해가 필수적이다. 나는 프로그래밍 언어를 학습할 때는 두꺼운 책을, 라이브러리나 프레임워크를 익힐 때는 공식 문서를 주로 참고한다. 기본 개념을 익힌 후에는 실제 코드를 분석하며 동작 원리를 파악하고, 관련 아티클을 통해 지식의 폭을 넓히는 것이 효과적이다.
결론
앞으로 나는 탁월한 문제 해결 능력을 갖춘 개발자가 되고자 한다. 이를 위해 개발 과정에서 다양한 도전을 받아들이고, 깊이 있는 고민을 통해 경험을 쌓으며, 이러한 경험이 나만의 직관으로 발전하도록 노력하고 있다.
앞으로 더욱 발전시키고 싶은 부분은 개발 관련 아티클을 통한 간접 경험의 확장이다. 다른 개발자들이 어떤 문제에 직면했고, 그것을 어떻게 해결했는지 학습함으로써 더 넓은 시야를 갖추고자 한다.
기술 습득을 위해 프로그래밍 언어는 서적을 통해, 라이브러리와 프레임워크는 공식 문서를 통해 학습하는 것은 지금처럼만 앞으로도 하면 좋을 듯하다.