不参加工作获得“三年经验”的一些策略
2023-2 review:1 经验 绝对也是一种知识,记在我们的大脑里的。只是所谓“有经验” 其实是有一个假设,假设你有面试官想要的知识,可是他又可能说不清楚。
2 「知识」根据 被认识的目标 有抽象和具体的,有整体和局部的,有纯一的有混合应用的,有这个领域有那个领域的。面试官一般所说的知识或经验,都是他那个领域的混合应用型知识,由于没有很好判断力,所以最好是实际的作品
3 如果有人认可,间接经验或抽象理论知识,也是一种经验和知识,所以关键要有资质认证机制,有欣赏你的人。
求职需要求职者具备一定的经验,这是常识,因为商业公司不是培训机构,更不是慈善机构,个人和公司是一种互惠的合作关系。但是,对于刚入行(例如大学生)的人说,不参加工作就没有实际经验,又怎么拿到公司的offer呢?本文是写那些(和我现在一样)转行的,刚入行,或是非科班出身的求职者看的。
源起
十月底我自觉重新进入职场准备的差不多后,慢慢开始投递一些职位申请,每天三两个申请。一周多了没有接到面试电话,有朋友看了我的简历后说,我的简历里最近三年的空白是硬伤,没有项目经验会处处碰壁。听了后,我才正式思考「经验」这个问题。
经验不也是知识吗?
在没有工作的前提下如何获得“TMD经验”,不只是一个笑话(看这个图),对刚入行的人(包括像我这样的转行的,或非科班出身的)来说是很现实的问题。但反过回来想想,==经验不也是知识吗?==亲身经历只是获得知识经验的一种方式,不是唯一方式!间接经验,抽象经验不也是经验?可见,有关什么是经验,如何获得有价值的经验存在认识混沌。
经验是什么?
所谓有经验,就是就某一类问题(任务),掌握了基础技能(知识),解决的基础条件,和体会到任务或问题的意义注1。而这种掌握多半是亲身经历才能掌握。经验就是经历验证。
间接经验的不足在哪里?
经验(形式)落实要靠「意义的体验」,间接经验最大的不足,是不完全确定知识(工具)针对的那类任务(存在产物)的实际意义。你没有做出任何实在 存在的东西,很难实证它的价值,甚至不确定它是否真的可行。简单的说,间接经验(能力)是虚的,你自己不能十足证实它能做出实物而产生意义,更无法让旁人相信你确实具备这个经验和能力。
举个简单的例子,在JS的函数式开发里,你可能掌握了【偏函数技术】的知识,例如 【偏函数技术】可以改善代码可读性;在没有实质的软件产品,光有例子时,这个技术和意义对你来说都是虚的,所以你只能说认识到偏函数的本质,而不能说掌握了函数式开发这方面的经验。因为,知识是抽象的,「知识应用于实际」可能还需要其它知识和经验。
直迫有经验的两个策略
间接经验不能等同于直接经验,但不代表间接经验没有价值,没有在面试中判断能力水平的参考价值,这个结论应该是无容置疑的,所以完全把实际项目经验作为唯一的“敲门砖”是短视行为。而对于刚入行的人来说,如何突围“没有工作的前提下无法获得经验”这个悖论,是他们最关心的点。
不参加工作是获取不到直接经验的,然则获得直接经验不是我们发展的真正目标,我们的目标是「提高能力」。作为刚入行者,我们可以有两个策略来提高比参加实践更能提高自己的能力,迫近有经验,甚至有所谓“三年工作经验”,说服面试官,拿到offer。
第一策略,做虚拟的实验项目;
这是培训机构的标准做法,但是对于自学者来,项目选择和单独完成则是一项额外的挑战;
第二策略,完备专业知识,重点是偏技术的知识;
这是我个人认为最有价值的投入,也是一直以来的选择,但是事实证明这条路更凶险。
对于刚入行,或者决心转行的人来说,如果有条件,参加培训班还是最保险的做法(虽然我个人不看好现在的培训行业),因为毕竟还是有经验的人带你拿经验;如果自信自学能力的,敢于冒险,自学更自由一些,收获可能也更大,至少对自己的自学能力有一次很好训练。二者各有优劣。
无论自学还是付费请人带,第一个策略做实验项目对于一般的企业用人来说更有吸引力,因为它的成果比较接近 “有项目经验”;第二个策略,是我想重点分析,因为它是我的最主要选择,选择提高自己的能力的策略。
自学技术知识的策略
如果选择自学,两个「直迫策略」都有一个重大的困难,就是学习的指引,例如选择什么的虚拟项目来练习,和选择什么样的技术知识重点学习。由此可知,我们进一步面对一个新困难而需要作出「新的策略计划」——如何做有价值的项目练习和技术知识学习(相对前面的做 迫近有经验困难的策略);
这里重点分析一下「如何做有价值技术知识学习」的策略:
- 第一,比对流行的面试题,从别人的面试经验总结有价值的技术知识;
- 第二,图书选择;
这里第二个策略是最保险的,因为有不少技术开发者以图书的方式分享他们的开发经验,图书比较技术文章更全面一些,只是在筛选上可能还需要一些指引。这里就JS开发,我推荐以下两本(如果你有更好的,欢迎留言):
他们的特点都满足前面分析,第一,偏技术;第二,全面;而且很薄,都是200页左右。可以这样自信的说,如果把这两本书通读消化下来,没有三年经验,都有“一两年经验”!
关于这两本书,和有关如何获得开发经验(例如什么叫有开发经验)还有研究的空间,接下来可能从这两本书中抽一内容来探讨。
总结
不参加工作是拿不到(直接)经验的,但并不代表我们不能通过阅读优秀间接经验,提高自己的专业基础。有了专业基础,也就更自信和底气拿下面试官。
参考
- 进入软件工程训练营 https://www.derrickbeining.com/2017/04/29/fullstack-academy-admissions-my-experience/
- 在没有CS学位情况获得第一份 开发者 工作 https://www.samanthaming.com/blog/how-i-got-my-first-developer-job-without-a-cs-degree/
- 这个定义 是比较抽象的。经验也是一种理论知识,但和【技术知识】不完全一样,因为光阅读书本上技术,还不完全说 有实际 的经验。【经验】包括(可能不只)使用 技术或工具的 模式知识。↩