프로그래밍 공부하는 방법 #00 - Prologue
Programming을 공부하는 건 쉽지 않다. 책을 보고 교수님이 주신 과제를 따라서 한다고 해도 과연 내가 프로그래머인가 고민이 되고 걱정이 된다. 프로그래밍에 대한 공부를 해왔지만 과연 내가 프로그램 개발을 실제로 할 수 있는지 의문이 드는 게 프로그래밍 공부이다. 심지어 실무에서 프로그램 개발자도 본인 실력이 정체되어 있지 않은지에 대한 불안감과 걱정을 한다. 프로그래머라는 직업은 계속 공부를 해야 하는 직업이다. 프로그래밍 분야에 따라서 차이가 있을 수 있지만 필자가 공부하고 개발하고 있는 Artificial Intelligence, Data science 분야는 지속적인 공부가 필요하다. 프로그래밍은 매 순간 새로운 툴이나 알고리즘이 나오다 보니 개발자는 지속적으로 효율적인 새로운 기능을 이해하고 흡수해서 자신의 프로그램에 적용할 수 있어야 한다.
바쁘다는 핑계로 자주 못하고 포스팅이 늦어 죄송하지만, Bro들과 멘토링을 하다 보면 공부하는 프로그래밍에 대해서 물어보는 경우도 많지만 프로그래밍 공부하는 방법에 대해서 모르는 경우가 많다. 필자도 아직 공부하는 입장에서 모든 프로그래밍에 대한 완벽한 지식은 없지만 필자의 경험을 토대로 이야기를 나누다 보면, 필자가 과거에 겪었던 문제들을 겪고 있는 Bro들이 많았다.
공부하는 방법이 중요하다.
프로그래밍에 대한 정보는 필자가 프로그래밍을 공부하던 시절과 다르게 정말 쉽게 검색하고 참고할 수 있게 되었다. 다양한 프로그래밍 관련 커뮤니티뿐만 아니라 4차 산업 시대가 도래하고 프로그래머에 대한 관심이 높아지면서 한국에서는 프로그래밍 학원들도 정말 많이 생겨났다. 또한 전공자뿐만 아니라 비전공자도 프로그래머에 대한 관심이 높아지다 보니 인터넷에서도 프로그래밍에 대한 자료 검색이나 필요한 소스들을 쉽게 찾아서 사용할 수 있게 되었다. 또한 다양한 오픈 소스 코드들은 프로그래밍을 공부하는 개발자들에게 쉽고 빠르게 지식을 습득할 수 있는 기회가 되었다. 마지막으로 몇 년 사이에도 정말 많은 프로그래밍 툴들이 생겨났고 기존 툴들도 업데이트를 통해 과거에 비해 상대적으로 프로그래머가 프로그램 개발하기 정말 좋은 환경으로 변했다.
문제는 이처럼 자료와 소스 코드들은 많지만 어떻게 활용해서 공부를 해야할지 막막하다는 것이다. 프로그래머 분야가 넓어지고 프로그래밍에 대한 자료도 많아지다 보니 어떤 식으로 프로그래밍을 공부할지가 어려워졌다. 물론 필자는 Semi 꼰대이지만 프로그래머 꼰대분들 입장에서는 복에 겨웠다고 할 수도 있다. 하지만 과거와 달리 프로그래머도 분야의 세분화로 General 한 프로그래밍 공부가 어려워졌다는 게 필자의 생각이다. 프로그래밍에서도 공부하고자 하는 분야를 특정화하고 공부를 해야지 시간을 효율적으로 활용하여 프로그래밍 공부가 가능하다. 무작정 모든 프로그래밍을 공부하는 건 현실적으로 어렵다는 것이다.
따라서 "프로그래밍 공부하는 방법" 포스트 시리즈에서는 그동안 Bro들이 질문을 했던 프로그래밍 공부하는 방법에 대해서 이야기를 나누며, 필자가 그동안 경험하면서 알게 된 프로그래밍 공부하는 스킬에 대해서 포스트를 통해서 공유하려고 한다. 필자의 공부하는 방법은 Senior 개발자 이상급에는 해당되지 않는 내용일 수 있다. 하지만 프로그래밍을 처음 공부하는 개발자부터 Junior 개발까지는 도움이 될 것으로 생각한다.
In conlusion, 3줄 요약
1. 프로그래머는 지속적으로 공부를 해야하는 직업이다.
2. 프로그래밍 분야의 세분화와 전문화로 효율적인 프로그래밍 공부가 필요하다.
3. 필자의 경험을 토대로한 프로그래밍 공부 방법을 시리즈 포스트로 작성될 예정이다.
'Computer Science' 카테고리의 다른 글
[Programming] Scheme Language(스킴): Example Codes (0) | 2021.08.05 |
---|---|
[Programming] Prolog: Family Tree Example (0) | 2021.08.05 |
[Programming] Queue: 원형 큐(Circular Queue) 단계별 과정 (0) | 2021.07.28 |
[Programming] Quick Sort, Sort Algorithms #01 (0) | 2021.07.28 |
[Programming] Finite State Automata: FSA Examples (0) | 2021.07.15 |
댓글