[준비하기] (7) 포트폴리오 - GitHub

productuidev·2022년 3월 17일
26

개발자 준비하기

목록 보기
15/19
post-thumbnail
post-custom-banner

인프런 비전공자를 위한 개발자 취업 올인원 가이드 강의 정리


취업하기 편 : GitHub

GitHub이란?

GitGitHub을 사용한다는 것은 개발자를 축구선수에 비유한다면,
숨쉬기달리기를 하는 것과 같습니다.
숨쉬기와 달리기가 안되는 데 공차는 법을 배우는 건 아무 의미가 없잖아요?
그 정도로 GitGitHub을 사용하는 것은 중요합니다.

Git은 뭐고, GitHub는 뭔가요?

  • Git : 버전관리를 위한 소프트웨어 (ex: 영상을 찍는 앱=카메라)
  • GitHub : 이 Git으로 저장되서 원격전송된 내역들이 저장되는 공간을 제공하는 서비스 (ex: 유튜브)

Git 사용법 & 활용법

3대장

GitHub vs GitLab vs Bitbucket

GitHub 링크를 제출하기 위해 해야할 것들

1. TIL 저장소를 만들고 매일 학습한 내용 기록

  • TIL 저장소를 하루라도 빨리 만들수록, 내용이 풍부해진다.
  • 잘 관리해두면, 취업을 위해 GitHub 계정을 제출할 때 든든한 아이템이 된다.

2. 기술 서적, 학원 강의, 인강을 수강하며 작성한 코드를 올리는 GitHub 저장소를 만들고 관리

  • 커밋 그래프(활동에 따라 잔디의 밀도 표현되어 녹색 톤으로 채워짐)
  • 코드의 History가 기록되어 작성한 코드를 복습하기 편해진다. (커밋 과정)
    ex) 국비지원학원 USB에 코드를 담아갈 경우 이클립스 등 설정이 달려 코드가 충돌하는 문제점 등등
  • 그 자체로 취업할 때 어필할 수 있는 아이템이 된다.

3. (토이, 팀) 프로젝트를 GitHub 저장소에 올리고, 프로젝트를 설명하는 README.md 파일을 추가

취업과 상관 없이, GitHub에서 하면 좋은 것들

1. 본받은 점이 많은 개발자들 Follow

  • 개발 블로그 주인 혹은 개발자 컨퍼런스 발표자의 GitHub을 Follow한다.
  • 내가 팔로우한 개발자들의 활동을 보면서 정보와 인사이트를 얻는다.
  • 비전공자들은 개발자 인맥이 부족하기 때문에, 앞서간 개발자들의 활동과
    기술 생태계 트렌드를 염탐(?)해서라도 정보를 얻어내야 한다. (정찰병)
  • 앞서나간 개발자들(정찰대)의 활동은 본인과 별개라고 생각하는 것은 위험하다.
    정찰대가 보내는 메시지를 받아야 한다.

    디자인으로 치면 Behance, dribbble, Pinterest, notofolio 팔로우와 같은 개념..

2. 유명한 오픈소스를 Fork해서 코드 보고 배우기

  • 정석이라고 할 수 있는 개발 학습법
  • 유명한 오픈소스는 전 세계적 레벨의 개발자들의 코드를 볼 수 있다.

ex) Airbnb Open Source https://airbnb.io/projects/

3. 관심 있는 오픈소스에 기여하기

Open Sources Contributer

오픈소스에 기여하는 방법

https://opensource.guide/ko/how-to-contribute/

대세는 GitHub 포트폴리오!

웹페이지 포트폴리오 만들기

1. 프론트엔드 개발자와 모바일 개발자에게 적합한 포트폴리오 형식

2. 동적 페이지 개발 vs 정적 페이지 개발

정적 웹은 뭐고 동적 웹은 뭔가요?

정적 페이지동적 페이지
사용자에게 이미 서버에 저장되 있는 페이지를 보여주는 형식저장되어 있는 페이지를 보여주더라도
사용자의 요청에 따라 가공된 데이터를 보여주는 형식
포트폴리오 역할, 쉽고 빠르게 만들 수 있다.포트폴리오 역할 + 포트폴리오에 넣을 개인(토이) 프로젝트 역할
단점은 서버와 DB까지 알아야 해서 아무래도 손이 많이 감

🔥 프론트엔드 개발자의 경우,
React.js 또는 Vue.js를 활용한 동적 페이지 포트폴리오 개발 고려

3. 정적 페이지의 경우, 템플릿 직접 개발 vs 만들어진 템플릿 수정

  • 템플릿 직접 개발 : 개성을 확실하게 살릴 수 있고, 만들면서 배우게 되는 것들이 있다.
  • 만들어진 템플릿 수정 : 시간을 아낄 수 있고, 직접 만드는 것보다 결과물 퀄리티가 더 좋을 수 있다.

만드는 순서(실습)

  1. 포트폴리오 템플릿 검색 및 선택
    구글 검색 키워드 👉 portfolio template

    colorlib https://colorlib.com/wp/templates/
    다양한 템플릿을 제공하는 사이트

  2. 내용 수정

  3. GitHub 페이지에 배포

왜 GitHub 포트폴리오?

1. 포트폴리오를 보고 평가하는 사람 시니어개발자

  • 업계에서 최소 10년 이상 일한 분들이고 그 동안 수많은 GitHub을 본 사람들
  • 웹페이지 포트폴리오를 이쁘게 꾸며놔도 시니어 개발자에게는 식상한 포트폴리오 중 하나일 뿐
  • 껍데기가 아닌 본질(=CODE)을 꿰뚫어 보는 사람들

2. 개발자 포트폴리오는 필요한 정보를 제대로 제공하는 것이 중요하다.

  • 필요한 정보 = 프로젝트에 대한 정보(설명 + 코드), 포트폴리오
    = 프로젝트에 대한 정보들을 담는 그릇
  • 웹페이지 포트폴리오는 포장지(쓸데없는 사진들, css 효과 등)로
    필요한 정보를 감싸기 때문에 오히려 확인하기 불편하다.

3. GitHub은 프로젝트를 설명하고 소개하기에 가장 최적화된 플랫폼이다.

  • GitHub에서 프로젝트 설명과 코드를 보는 게 어색한 것은 신입 개발자들 뿐이다.
    (GitHub을 사용하지 않는 회사가 아닌 IT 서비스 회사 기준)

GitHub 포트폴리오 만들기 (1)

(만들기 전 흐름 이해)

  1. GitHub에 /portfolio 저장소 생성 + README.md 파일 추가
  2. 간략한 본인/이력 소개
  3. 프로젝트 소개 나열
  4. 각 프로젝트 저장소의 README.md 파일에 프로젝트 상세 설명 작성
1. 프로젝트 제목/주제
2. Demo 링크
3. 제작 기간 & 참여 인원
4. 사용한 기술 (기술 스택)
5. (필요한 경우) ERD                   
6. 핵심 기능 (코드로 보여주거나 코드 링크)
7. 트러블슈팅 경험 / 자랑하고 싶은 코드
8. 회고 / 느낀 점
  1. 🔺 가독성 & 오타 & 링크 체크 🔺

이모지 차트 시트 for GitHub https://www.webfx.com/tools/emoji-cheat-sheet/
Bitly https://bitly.com/

GitHub 포트폴리오 만들기 (실습)

ex1. README.md
ex2. README.md

✏️ Tip
1. 기능 개발하면서 notion같은 곳에 트러블슈팅한 내용들을 기록해뒀다가 정리하는 것도 tip
(나중에 떠올리려면 기억이 안날 수 있기 때문에)
2. 실제 면접 때 노트북이나 화면을 띄워놓고 GitHub을 열어서 면접을 보게되는 경우가 있음
그럴 때 트러블슈팅 경험들에 대해 면접관이 질문할 수 있음. (그 이후 꼬리질문)
➡️ 프로젝트에서 맞이한 문제들을 포트폴리오에 녹여낸다.
➡️ 기술면접에서 면접관이 질문할 만한 거리를 포트폴리오에 미리 제공하는 식이라고 보면 된다
➡️ 관련 기술스택에 대해 사전 공부하여 면접답변을 예측
➡️ 외운대로 답변하지 말고 어느 정도 생각해서 답변
➡️ 내가 원하는대로 면접의 분위기나 과정을 주도해갈 수 있음
3. 회고 / 느낀 점은 README에 구구절절하게 쓰지 말고,
따로 블로그나 다른 페이지에 작성 후 링크로 연결

💎 Point
가독성 (읽을 내용만 간결하면서 핵심적으로)

경력개발자는 GitHub을 제출하진 않지만
신입개발자나 중고신입일 경우에는 유용하게 사용될 수 있음
단, 이직을 자주하게 될 경우 추가된 경력이나 프로젝트 등만 추가하거나
면접 준비 시 다시 회고/준비할 수 있음

profile
필요한 내용을 공부하고 저장합니다.
post-custom-banner

1개의 댓글

comment-user-thumbnail
2022년 10월 13일

감사합니다 도움 많이 되었습니다!!!!!!! 여쭤볼 게 있는데 사이트에 대해서 사용자 매뉴얼이나 관리자 매뉴얼 같은 것도 양이 많을 텐데 따로 블로그에 작성해서 링크 넣어주는 게 좋을까요? 아님 PDF로 정리해서 파일을 첨부하는 게 좋을까요?ㅠㅠ

답글 달기