프로그래밍을 배우는 방법은 다양하고, 개인마다 최적의 공부 방식이 다를 것이다. 내 경험이 모두에게 적용되거나 최적의 방법이라고 생각하지 않지만, 내 경험을 공유하고자 한다.
나는 전자공학을 전공했고, 미국에서 개발자로 일하기 위해 빠른 시간 내에 다양한 프로그래밍 언어와 툴을 배워야 했다. 이 과정에서 내가 느낀 것은 다음과 같다.
빠르게 습득한 지식은 빠르게 잊힌다.
특정 프로그래밍 언어 (또는 시스템 설계) 강의 자료를 반복해서 보고, 예제 코드를 작성해 보는 것이 도움이 될 수 있지만 추가적으로 나는 다음과 같은 방법들을 추천하고 싶다.
1. 멘토를 찾는다.
기초 공부를 했다면, 멘토는 당신이 심화과정으로 나아갈 수 있도록 방향을 잡아줄 수 있다. 작성한 코드가 있다면 멘토에게 피드백을 받아보자. 상황에 따라 다르겠지만, 멘토가 당신보다 경력이 많다면, 멘토의 사소한 피드백 하나까지 (readability, comment, optimization, robustness 등등) 고려해서 추후 코드에 반영해보자.
2. 필사
나는 필사를 통해 전반적인 프로그래밍 스타일을 높일 수 있었다. PyCon 과같이 대규모 컨퍼런스 스피커들은 최신 또는 advanced topic 을 다루는 강의자료를 따로 개인 블로그/웹사이트에 올려둔다. 이런 강의자료들을 매일 필사하면서 전반적인 프로그래밍 언어와 스타일에 대한 이해도를 비약적으로 높일 수 있었다. 타격감 좋은 키보드는 이 필사 과정을 즐기는 데 도움을 줄 수 있다.
3. 요약과 반복
나는 매일 공부한 내용을 요약했다. 이 요약본들을 주제별로 정리하여 빠르게 리뷰할 수 있도록 했다. 또한 version control 가능한 플랫폼에 요약본들을 보관하여 업데이트된 정보가 있다면 언제 어떤 이유로 업데이트가 됐는지 쉽게 알아볼 수 있도록 했다. 이 요약본들을 주기적으로 반복 학습했고, 이 반복 학습은 interviewer/interviewee 모두의 입장에서 도움이 됐다.
위 방법들은 개인적인 경험에서 나온 것이다. 짧은 시간에 얻은 단편의 지식은 우리를 자만에 빠뜨릴 수 있지 않을까. 지식은 습득하고 이해하는데 충분한 시간을 필요로 하는 것 같다. 특정 언어/툴에 익숙해지려면, 해당 언어/툴을 많이 써봐야 한다고 생각한다.
'배움 > 개발' 카테고리의 다른 글
[30대 개발자] 알고리즘 코딩 인터뷰 - 1 (0) | 2023.01.10 |
---|