프로그래머 되는 법 및 좋은 IT 코딩 공부 방법, 개발자 되려면?

프로그래머 되는 법 및 좋은 IT 코딩 공부 방법, 개발자 되려면?


요즘 신입 개발자분들 고민을 들어보니 제 기준으론 이렇습니다. 


  1. 닷넷 공부 방향
  2. C언어 공부 방향


초보분들 .NET 기술 공부를 해보려고 XML을 먼저 배우려는 노력도 합니다. 그냥 XML 안 하고 C# 공부해도 상관없을지 궁금하실 텐데요. XML 어렵긴 하지만, 닷넷 기술과 연관이 많고 흡수력도 좋기 때문입니다 .... 라고 이야기할 순 없겠네요.


  • 언어를 배울 땐 언어가 중심이어야 합니다.
  • 객체지향 언어를 배우고 싶다면 C#, 자바 상관없습니다.


사실, 이런 오해와 공부 방향은 잘 모르기 때문에 발생하는 문제입니다.

알려줄 사람이 옆에 있다면 상관없는데 알려주는 사람이 싸이코 이론으로 무장했다면 참으로 곤란하죠. 이런 이야기 하면 예전의 나를 보는 것 같아 할 말이 많은 분들도 있을 겁니다.



프로그래머 지망하는 분들에게, 좋은 공부 방법이란[개발자 성향] 좋은 프로그래머 되는 공부 방법?




예시)


주변에 가르쳐 줄 사람이 없어서 독학으로 프로그래밍을 배웁니다. 학원도 다니지 않았습니다. 학교에서도 배우기에 어려운 과목이 프로그래밍이었습니다. 그래서 무턱대고 일단 책을 펴서 읽기 시작했습니다.


당연히 처음엔 이해가 잘 안 됩니다. 그러다 직접 예제를 타이핑하고 작은 프로그램을 만들어 보면서 프로그래밍 원리를 이해하기 시작합니다.


'요'는 책만 봐선 이해하는 데 한계가 있다는 것이죠. 책으로 이해할 부분이 있고 책을 읽어도 눈에 들어오지 않는 부분이 있습니다. 그래서 가장 추천하는 방법은 프로그래밍을 배우기 위해선 코딩을 시작하는 겁니다.



좋은 프로그래머가 되는 방법[개발자 성향] 좋은 프로그래머 되는 공부 방법?



기본 문법을 사용해 보면서 이럴 땐 이렇게 쓰고, 저럴 땐 저렇게 쓰는 경험을 쌓는 겁니다. 제어문도 저마다 특징이 있으므로 용도를 정확히 파악하고 코딩하는 것이 좋습니다. 우선, 책에 나온 예제를 그대로 따라 해 보는 겁니다. 소스를 복사해서 사용하지 말고 손으로 코딩하는 겁니다.


이렇게 기본 문법이 손에 익었다면 상상력을 발휘합니다.


프로그램은 상상력에 더해 움직이는 로직이고 알고리즘입니다. 처음엔 복잡하게 생각할 필요가 없습니다. 생활에 밀접한 것을 떠올려 보세요.

예를 들어 시간표 프로그램을 만든다고 예를 들어보죠.


1년 = 12달 = 365일


매일 반복됩니다. 그럼 while 문으로 일정을 돌릴까? do ~ while 문으로 돌릴까? for 문으로도 충분할까? 고민해 보세요. 집에서 학교 가는 경로는 if 문으로 구현할까? 삼거리로 가니 switch case 문으로 분기처리 해볼까? 등등 ...


  • if (hour == "3:00")
  • switch (hour)


무슨 수업을 들을까? 강의실은 어디일까? 여러 상황과 만약 이루지 못했을 경우 발생할 예외처리도 함께 생각해 보세요.


  • if~ else
  • switch ~ case : default


이렇게 단순하게 시작해 보는 겁니다.



좋은 개발자 되려면[개발자 성향] 좋은 프로그래머 되는 공부 방법?



상상력을 키워보고 그다음 단계로 나가는 겁니다. 내 개인 시간표에서 가족 시간표로 생각을 바꿔보는 겁니다. 이런 식으로 생각을 확장해 나가는 것이죠.


그러다 보면, 프로그램엔 오류가 발생하고 부족한 기능이 눈에 들어옵니다. "나"는 일정 관리가 되는데 "가족"은 일정 관리가 되지 않습니다. 원인이 무엇일까 고민해 보세요. 그리고 부족한 부분을 채우기 위해 커뮤니티와 책을 뒤적이며 답을 찾아보세요.


이렇게 생각을 확장하고 직접 코딩하다 보면 프로그래밍 능력은 상승할 겁니다.



혹시 백종원 골목식당 뚝섬편 기억나시나요? 경양식집 사장님 생각나세요? 이분은 인문대 졸업생이 갖는 문제점 하나를 보여줬습니다.


  • 책만 보면 만사 OK
  • 책만 보면 모든 고민 끝


메뉴에 닭 요리를 새로 추가하는데 이곳 사장님은 맛있는 닭 요리를 책에서만 찾았습니다. 사람들이 맛있다고 이야기하는 닭 요리를 찾지 않고 닭 요리 만드는 책만 보셨어요.



IT 분야 개발자 종류[개발자 성향] 좋은 프로그래머 되는 공부 방법?



좋은 프로그래머가 되려면 남의 소스를 읽어보고 이해하기 위한 이론도 살펴보세요. 책만 봐도 좋은 코드를 짤 수 있다는 건 대단한 오만이자 착각입니다. 직접 코딩하고 알고리즘을 고민해야 합니다. 여기에 남의 소스를 참고하는 건 아주 좋은 방법입니다.


남의 소스를 이해 못 하는 사람은 남을 이해시킬 수 있는 소스를 못 만드는 겁니다.


그러니 웹 서핑으로 좋은 소스를 찾는 수고를 게을리하지 마세요. 남의 소스를 보면서 나를 발전시킬 수 있어야 좋은 프로그래머입니다.


프로그램은 어떤 인풋이 주어졌을 때 어떤 아웃풋을 보여야 합니다. 명령어의 집합이라고도 표현합니다(물론 옛날 표현이지만). 언어는 프로그램을 구현하기 위한 도구이고요.



프로그래머가 하는 일 공부[개발자 성향] 좋은 프로그래머 되는 공부 방법?



그래서 이 도구를 어떻게 해야 잘 사용할까 ... 고민하세요. 그러려면 많은 사람들이 "좋다"라고 평가하는 도구 사용 방법(오픈소스 등)을 참조하는 겁니다.


  • 왜 이렇게 코딩했을까?
  • 왜 이 문법을 사용했을까?
  • 왜 다른 방법이 없다고 했을까?




이렇게 나름대로 경험을 쌓다 보면 스파게티 코드처럼 꼬이기 마련입니다. 다들 이런 시행착오는 겪기 마련이죠.


그럴 땐 디자인 패턴이나 프로그래밍 기초에 대한 책들을 읽어 보세요. 저는 "읽기 좋은 코드가 좋은 코드다", "헤드 퍼스트 디자인 패턴"을 추천합니다.



프로그래머 공부 방법[개발자 성향] 좋은 프로그래머 되는 공부 방법?




여기까지 프로그래머를 지망하는 분들을 위한 글을 적어 봤습니다. IT 분야 개발자는 끊임없이 공부해야 하는 직업입니다. 성취도도 높고 적은 인력으로 많은 일을 할 수 있습니다.


유명한 IT 업체인데 개발자 숫자를 듣고 "그거밖에 안 된다고?"라며 놀라는 일도 부지기수입니다. 그만큼 인력의 집중화, 고도화, 효율화가 중요한 분야죠. 어설픈 20명보단 똑똑한 1명이 절대적으로 필요한 분야입니다.


그러니 꾸준히 노력하세요. 그리고 내 강점과 장점을 만들어 가세요.


 프로그래머 되는 법 및 좋은 IT 코딩 공부 방법, 개발자 되려면?


댓글

Designed by JB FACTORY