自Covid疫情開始以來,許多傳統零售皆轉為線上經營模式,帶動了科技人才的需求不斷增加。軟體工程師(Software developer)是近年來的熱門職業,它供不應求的特性也讓平均薪資水漲船高。ALPHAcamp在專欄中提到,單就網頁工程師中的前端來看(Frontend web developer),非資深、管理職位的年薪低標為70萬,中位數為110萬,高標為140萬,就一般就業市場來看,是相當優渥的薪資水平。

這樣的軟體工程師日常究竟在做什麼呢?大家都知道他們的工作內容和程式碼的開發有關,也就是把一個線上功能從設計圖稿付諸實現;但應該很少人知道,軟體工程師日常中除了與程式碼為伍之外,還會搭配什麼常用的網站工具來實作。本篇文Glints將帶你認識軟體業最熱門的開發網站GitHub,以及如何在GitHub上建立一個專案,讓身為程式小白的你也能輕鬆了解科技業工程師的工作方法之一。

想了解更多軟體工程師求職面試、薪資和遠端工作等資訊,可以瀏覽Glints「軟體工程師」相關文章。


GitHub是誰?認識GitHub之前,你得先知道……

1. GitHub是什麼?

GitHub在2008年由GitHub公司開發上線,並在十年後被微軟以75億美元收購。截至目前,GitHub有6300多萬名使用者,是世界上最大的開源社群。它不但是程式碼存放處,也是工程師們交流程式碼的主要社群。

GitHub提供免費方案與付費方案(Team & Enterprise),兩者都可以建立權限為公開或是私人的專案,在過去是以私人專案與協作者數量做區別。不過在2020年,GitHub宣布Team方案訂閱月費從單用戶9美元調降為4美元,並且開放免費方案的用戶可以建立不限數量的私人專案,以及和無上限的協作者合作。

github pricing plan

GitHub最大的功用在於幫助開發者使用Git,以及實作版本控制,以下兩段Glints會說明何謂Git與版本控制。

2. Git是什麼?和GitHub有什麼差別?

Git是一個分散式的版本控制軟體,GitHub則是一個存放Git的空間,也就是讓你放置程式原始碼的地方。Git是由作業軟體Linux的開發者Linus Torvalds開發,是為了Linux kernel開發而設計的平台服務。

3. 版本控管

開發的版本控管有中央式與分散式兩種,這裡所談的Git是分散式的版本控管。集中式版本控管代表著所有版本檔案都會存在單一台伺服器中,開發者的本機端只會儲存最新版本,也因此,不管開發者是想要查詢、修改或是提交程式碼,都需要連回那一台伺服器才能進行(想當然耳,它也無法讓兩個人以上同時更改同一份檔案)。如果今天有不同的開發者在接力實作同一份檔案,就會需要不斷的連線回那台「儲存所有版本紀錄的伺服器」;如此一來,就會降低該系統的運作效率。

Git分散式的版本控管則表示除了GitHub上有一份有所有版本的程式儲存庫外,每個開發者的本機端都有一份會同步變更的完整專案儲存庫Repo(Repository),開發者只需要在自己的Repo上面實作,不需要每個動作都連回遠端的儲存庫。

使用Git版本控制的時候,通常會在主要版本上開發重點功能,分支版本則是開發其它副功能用。分散式的版本控管讓開發者能在自己本機端開發程式碼(無論有無網路連線),等到有網路的時候再透過Pull和別的開發者的程式碼整合。


如何在GitHub上面建立新專案?

1. 註冊GitHub

sign up for github

來到GitHub的主頁,點擊右上方的Sign up,就可以到達上圖這個背景像銀河系的註冊頁面。你需要依序填入email、密碼、使用者名稱(它會一步步檢查帳號是否為正確email格式、密碼強度,以及使用者名稱是否與他人重複),最後點擊辨識圖像來驗證你並非機器人。完成後,GitHub就會寄一封內含驗證碼的信至信箱,並請你在網頁端輸入驗證。

2. 建立Repo(專案儲存庫)

github create repository

進入頁面後的左上方可以按下Create repository來建立你的第一個專案儲存庫,點擊後會出現下列資訊請你填入:

  • Owner : 這邊系統會預設填入你的使用名稱。
  • Repository name : 為你的程式儲存庫取名。
  • Description(非必填): 新增關於該程式庫的描述。
  • Public/Private : 該專案儲存庫的隱私選項,若選擇公開的話,任何網路上的人都可以看見你的專案,並且可以自由指定協作者;若選擇私人的話,就可以針對能看見的對象和協作對象做編輯。
  • Initialize this repository with
    • Add a README file:README file可以紀錄你專案程式庫內各式功能的使用方式。
    • Add .gitignore:GitHub的檔案管理功能,勾選後,系統會幫你生出一個隱藏檔案,你可以將不想被追蹤、加入版本管理的檔案寫在裡面。
    • Choose a license:此為你的專案使用授權設定,裡面有不同的license選項來告訴別人可以或不可以對你的檔案做什麼。

3. 管理專案開發

github repo created
  • Issues:開發者在GitHub上通常會利用Issue來管理開發,無論是bug或是新功能實作,都可以建立Issue來指派協作者、追蹤工作進度。
  • Pull requests:在GitHub中,開發者可以創立新的檔案儲存庫,或是將本機端已存在的檔案儲存庫Push上來。Pull requests則是要求其他協作者把自己的程式碼納入專案中,專案建立者可以檢視他人的Pull requests,並決定要不要將他的程式碼合併到自己的專案,是一個開發者之間以程式碼交流討論的會友功能。

結論

在GitHub開源社群的參與,可以幫助你建立屬於自己的程式作品集,也可以看見其他開發者的程式檔案,是學習與交流技術的絕佳之處,如果對於工程師的工作內容有興趣,建議可先去GitHub上觀摩他人的作品看看。

本篇教學為初步介紹GitHub,想要更深入了解GitHub實作,可以詳細閱讀他們的官方文件。如果你希望可以得到更多工程師求職資訊,可以追蹤Glints的臉書粉絲頁,每個星期都可以看到熱門職缺與職涯資訊 。

你也可以到Glints – Taiwan去了解更多!或是註冊帳號,收到職缺通知!

延伸閱讀:

對軟體工程師求職有興趣的人,可以看看Glints的其他精選文章

Leave A Comment

Your email address will not be published. Required fields are marked *