글 작성자: 택시 운전사
반응형

Github

👋 들어가며

개발자에게 Github이란 어떤 공간일까? 나의 코드를 공유하는 저장소이자, 남들의 코드를 쉽게 다운로드 받고 쓸 수 있는 마켓이면서, 멋진 개발자들을 볼 수 있는 만남의 공간이다. 나는 거기에 나아가서 나를 표현할 수 있는 인스타그램같은 소셜 미디어의 성격도 띈다고 본다. 일상을 기록하진 않지만, 매일 매일 내가 어떤 작업을 하고 어떤 식으로 오픈소스공헌하는 지 알 수 있기 때문이다. 이러한 Github의 특성때문에 취업 시장이나 개발자들끼리도 학교 성적을 보기보다 실제 작업물을 보면서 이 사람이 어떻게 작업을 했는 지 알 수 있는 Github을 통해 개발자로서의 역량을 파악하곤한다. 글쓴이도 2018년 무렵부터 틈틈이 Github의 풀밭을 푸르게 가꾸면서 나름 꾸준히 작업을 해왔다. 당시 취준생이었던나는 작업을 하면서 어떻게 하면 다른 사람들이 내 작업물 혹은 나라는 사람을 더 매력적으로 볼 수 있을 지에 대한 고민을 많이 해왔다. 아직도 많이 부족하지만 내가 생각하는 Github을 매력적으로 보일 수 있는 방법에 대해 적어보려한다.

🌱 풀밭 가꾸기

풀밭은 Github의 컨트리뷰션 영역을 뜻하는 개발자끼리의 용어로 매일매일 작업한 것들이 기록되며 그 날 컨트리뷰션을 많이하면 많이 할 수록 초록색이 짙어지고, 결과적으로 매일매일 열심히 컨트리뷰션을 했을 때 컨트리뷰션 영역이 초록색으로 가득 차게되어 이게 마치 풀밭 혹은 숲을 가꾸는 것 같아서 컨트리뷰션 영역을 짙은 초록색으로 빽빽하게 채우는 걸 풀밭을 가꾼다고 표현한다. 개발자들이 가꾸는 사이버 풀밭같은거다.

Github Contribution

기대하고 읽었는 데 시작부터 너무 뻔해서 김이 샜을 수도 있다. 하지만 풀밭이 푸르게 가꿔져있는 것만큼 가장 효과적으로 매력적이게 보이는 방법은 없다. 풀밭은 유저의 프로필에 들어갔을 때 가장 먼저 보이는 부분이자 성실성 혹은 꾸준함과 얼마나 작업을 많이 했는 지를 직관적으로 볼 수 있는 부분이다. 일일커밋(Daily Commit)같은 풀밭을 꾸준히 가꾸기 위해 매일 최소 한 개의 커밋을 하는 방식을 개발자들이 많이 하는 것도 그 이유일 것이다. 필자도 1일 1커밋까지는 아니지만, 매일 커밋하는 걸 목표로 하고 있어서 BitBar라는 MAC OS 툴을 이용해서 동기부여를 하고 있다. 자세한 내용은 "일일 커밋을 유지할 수 있도록 도와주는 툴 " 이 글을 참고하자. 글쓴이의 풀밭 연대기는 다음과 같다.

2017 Github Contribution
2018 Github Contribution
2019 Github Contribution
2020 Github Contribution

🌟 오픈소스 프로젝트에 컨트리뷰션하기

오픈소스 프로젝트에 컨트리뷰션하는 것은 프로필을 보는 상대로하여금 궁금증을 가지게 한다. "이 사람은 이런 프로젝트에도 컨트리뷰션을 했네" 이러면서 해당 프로젝트에도 관심을 가지고, 당신에게도 관심을 가질 것이다. 거기에 해당 프로젝트가 리액트같은 유명하고 스타를 많이 받은 프로젝트라면 그 관심도는 더 커질 것이다.

오픈소스 프로젝트 컨트리뷰션 

이렇게만 끝내면, 그래서 거대한 오픈소스 프로젝트에는 어떻게 참여하냐고 되묻는 사람이 있을 것이다. 우리가 프로젝트의 메인테이너가 되어야만 컨트리뷰션할 수 있는 것이 아니다. 어렵게 생각하지말고 그 시점에서 내가 할 수 있는 것을 찾아보자. 프로젝트에 대해 궁금한게 있어서 구글링을 해봤는데 아무리 찾아봐도 해결이 안된다면, 해당 프로젝트의 이슈에 질문을 남겨보자. 영어를 써야한다고? 우리에겐 갓파고가 있다. 그리고 큰 프로젝트의 경우 문서의 로컬라이징을 위해 번역을 구하는 경우가 있다. 이런 곳에도 참여해서 해당 오픈소스 프로젝트에 작게나마 컨트리뷰션해보자. 큰 것부터 시작해서 좌절하지 말고, 작은 것부터 시작해서 차근차근 올라가자.

파파고 번역

🎨 개인 프로젝트 꾸미기

이제 남들이 당신이라는 사람에 대해 관심을 갖고 내가 어떤 작업을 해왔는 지 보러 올 것이다. 이 때 내가 만든 프로젝트가 어떤 프로젝트인지도 중요하지만 어떻게 꾸며져있는 지도 굉장히 중요한 문제이다. 딱 작업물만 있고 아무 정보도 없으면, 굉장히 딱딱하고 이 사람이 무슨 작업을 했는 지 감이 안 올 것이다. 당신은 매력을 끌 수 있는 기회를 놓친 것이다. 그럼 내 개인 프로젝트를 꾸미는 방법에는 무엇이 있을까? 가장 먼저 해야할 것은 위의 풀밭과 같은 맥락으로 가장 먼저 보이는 README 파일을 꾸미는 것이다. README 파일의 내용에는 해당 프로젝트가 무엇에 관련된 프로젝트인지 누군가 클론해서 실행시키고자한다면 어떤 과정을 통해서 실행시킬 수 있는 지 최대한 자세하게 할 수 있다면 사진이나 이모지와 함께 적어놓는 것이다. 하나의 문서화 작업이라고 생각하면 쉽다. 내가 한 작업물들을 상대방이 이해하기 쉽게 글로써 정리해보자.

더 많이 더 적게 프로젝트 README.md

다음으로 꾸며야 할 곳은 커밋이다. 멋대로 쓴 커밋으로 도배된 프로젝트와 확실한 컨벤션을 가지고 깔끔하게 작성된 커밋을 가진 프로젝트가 있다면 당신은 어떤 쪽 프로젝트에 관심이 갖겠는가? 당연히 후자이다. 그만큼 커밋을 잘 하고 깔끔하게 하는 것은 개인 프로젝트를 꾸미는 한 가지 방법 중의 하나이다. 커밋을 어떻게 써야하는 지에 대해서는 "[git] 🤔 git 커밋 어떻게 써야하는가?" 글을 참고하도록 하자.

commits

📌 대표 프로젝트 대문에 걸어놓기

열심히 프로젝트에 컨벤션에 맞게 커밋도 꾸준히하고, README도 깔끔하게 적었어도 남들이 보지 않으면 정말 슬픈 일일 것이다. 이러한 슬픈 상황을 방지하기 위해 Github에서는 마치 압정으로 사진을 걸어 놓듯이 자신의 대표 프로젝트를 걸어놓을 수 있는 pin이라는 기능이 있다. pin되어 있는 저장소는 저장소 이름과 설명, 가장 많이 쓰인 언어, 스타 수, 포크 수등이 적혀있다. 한 번에 이 사람이 어떤 프로젝트를 했는 지 어떤 언어를 사용하는 지 알 수 있는 매우 좋은 기능이다. 좀 더 매력적으로 보이기위해 프로젝트 명이나 설명등을 깔끔하게 적어 놓는 것을 추천한다. 글쓴이의 취향이지만 이모지를 추가하면 좀 더 깔끔하고 말랑말랑한 느낌이 든다.

Pin된 프로젝트들

😎 그래서 글쓴이의 Github은?

 

dl0312 - Overview

☕️ What else? dl0312 has 95 repositories available. Follow their code on GitHub.

github.com

글쓴이 Github

2018년부터 가꿔온 나의 Github은 다음과 같다. 1일 1커밋까지는 아니지만 매일매일 커밋하도록 노력했고, 여러 개인프로젝트 및 팀 프로젝트를 진행해왔고, 최근에는 open-apis-korea라는 API 리스트를 번역하는 개인프로젝트도 진행했다. 쌓인 프로젝트를 바타응로 Pin기능을 활용하여 보여주고자하는 프로젝트들을 걸어놓았다. 주니어 개발자라 아직 많이 부족하지만 내 글이 작게나마 도움이 됐으면 좋겠다 :)

반응형