程序员装B指南
最近在朋友圈里,流行的是某岛国宅男各式装B指南,比如说假装有女友,假装结婚,假装周游列国。对于这些装B指南,程序君是不屑一顾的:真的程序猿(媛),敢于直面没有妹纸(汉子)关爱的人生,敢于正视天天加班不可能旅游的现实。所以这些劳什子,不装也罢。
但有件高逼格的事情,是每个程序员梦想的:什么时候我的github profile看起来像一个真正牛B的程序员?
程序君也算是勤奋的小蜜蜂了,就算过去半年有些懒惰,写下的个人代码(open source + private)也还说得过去:
但和antirez(redis作者)或是José Valim(elixir发明者)这样的大神相比,程序君只能默默地跪了。
虽然,两人的工作就是写open source code,要是程序君每天写的代码也都存在github里,也能有这个效果,这么比不太公平(当然,这两人的牛B估计程序君这辈子也追不上)。但这年头HR哪管得了那么多,她们区分rockstar和小混混的几大标准之一就是github profile是否吸引人。stars和followers这些东西不太好造假,但contributions/longest streak还是可以玩上一玩的。程序君最近无意得知硅谷一个B轮拿了2.2Billion,估值220亿美金的有中国概念的公司叫CSMVI [1],团队很小,只有21人,正在热招一个scala工程师。工资22w不说,还给2.2%的股份,名额只有一个,顿时急的像热锅上的蚂蚁。这就是天上掉下来的馅饼啊,可我没写过scala程序(更别说拿得出手的项目),人家的HR根本不可能鸟我,怎么办?
假装自己是scala大牛!
问题是,就算有『21天学会Scala』这样的神书存在,我也没有21天的时间啊,HR扫描一下github,这职位分分钟就要归了别人!
不着急,如今装B的门槛越来越低,只要你认识26个字母,会敲键盘,5分钟,就可以把自己包装成一个大牛!
首先,在命令行里安装rockstar(需要python3支持,请自行google如何安装python3/pip3/ipython3):
$ pip3 install rockstar
然后随便在哪里新建一个目录,运行ipython3,输入这几条:
在等待的时间里,我们到github上创建一个新的repo:
这时,命令行里的程序应该把自己包装地差不多了,见到 "You're now a rockstart" 后,退出ipython,然后在命令行的输入这两行文字:
打开自己的github profile,是不是有亮瞎狗眼的赶脚?
接下来,就坐等HR给自己发面试邀请。
我知道,接下来有同学会心虚了,这个repo就一个文件,很容易被HR戳穿的!为了真正授人以渔,程序君把压箱底的秘籍掏出来:
- 首先,把github里排名靠前的几个repo,如spark,akka,clone下来放在一个目录里,删去原有的.git目录。
- 目录起个高逼格的名字,如immortal
- 写个高逼格的readme,比如说:spark/akka integration and customization for fully distributed, fault talerance, big-data based recommandation system. 这是对HR做SEO,顺便吓唬那些道行浅的CSMVI程序员。
- 然后在这个目录里运行rockstar,生成各种记录。
- 一个不够的话,搞它十几二十个,代码量轻松破百万。
HR绝逼不会想到世上还会有如此厉害的装B达人,必定像神一样供着。对于她的面试邀请,自己必须装作不感兴趣,冷傲地拒绝,待对方三顾茅庐之后,才很为难地妥协:工资必须是44.44w,股票2.2%勉强同意,title嘛,只能是CTO,要不就是VP of Engineering,至于面试,从来都是我面别人的份,轮到你们这些个虾兵蟹将来面我?
。。。
本故事纯属虚构,所做repo仅为实验rockstar和截图所用,大家笑笑就好。写本文的初衷是今天面试了一个很不靠谱的三哥,Sr. Staff,简历神乎其神,精通C/C++/Python/R/go,redis/mongodb/zeromq/hadoop/spark/etc.,十几年工作经验,还在创业公司呆过,结果一面,是个精心包装的大骗子。本来想写写湾区的三哥多不靠谱,正巧看到rockstar这个repo,和大家在hacker news上的嬉笑怒骂,有感,撰写了这个装B指南。大家玩玩就好,不必当真。玩腻了,就把生成的repo删掉,你的github profile又像从前一样干净了。
Head fake:你以为这篇文章是写给你的?错,我是写给HR看的。
本来今天不打算录语音的,但面试三哥的过程太有趣了,不信-你-听:
1. Chinese Stock Market Value Investment Co. Ltd.
- Codeforces Round #395 (Div. 2)(A.思维,B,水)
- php实现图形计算器
- Selenium2+python自动化73-定位的坑:class属性有空格
- 华中农业大学第五届程序设计大赛网络同步赛题解
- Java构造方法与析构方法实例剖析
- 5.训练模型之利用训练的模型识别物体
- KMP算法学习(详解)
- 查找算法的实现(C/C++实现)
- HDU 1495 非常可乐(数论,BFS)
- Selenium2+python自动化74-jquery定位
- 用php实现简单的自制计算器
- Selenium2+python自动化75-Chrome配置加载
- Selenium2+python自动化75-非input文件上传(SendKeys)
- python接口自动化11-post传data参数案例
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 容器中的数据管理
- Java基础 方法
- Python 技术篇-pyperclip库实现读取写入剪切板,超简单
- 基于consul的Docker-overlay跨多宿主机容器网络
- Python 微信机器人-向指定名称的好友发送微信消息
- JavaScript技术篇-js提升网页视频播放速率,提高慕课网视频播放速度
- 使用docker五步搭建ELK日志收集分析系统
- HDFS之SequenceFile和MapFile
- 配置ELK技术栈来分析apache tomcat日志
- LVS DR模式搭建,keepalived + lvs
- Ubuntu安装docker
- DockerFile简介与实例
- Elasticsearch2.3官方Dockerfile解析
- openstack架构解析
- Linux服务器基础网络配置