瞎扯淡 市面上需要怎样的程序员或者码工?

wanxxz · 2017年04月15日 · 最后由 roshanca 回复于 2017年04月17日 · 2403 次阅读

想找个写写业务代码的岗位,没想到这么难。

我的情况 👉 没有受过良好的数学训练,没有算法、数据结构的基础,没读过 TAOCP SICP 等等

以往的经历👇

需要 Ext JS?没问题 => 大致看下 tutorial => 开干

Less Jade 写起页面很爽啊 => 搞起

Grunt 不流行了?要我用 Gulp?OK 的 => 干

听说 React 很酷炫,还要搭配 Redux CSS-Modules Webpack Babel/ES6 ...... (此处省略名字连起来绕地球一圈的开源库们) => 可以,读下 tutorial or README => 干

☝️目前来看,觉得自己工作能力还是可以满足市场需要,但是这段时间换工作,都在面试败下阵来。

顿时感觉自己是一坨 💩 。

大家请随意吐槽,能给点建议最好。

是因为行业走下坡路了,需求变少了

最近面试了好多好多人,基本都跟你的情况差不多,就是有个东西看看文档,当时就开干。 说好听的,执行力强。说不好听的,不会思考。 首先你要知道你要做的是什么,你想用怎样的方式来实现,你选择一个技术、一个工具的原因是什么。是否考虑了投入传出比,是否能 handle 所有这个技术工具的优点和缺点。 这些都没想清楚直接开干,我只能判断你对做事情是没有思考的,没想清楚就开干,很可怕。

楼主至少有自我反思的精神,敢于面对问题寻找解决的办法

如果我面试被据好几次的话,只会默默看几集《水星领航员》来治愈下我这颗受伤的心

不是行业走下坡路,而是成熟了。

行业不成熟的时候,创业者认为只要是个程序员就可以做 APP 做网站,认为只要 APP 做出来就可以疯赚。所以程序员求职容易,创业者也舍得给高工资。

现在行业成熟了,创业者发现并不是程序员都可以写代码,同时也发现技术专业性和学历是个很重要的东西。这就对持有旧思想(程序员能做系统就牛逼)的程序员造成了极大地打击。

不成熟的 IT 公司变得成熟,懂得招收具有优良基础和学习能力的程序员。程序员也是时候开始反思,自己是否满足这些条件。会用几个框架语言已不再是程序员的专长,已是必备的能力。不妨问问自己,除了用用框架,自己还会些什么。

我毕业的时候数学不会,算法不不会,数据库不会。但都慢慢补回来了。倒不是觉得这些在工作中能用到,而是觉得作为一个程序员,这些不会,说不过去。 再一个就是给自己一个可能。真的有一天要用到这些呢,比如实现个算法,比如玩玩机器学习?数学、算法这些都是没办法在短时间学会的。

把要求降低些

zj0713001 回复

帖子里我想表达的是 get hands dirty 和 learn by doing 这两种能力我是有的。

我的想法是不论选择哪种技术总是有 trade-off,一个项目用什么,极大可能只是项目建立者的个人喜好或者习惯。

问个问题。怎样的表达方式可以让面试官感受到我的回答经过仔细思考,而且我是个善于思考的人?

yfractal 回复

这些不会,说不过去

我很讨厌这种说法,为了不让人说「哈哈哈,你看这个人连 XX 都不会」,然后刻意去记。

我的理解编程本身就是门技艺,常用的熟悉,不常用的忘掉,用到的时候捡起来。

我也很讨厌为了过面试去刷题。

adamshen 回复

看了一个星期的《动物朋友》才缓过来。

wanxxz 回复

那可能就是表达的问题了,你后来这个问题问的很好。能显示出你经过思考的最好表达就是你能说出来各个技术工具之间的优缺点、对比等客观事实,这样证明了你做过调查调研;然后再表达出你做出决策的思考过程,可以表现出你的逻辑思路。

从提到的经历来看,LZ 是最近几年追逐前端工具而迷失了吗?

LZ 的意思是你要我干什么我都能干,但是别问我,我也不想死记。基础差还想法为自己辩护。恰恰我就是个重视基础的人。100 样东西你都能直接开干我先不管,先给我把 TCP、IP 什么关系讲清楚,GET、POST 有什么区别讲清楚,Cookie 是怎么回事讲清楚(诸如此类)。应届生我会问数据结构问题,二进制问题。

wanxxz 回复

只是对自己的看法罢了。不会把这种看法加到别人身上,能解决问题,就是好样的。我对我自己的希望就是基础功再扎实一点。记忆本来就是学习的一部分,遗忘也是。

要求本来就是多样的。 很多时候要求不一样,比如 form 可以手写,可以用 form_for。有的时候我还会建议去了解 form_for 如何构建参数的,参数拿到了如何做赋值的。

需求总是多种多样的,总有彼此合适的。

wushexu 回复

是因为实际的工作能力很难考核,才让面试的内容变成考量基础(记忆力)么?

开始的时候各种工具隔三差五冒出来,觉得新鲜,现在觉得都是瞎折腾。🙃

其实我也是觉得自己什么都能干(最近学了个名词叫面向工资编程...),也自我感觉基础知识不扎实。

但我属于运气好的,没有为工作发愁过。我觉得关键因素(不谦虚的讲)是有能够证明自己的东西,比如给 Rails 贡献点代码,(前)Doorkeeper 项目成员,组织 RubyConf 和一些线下活动...在各种社区刷脸、在公司同事面前树立威望等等...

当然,既然评估自己基础知识不扎实,那想办法补足也是跨越的一个必须过程啦

wanxxz 回复

基础=记忆力,这是你的误解。

没说清楚,面试败在哪些地方?比如什么题没答出来。

呐...

最近在看新版《射雕英雄传》,你猜郭靖为啥能不费吹灰之力练了降龙十八掌、左右互搏、九阴真经,而且练完马上就能打出威力?

人家内功深厚啊,不像杨康那小子,连九阴白骨爪第四层怎么练都使不出来。

「哈哈哈,你看这个人连 XX 都不会」

这样的说法,先举一个例子:我说“你连 Slim 都不会”,你去看了 5 分钟文档,马上就能写出来,我还说你啥?

举第二个例子:假设你自称有 5 年 Rails 开发经验,我说“你连 MD5 是什么都不知道,还以为这种加密算法能随便找台电脑分分钟破解掉”。活该被说。

Google 曾经表态对某人说”你连反转二叉树都不会,还想来 Google 工作?“人家是大厂,硬气;你若能过面试,也能进去工作。

当然啦,你不能,至少现在不能。

讨厌为了面试去刷题?讨厌归讨厌,能否刷过是另一回事。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号