Skip to main content

三个Geek

在我职业生涯这么多年
,身边从来没有出现过“四大牛人”级别的人物:我朋友,我亲戚,我邻居,我认识的。连奇异的人都少,多半是跟你我一样的普通人。这三个,跟普通稍微不同点。

第一个出场的,是实验室大拿的儿子。大拿对Unix系统了如指掌,无论遇到什么问题,找到他,都是手到擒来。从破解密码,到底层查错,到硬件安装调试,无所不知。最让人惊奇的是,他似乎从来不需要什么用户手册,拿着那些稀奇古怪的端线接口,经常能直接告诉你每条线是接什么的,然后如数家珍地报出那种线的进化史。将门虎子,当然他儿子应该不差。要命的是,跟大拿不一样,这是个情种,18岁有了第一个小孩;并且是个负责任的情种,决定辍学要小孩。于是夫妇俩都打低级工,苦养小孩。我们实验室招人,头极不情愿地让他来试试 – 就是因为人家没有文凭,高中没毕业。我见到他的第一眼,就知道这是个常年窝在计算机旁不见光的geek, 高高瘦瘦,脸色惨白,眼睛非常有神,目光非常不安地到处移动,似乎不能安稳停留在任何一个地方。一旦开始问题,他就会跟注入强心针一样地活过来,脑子如机器一样开始运转。既然高中没有毕业,我也不bother问他那些算法问题。我就问:你平时干什么?擅长什么?他说:做系统管理,平面设计,图形界面编程。我就挑了一个问:Photoshop你用吧?回答肯定。那你应该知道苹果的aqua button, 你用Photoshop给我画个透明按钮出来吧。对于画过的人,这个不难,十几个步骤,但是也不简单。对于没画过的人,那是需要非常的想象力和Photoshop执行力。他说:我不知道exactly应该像什么样子,可以给你画个大概。然后就见他熟练地打开各种工具,各个图层,各种效果,一边说,一边做,而且我注意到,除非迫不得已,他都是快捷键操作,避免鼠标。不到3分钟,一个很漂亮的button出来了。我知道不需要再问他任何问题,写程序和系统管理,都不需要问,这种人就是天生跟机器打交道的,他会觉得键盘比跟人对话容易得多。可惜的是,头依然纠结于他的学历问题,最后招了个有学位的混混。

第二个,是个俄罗斯人,来应聘系统管理员。高,壮,但是为人很女气。以至于到今天我都记不清楚他到底是个男的,还是女的。聪明的人往往有个共同点,说话简洁,明快。他话不多,都在关键上。我也就不跟他费话,直接出题刁难他,从简单的开始:
- 走到unix的根目录,done
- 返回user home, easy
- 在user目录里,有一个子目录,下面有3个java file, 我需要你把它们拷贝到~tty/where/is下;如果这个路径不存在,create it
他想了一下,把几个文件装进tar里,create路径,然后解
- 再接着,在这个子目录下,有一棵树,它有一个后代目录,里面的java code里do image processing, 特征是有一个函数processImage(), 这样的java file可能有多个,我需要你把这些java file全部拷贝到指定目录,保持它们的树状结构关系
他再想了一下,用pipe连接,用ed直接改命令参数,两分钟搞定。
。。。
我再试了两轮,我有充分理由相信:这个人来我们实验室,现在系统管理员干一年的活,他最多需要一周就可以干完。很多活根本不需要干,写个script, 做成cron job, 到时候运行就完了。我们系统管理员平时挨个儿去骚扰人,update windows service, software,这些都是做成标准的batch, 在用户都不知道的时候就update了。

不出意外,头再次拒绝了geek, 我想部分原因是他看上去太weirdo, 更重要的,他没有一张正经的文凭,他来自一个community college,也就是国内常说的野鸡大学

第三个,也是我面试的,现在的同事。他是做C#界面的。以前曾经做了个网站:展示自己的所有衣服,然后让朋友投票,看每天该穿那件,怎么搭配。网站很受欢迎,以至于引起了People, CNN之类的媒体的兴趣,纷纷前来采访他。他把网站已经关闭了很久了,还总有人发信来问他:为什么关?哪儿能找到类似的?听他的描述,我差不多知道他的界面功底,我是不用测了,就看看他算法水平吧。一问之下,不算最好的,但是也不差。新公司比较认可我的推荐 --因为我总说人坏话,难得碰到一个我不说坏话的,他们就觉得算奇才了。我也很郁闷,其实不是自己水平高,而是来公司面试的,实在水平太低了,甚至我都怀疑他们以前是不是真写过程序。

人进了公司,显示出确实不一样。首先,把公司最重要的产品:visual studio, 用C#重写了一遍。以前的code是VB写的,千疮百孔,现在一改,不仅界面改观,而且功能也增强了。更重要的,他显示出geek的一面:兴趣很广,而且大都玩得不错。我是跟儿子玩DDR,卡在中级水平没有突破,就顺口问他玩那个不。果然他玩,掏出iphone,直接上expert级。又问他还玩什么iphone的app, 立刻给我列举了一大堆。我用iTuens管理音乐很头疼,也是跟他一问,知道了正确的办法。除此之外,他还玩车,玩fantasy baseball, 。。。

身边有geek朋友是很省心的一件 事,日常生活里有什么问题,跟他们一提,多半他们做过,知道正解。

人的能力,很大程度取决于你身边的朋友。

Comments

Popular posts from this blog

CKA Simulator Kubernetes 1.22

  https://killer.sh Pre Setup Once you've gained access to your terminal it might be wise to spend ~1 minute to setup your environment. You could set these: alias k = kubectl                         # will already be pre-configured export do = "--dry-run=client -o yaml"     # k get pod x $do export now = "--force --grace-period 0"   # k delete pod x $now Vim To make vim use 2 spaces for a tab edit ~/.vimrc to contain: set tabstop=2 set expandtab set shiftwidth=2 More setup suggestions are in the tips section .     Question 1 | Contexts Task weight: 1%   You have access to multiple clusters from your main terminal through kubectl contexts. Write all those context names into /opt/course/1/contexts . Next write a command to display the current context into /opt/course/1/context_default_kubectl.sh , the command should use kubectl . Finally write a second command doing the same thing into ...

OWASP Top 10 Threats and Mitigations Exam - Single Select

Last updated 4 Aug 11 Course Title: OWASP Top 10 Threats and Mitigation Exam Questions - Single Select 1) Which of the following consequences is most likely to occur due to an injection attack? Spoofing Cross-site request forgery Denial of service   Correct Insecure direct object references 2) Your application is created using a language that does not support a clear distinction between code and data. Which vulnerability is most likely to occur in your application? Injection   Correct Insecure direct object references Failure to restrict URL access Insufficient transport layer protection 3) Which of the following scenarios is most likely to cause an injection attack? Unvalidated input is embedded in an instruction stream.   Correct Unvalidated input can be distinguished from valid instructions. A Web application does not validate a client’s access to a resource. A Web action performs an operation on behalf of the user without checkin...