面试官怎么看你的Github profile

Udacity的Machine Learning纳米学位课程中,关于Github的笔记。

听课范围: Github Profile Git 和 Github Readme

Profile Readme Commit Contribute to open source community

课程听了一半,笔记继续更新,有待排版。

show your work and how you work

照片 twiter,个人博客

recruiter最先看的是这里,看你有多活跃,几乎每天都会coding。

点进一个最popular的contribution的repository,可以看到scott做了最多的贡献,写了大部分代码。

页首加了get hub page for this library。

readme是repository里最重要的部分之一。 便于其他人阅读和使用代码。

comments里面可以加入版本的说明,feature增加的说明等。

hiring manager的职责 figure out what attributes do value in engineers。

第一要看的,就是活跃热图,看绿色的分布,看这个人是否热爱编程。是否经常做贡献,不需要总是在编程,但至少会有比较稳定的趋势。

接下来看这个人建立的repository,和他贡献过的repository。 挑一个最丰富的repo,花一个小时去读他们的code,从而看出他们是什么样的工程师。 也会看他是否在其它repo中有贡献,看他怎样和别人互动,协作,讨论。


写readme

便于自己记忆code,回头再看看你写过的代码,你是否还记得你当时是怎么想的吗,是否还记得你当时为什么做了这些决定吗,便于别人使用,便于别人协作。

看如何使用这个code,有没有example,如果没有好的document,别人就会转向其它更方便的library,如果非要读这样的code,就会花费很多时间,

Paste_Image.png

https://github.com/thoughtbot/factory_girl https://github.com/zkat/can.viewify https://github.com/udacity/create-your-own-adventure

项目简介,Description 其它文档,Documentation 安装,Install 额外信息:Contribution,当你想让别人更方便地加入进来,或者Issue License

看下面这个例子 https://github.com/github/ledbetter

readme需要提供给user足够的信息以便于up and running your code

题目 描述:一两句,清楚并且精准地描述项目的精髓

Installation, common Usage, known Bugs readme的长短取决于你的项目,没有必须的要求,只需要提供给使用者必要的信息。

copyright和licensing information,或者link。 下面这个网站,可以学习如何选license。 http://choosealicense.com/ 这里有关于license的指南, https://github.com/blog/1530-choosing-an-open-source-license 这里可以告诉你为什么要选license,以及不选license的情况: https://help.github.com/articles/open-source-licensing/

建立license很简单:

提供一下已经知道的bug,这样用户就不用发愁为什么他的code无法成功运行。

用markdown写readme,易读,而且排版容易。 Github,Stack Overflow,Slack,Reddit

Here's a link to the basic Markdown documentation. You can also check out the differences in GitHub flavored Markdown here.

github中常用markdown命令 加粗 Isn't today a wonderful day? 斜体 And in that moment I thought to myself: Did I turn off the stove? 代码 You should use the strong tag. 标题

This is an h2.

Working with .md Files Much like how your HTML files should be saved with a .html extension, your Markdown files should be saved with a .md extension. Markdown itself can't be opened in the browser like an HTML document. If you want to preview your Markdown files, Dillinger is a great online resource for you to do so. If you are using Sublime Text, there is a plugin you can download to let you preview Markdown files right on your computer. If you are using Atom text editor, Markdown preview is baked right into the program (in the 'Packages' menu).

Here's a link to the basic Markdown documentation. You can also check out the differences in GitHub flavored Markdown here. To preview Markdown in the browser, try Dillinger.

什么那个不好用,下面这个好用 http://dillinger.io/


well formatted commit messages

让别人知道,为什么这里有这样的code,何时做了怎样的修改。 方便别人解读,使用,维护你的代码。 hiring manager会看这个人有多么地擅长沟通,传递。

Udacity上的例子 http://udacity.github.io/git-styleguide/

The first line is the subject.This should be a short description of what changed.should be 50 characters or less, with the first letter capitalized, and end without a period. At Udacity, we also include a short annotation about the type of the commit, if it is a bug fix, a feature, change to the documentation, etc.

The body is next, this is where you give a more detailed description of why you made the change. The body should typically have around 72 characters per line. This is to ensure that the message fits into a terminal window when using git on the command line. You’ll also need to make sure there is a blank line between the subject line and the body.

Some commits don’t require a body in the message. If you fix a typo for example, it’s okay to only have a subject line. You can also include a footer, typically this will be used to indicate which issues or bugs the commit addresses.

This does come with an exception of course. If you are working on an open source project, be sure to follow the message format for that project. This will make the maintainers happy and increase the chance your pull request is accepted.

从你的代码里可以看出,你是否善于协作,喜欢帮助别人,并且热爱编码。 面试官是怎么样从你的github上看出你是个好的协作者的,在一个团队里是如何表现的。 看他们参与的repo里的issue, 是否在on po requests里评论, 看他们如何与其它工程师互动。 看他们是否有耐心对待刚进入这个社区的成员, 找找是否有internet relay chat关联于这个repo, 看log,看他们是否helpful,kind,patient。

作为hiring manager,你想向new programmer提些什么建议,关于他们在参加contribute to很大很复杂的开源项目中。 break the ice in a new project, 找文档看,readme,clone the project,try to build it, try to get it running, follow the steps in readme. try to clarify some problems I have, submit a poll request with a few changes in the readme. just move on to fix the bugs, and maybe actually contributing the features.


如何为开源项目做贡献

Github https://guides.github.com/activities/contributing-to-open-source/ 找一些最喜欢的开源的library,pandas: https://docs.google.com/document/d/1ULcO23Edlydaf82zycRdSWHKUme5pmNnC4OoMefIZ-c/pub

python: pandas, numpy, scipy, seaborn, scikit-learn, orange, nltk r: dplyr, ggplot come to mind also 'stan' for r pymc for python as well. http://www.datakind.org/ http://databits.io/ for data and data vis related competitions https://www.kaggle.com/ - Kaggle is a platform for data prediction competitions. Companies, organizations and researchers post their data and have it scrutinized by the world's best statisticians.

读documentation,不会的问题就create issue,寻求帮助。 创建issue,这个项目的,也可以是你自己的, 要nice,都是public的, 最好的contribution方式,就是improve the documentation。


check list https://docs.google.com/document/d/1a9AKnNyqfGgdQV5ohPCN5H9ntnEUhMptWMwVBWURCN0/pub?embedded=true

GitHub Profile Checklist = Optional Udaciousness Link to associated GitHub Profile Rubric

General I’ve uploaded at least four projects to GitHub. I’ve verified that my account shows knowledge about how to make incremental commits.

For the last two weeks, I’ve made and pushed some sort of commit, no matter how small, to repo(s) each day. I have more than 2 projects on GitHub, indicating that I have uploaded more projects than required. I’ve contributed to an open source project.

Personal Profile I have a professional GitHub name. If at all possible this GitHub name is my own name. I have a professional profile photo (recommended to be a photo of yourself, but could also be stylized). My profile is up to date. Profile includes at least one up-to-date links for: 'URL' and/or 'Company' fields and/or ‘Contact Email’ and current location.

Projects I have starred at least one repository I’d like to keep track of.

My projects have meaningful names.

My projects have a completed README that says what the purpose of the project is, any instructions about how to use or view it, and what kind of collaboration is sought.

Not all forked repos/changes require modifications to the README, especially when contributing upstream to another's project (would need to be a substantial change). All changes should be documented with commit messages to explain the changes.

The last commit I made to a project matched the commit style guide I chose. If I did not follow the Udacity git commit style guide, then I have included a link to the guide I did use to show consistency.

career resource

http://career.udacity.com/resource-center/contributing_open_source.html

end

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏微信公众号:Java团长

Java就业指导

想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,面试者在面试之前到底需要准备哪些东西呢?本文陈列的这些内容既可以作为个人简历中的内容,也可以作为面...

1872
来自专栏SDNLAB

解耦重构 Internet BGP SDN

高清视频直播和云计算的蓬勃发展,带来互联网流量持续高速增长,主流云公司的Internet出口带宽都已经达到Tbps级别。 鉴于网络的拥堵大部分发生在出口互联,E...

4584
来自专栏CreateAMind

线控技术

利用各种传感器将操作员的操作转换成电信号,并将其传递到控制单元中进行分析,控制单元将分析结果传递到执行机构,由电子执行机构完成对车辆的操纵。

961
来自专栏小狼的世界

Shell历史

浏览了一下Wiki,把shell的历史简要摘抄了一下,整个发展过程还是很有趣,csh贡献了很多的想法和特性,但是最后却没有流行起来。sh虽然刚开始功能比较简单,...

681
来自专栏大数据和云计算技术

HBase多模的机遇与挑战

首先提前祝大家中秋快乐,今天我们分享的文章来自云栖大会嘉宾:阿里云专家 封神的分享

1583
来自专栏月牙寂

白话面向智能体编程(Agent Oriented Programmig, AOP)之四

前段时间一直周旋于各种有趣且辛苦, 或者无趣且更辛苦的事情当中, 虽然其间也切换到其他好些不同的技术领域, 但一直没有放弃在AOP方面的关注思考. 前面之所以...

3899
来自专栏.NET开发者社区

(码友推荐)2018-07-26 .NET及相关开发资讯速递

8.Data Breakpoints - Visual Studio 2017 15.8 Update

1596
来自专栏GreenLeaves

代码生成引擎之T4模版

      在学校三年、公司里呆了快一年了,作用ASP.NET开发的我,居然从来没听过T4模版,公司里也没有人使用,它就是这样不为世人所熟知,却又默默的奉献着!...

2026
来自专栏Albert陈凯

2018-11-06 成为一个专业的程序员前言

https://github.com/stanzhai/be-a-professional-programmer

8242
来自专栏高性能服务器开发

libevent源码深度剖析一 序

(1)libevent源码深度剖析一 序 (2)libevent源码深度剖析二 Reactor模式 (3)libevent源码深度剖析三 libevent基本使...

4043

扫码关注云+社区

领取腾讯云代金券