저는 곧 9월 졸업을 앞두고 있습니다. 방학 중에 인턴으로 1년 경력을 만들어 어느 정도 실무 경험을 했습니다. 다만, 코업이나 신입에게 회사는 원래 많은 기대를 하지 않습니다. 대부분 좋은 기본기를 가진 신입을 뽑아 재교육 후 쓴다고 보시면 됩니다. 그럼에도 경쟁이 치열해 실무 경험이 점점 중요시 되는데 윗 분이 언급신 것처럼 오픈 소스 프로젝트에 참여하시면 많은 도움이 됩니다.
일단, 개인 프로젝트 수준에서 경험할 수 없을 정도의 대형 프로젝트가 어떤 구조인지 알게 되며 복잡한 코드를 이해하는 능력이 생깁니다. 더불어 오픈 소스는 항상 코드 리뷰가 이루어져 활발한 프로젝트라면 코드의 퀄리티도 상당히 뛰어납니다. 이를 통해 어떤 코드가 좋은 코드인지에 대한 감을 얻게 됩니다.
더불어 각 issue에 대한 pull-request를 만들면 다양한 피드백을 얻을 수 있는데, 이는 돈으로도 살 수 없는 매우 값진 경험이며 개인의 성장에 큰 도움을 줍니다.
예전에 모스크바 대학, 베이징 대학 그리고 미국 대학들의 프로그래밍 역량을 비교분석한 논물을 읽은 적이 있습니다. 충격적으로 모스크바 대학과 베이징 대학의 컴퓨터 전공 학생들의 평균적인 코딩 실력은 미국의 중위권에 대학에 해당하는 컴퓨터 전공 학생들보다 못하다는 것입니다.
그 논문은 많은 미국 대학의 학생들이 오픈 소스나 해커툰 등으로 실력을 키울 기회를 다수 접하게 되는 반면, 중국과 러시아는 그만한 문화가 자리잡지 않았기 때문이라고 원인을 분석했는데 역으로 이는 어떻게 하면 좋은 프로그래머가 될 수 있는지에 대한 단서라고 생각합니다.
지속적인 공부는 물론이고 실질적인 프로젝트 경험이나 오픈 소스 프로젝트 참여를 통항 피드백이 얼마나 큰 도움이 될 수 있는지 알 수 있다고 생각합니다.