오픈소스 기여 해봤자 그냥 이력서 한두줄 채우는 정도 아니냐 할수도 있는데


물론 그것도 장점이긴 하지만 개인적으로 오픈소스 기여의 가장 큰 장점은 PR 하는 과정 그 자체라고 생각함.




보통 취준생들이나 독학하는 사람들은 공부를 하거나 플젝을 한다고 해도 혼자서 하거나 기껏해봐야 비슷한 수준의 취준생 여러명이 모여서 하는 정도일텐데


어차피 여러명이 모인다고 해도 다들 수준이 비슷비슷해서 작성하는 코드의 퀄리티도 고만고만하고


똥같은 코드를 싸질러놔도 그게 이상한 코드인지는 본인이나 팀원들은 아무리 봐도 잘 눈치채지 못함. 독학 하는 사람이면 말할것도 없는 수준인거고.




여기서 그나마 나은 상황은 무슨무슨 멘토링 프로그램이나 교육 프로그램에서 진행하는 플젝을 하는 경우인데


이런 경우에는 보통 플젝 진행을 도와주는 멘토가 어느정도 검토를 해줘서 그나마 낫지만 애시당초 이렇게 진행하는 플젝은 그다지 많지 않고


보통 플젝 하나에 1~2명 정도의 멘토가 붙고 멘토를 하는분들은 거의 다 현업자라서 본인들 하는 업무를 다 한뒤에 따로 시간을 쪼개서 진행상황을 검토하는거라


암만 열심히 해주더라도 놓치는 부분들이 분명히 존재하고 대충 하게되면 멘토가 기한이 끝나기 전에 어떻게든 돌아가게만 만들라고 부추기는 경우도 많음.


어차피 이런 프로그램들이 진행하는 플젝은 특정 기한안에 그럴듯한 결과물이라도 나오는게 중요해서 가독성이나 유지보수, 사소한 버그 따윈 안중에도 없이 코드를 싸지를때도 있음.




하지만 어느정도 규모가 있는 오픈소스 같은 경우에는 별거 없어보이는 코드 한 줄 추가하는것 조차 메인테이너의 깐깐한 검토를 거쳐야 하고


PR이 머지되려면 메인테이너에게 이런 코드가 추가되어야하는 이유를 영어로 논리정연하게 설명할수 있어야함.


특히 대규모 오픈소스의 메인테이너 정도면 현업자들 중에서도 탑급 수준인 경우가 많아서 취준생이 이런 실력자에게 코드리뷰를 받을수 있다는것 자체가 엄청난 경험임.


물론 메인테이너들도 본업 외에 시간을 쪼개서 메인테이너 활동을 하는 경우가 대다수이지만, 본인이 담당하는 파트에서 문제가 발생했을때 어느정도 책임이 있어서 간단한 PR도 열심히 검토해줌.


그러다보니 별 시답지 않은 이유나 말도안되는 논리로 PR을 날려봤자 씨알도 안먹히거나 어떨때는 스팸 PR좀 그만 보내라고 쌍욕 먹기도 함.


그래서 1트에 PR이 accept 되는걸 원하다보니 본인 스스로가 이 코드가 정말 필요한 코드이고 잘 작성된 코드인지 끊임없이 생각하게 되고


보통 본인 기준에서는 괜찮다고 생각한 코드가 메인테이너의 관점에서는 고쳐야할 점이 산더미인 경우가 많아서 이러한 문제점에 대한 피드백을 받고 수정하는 과정에서


본인도 알게 모르게 코드를 작성하는 능력과 지식이 늘어남.


이렇게 계속 컨트리뷰션 하면서 공부하다보면 점점 실력이 늘어나서 가끔씩 1트에 LGTM 도 받아보고


메인테이너가 지적한 부분에 대해서 논리정연한 설명으로 메인테이너를 수긍시킬수 있는 수준까지 올라가게 되면 실력도 실력이고 개발에 대한 자신감이 많이 올라가게됨.




글이 조금 길어지긴 했는데 암튼 취준생 입장에서


탑급 시니어 개발자에게 코드리뷰 받기  <<<<  이게 엄청난 메리트라고 생각함.