
作者:掘金泥石流
转发链接:https://mp.weixin.qq.com/s/lQdURo8p-_C2TSrdk1sRvA
今个就不放前言了
今个也没有后话
直接奔主题
「啥是前端韭菜?」
作为资深前端老韭菜, 我认为清新的前端韭菜都基本有以下反复表现的特征
- 常年闲逛各种技术社区, 以前是 CSDN, 后来是简书, 现在是掘金和思否、公众号
- 看帖不发帖, 随手点个赞, 沸点灌水主力军
- 从买 99 的课程到 9.9块百度网盘包邮, 前端技术课程收藏爱好者, 资深前端课程打折专家 (反正就是光买不看, 不看就不看)
- 知乎最关注最多的问题, "2018 前端还有前途么, 2019 前端还有前途么, 2020 前端还有前途么", "2018 前端是不是饱和了, 2019 前端是不是饱和了, 2020 前端是不是饱和了"
- 最喜欢看的文章类型 "前端知识总结 1000 讲", "100 个有用的前端库", "有趣的 CSS 100个动画效果"
- 同一类型文章反复看, 去年看 JS 底层原理, 今年看 JS 底层原理, 明年还看 JS 底层原理
你数数, 有中招的么?
如果没有, 别急, 我这里有一份 前端知识脑图 100多页, 相信我, 你只要看了一定会点赞, 评论加收藏, 然后明年的今天我换个标题 前端知识脑图 102 页, 你还会来点赞, 评论加收藏.
作为过来人, 上面的事我几乎全干过, 所以只要你不是天纵奇才, 基本上你的职业生涯都得从一颗前端韭菜开始
「论前端韭菜的自我成长」
第一步 接受自己就是棵韭菜这个事实
接受自己就是棵韭菜, 这是你有别于其他韭菜的重要特征, 因为只有你接受自己是棵韭菜才会认识到, 韭菜的价值只和你的年龄有关, 所以无论你是专科, 本科, 研究生毕业出来当个前端韭菜, 在没有自我成长的情况下, 出*身卖**体的年限都是一样的, 基本不超过 10年. 学历影响的主要是起薪和 10年里出*身卖**体获得的价值总和.
所以别信只要肯持续学习就有出路, 就能干到退休的所谓成长鸡汤学, 这种理想化的情况就跟实验室里做实验差不多, 都是在假设的非常理想的实验环境下得到的结论.
鸡汤喝多了, 你会陷入自我麻醉, 对被割这件事越发麻木.
第二步 持续学习的目的是为了让出*身卖**体的价值总和达到最高
通过第一步, 你理性的认识到自己就是靠出*身卖**体来挣钱的, 那持续学习技术的价值就是让你的身体看起来更值钱, 争取在这段出*身卖**体的韭菜生涯里让自己获得的价值能达到一个最高值, 基于第二步, 职业规划性价比较高的路线大致就这么几条
- 以创业型公司为主, 赌一波期权变现, 创业公司融资轮数和你的年龄成反比, 越年轻越选初创公司, 万一赌中一个头条呢? 和行业风口热度成反比, 年龄越大越要远离风口, 降低风险, 如果你赌性真的很重, 建议去炒股, 比干前端收益大多了, 反正都是赌, 要赌大的
- 以新晋大厂为主, 熬一波股票变现, 比如拼多多, 头条, 快手, 这条路线的原则是紧跟行业新贵, 看估值挑公司, 走这条路对你的学历背景, 技术能力有较高要求, 但是收益相对稳定, 风险较低, 干得好, 10年攒下几百万还是有希望的, 适合韭菜中的战斗菜
- 混合型, 如果无法一开始就进新晋大厂, 就先走初创公司, 锻炼能力, 然后去敲新晋大厂的门, 这条路线风险小于 1, 收益小于 2, 但是胜在综合性较好, 适合半路出家, 跨专业转行, 学历背景不良但是学习能力强的韭菜, 但是进大厂的年龄不能超过 30 , 过了 30, 收益直线下降, 风险直线上升
不同路线的建议
对于路线 1, 适合大多数普通韭菜, 如果你从小运气特别好, 然后又不大爱学习, 我建议你选 1, 不过从风险的角度讲, 路线 1 的成功可能性和时间成反比, 基本上能赌中都是在头 5年, 后 5年概率很低了. 所以要随时做好转行准备, 时刻关注外卖行情, 必要的话最好学一门不受年龄影响的副手技能
对于路线 2, 就一个字, 攒钱, 只要头 10年你能不被自己看似顺风顺水的生涯冲昏头脑, 攒住这些年赚的钱, 后半生可以无忧, 副手技能主点理财金融投资类, 以培养财商为主, 或者考虑实业.
对于路线 3, 我想说挺艰难的, 如果你是路线 3, 一个是尽可能攒钱, 另外副手技能最好以写作, 演讲为主, 后期可以走培训, 自媒体路线, 一般路线 3 个人经历都比较丰富, 也擅长讲故事, 或者点管理技能, 走管理路线延长职业生涯, 然后转投资和实业.
总的来说在韭菜期, 主要是认清自己是棵韭菜, 然后深刻认识自己是棵啥韭菜, 然后选一条路线尽量让自己的韭菜生涯获得回报最大化
第三步 做一棵会学习的韭菜
最近因为头条估值暴涨引发的前端算法面试热, 连带 LeetCode 牛客也火了起来, 作为一棵韭菜, 应该没少看算法文章和报算法课吧, 没错我也买了, 可气的是我买了课之后, 我朋友才跟我说百度网盘 9.9 全有. 当然作为脑力工作者我们要尊重知识产权, 不(zhi)能(toutou)干那 9.9 买盗版的事.
算法是程序员的基本功和编程基础这无需置疑, 不过就跟英语也分四六八级一样, 不同职业对英语基础的要求肯定不一样, 软件工程师也是如此, 如今是精细化分工的年代, 不像以前的程序员从事的都是计算型编程, 基本都是围绕数据展开的, 操作的都是数据, 没有任何高级抽象, 相对于后端, 前端工程师是一个混合型工种, 包含了对设计对产品和对编程多维度的理解, 所以对算法掌握的程度取决这个岗位实际对算法的需求, 而不是 LeetCode 上随机刷题, 然后死扣最优解, 当然本质还是当前内卷化背景下, 投简历的人实在太多了, 多到不需要进行专业化的面试, 简单粗暴一点, 先快速把队伍拉起来要紧.
看一个人具不具备学习能力, 主要看这几方面
- 高效模仿
- 快速总结
- 抓住本质
- 举一反三
学习首先是一个模仿的过程, 小时候学毛笔字都干过描红吧, 类似这种模仿是为了让身体和大脑对于某种技能的使用能逐步达到协调, 我们编程基本就是脑子加手, 所以为啥学编程一定要敲代码, 因为光看你手脑不协调, 没法高效的模仿, 自然也谈不上正确的使用了, 只有通过高效模仿那些编程示例, 你才能正确使用新的技能.
❝
所以学任何新技术如果是以使用为目的一定要动手, 动手, 动手, 理解不理解没关系, 你先照猫画虎写起来.
❞
其次是快速总结, 这里我不禁要反问新鲜的韭菜们, 你们觉得面试考算法是在考察什么呢, 我看不少人说考察思维, 看聪不聪明, 反应速度等等, 但我认为, 算法又不是脑筋急转弯, 看临场发挥, 编程能力是一个刻意练习的结果, 所以你哪怕很聪明, 但是你觉得你练一周算法能和一个比你笨的人练1年达到相同水准么? 反正我觉得不太可能, 你要行, 那我也认了, 封你个韭菜战斗机的称号好了
其实算法考察的是你对数据结构的掌握和逻辑思考能力, 我发现现在很多韭菜硬是把算法面经, 算法面试, 算法学习搞成了应试教育, 颇有一种高考题海战术的意思, 当工程师是一个实践性行业, 「我们学习算法的目的不是为了去考试」
学习算法的目的是为了掌握数据结构和具备高效处理数据的能力, 但这和你实际解决工程或者业务问题的能力并不直接关联, 但是它间接地影响你的逻辑思考能力和处理问题的效率.
我理解没有算法基础和有算法基础的程序员最大的区别不是寻求所谓的最优解, 而是在面对实际的工程和业务问题时, 不懂算法的人他的思考基础不是基于数据结构的, 而是基于语言逻辑, 举个例子 JS 中常用的就是数组和对象这两种数据结构, 如果你不懂算法, 自然也不会掌握基础的数据结构, 于是在编程和处理问题上都是以数组操作和对象操作来完成的, 你分解业务问题分解工程问题最终都会映射到 JS 的数组和对象上, 当问题复杂化的时候, 你缺乏更多的工具去应对, 这里的工具就是数据结构和算法, 最经典的就是个树形菜单, 光靠数组和对象, 写出来的代码肯定惨不忍睹呀, 同时在面对一些技术问题时你的思路也会受限, 因为你只知道数组和对象, 而具有算法基础的人, 他就会考虑使用树去解决问题, 算法减少了思考成本, 缩短了思考路径, 自然也提升了解决问题的效率.
「就好比不懂建筑设计的水泥工也能盖大楼, 但是肯定没法盖超级大楼, 所以不懂算法的前端开发能开发项目, 但是一定无法应对极大型项目. 也无法适应时代对技术的要求和变化」
❝
这里扯开另一个话题, 最近知乎上看到不少问转行前端合不合适, 我想说时代变了, 跨行转前端, 非计算机行业转前端, 大龄转前端的时机已经过去了.
❞
所以那些小公司, 尤其是创业型公司可别学大厂搞什么算法面试了, 你们要的不就是能加班的韭菜们, 东施效颦不适合自己. 算法决定的是工程师的成长高度, 但不妨碍他干活, 而且小公司一堆的一次性业务, 说实话有时间思考怎么高效优雅的写代码, 还不如好好理解需求堆上去来的实在.
这也符合我之前提的程序员路线图, 35岁逃离大厂去小公司里吃过往经验的老本, 做最后一茬韭菜, 毕竟大多数人在大厂就是个写业务的螺丝钉, 说实话估计连写个标准点组件的机会都摸不到, 干个几年, 如果平时不练算法, 那肯定忘得也差不多了. 而且最近大厂还搞 LowCode, 天啊这是连写代码的机会都不给了, 螺丝钉即将进入加速生锈时代.
❝
有人会说可以利用业余时间学习, 看技术原理啊, 之类的, 那我只能说你太年轻, 就大厂的绩效压力和强度, 你还有精力搞这些我也是服你的. 如果你还有老婆孩子, 那...请收下我的膝盖
❞
所以光模仿都是初级的, 每一次模仿你都要试图去做总结, 来练习你快速总结的能力, 这个过程类似你对你大脑里通过模仿获得的知识进行一次抽象封装, 然后遇到同样的问题你就可以基于总结来思考, 就像我们处理 IO 性能优化加入缓存差不多, 你总结的越多缓存就越多, 自然脑子反应就比别人快了, 这也是大龄韭菜延长韭菜寿命的主要方法
你会发现学习的过程和我们编程的过程很类似, 都是先写出原子化的解法, 然后总结(封装)成更容易理解的结构, 当我们有了一堆的结构我们就需要对其进行整理, 梳理他们的关系, 找到链条的源头(抓住本质), 然后面对同一类问题, 你给出的就不是一个解法或者一个经过总结的结论, 而是一套系统性的方案(本质), 至于举一反三, 不用说了那就是创新了呀, 学习到了这一步, 你达到了领域专家的能力可以从事创新工作, 根据本质发明挖掘衍生物
因此有经验的大龄码农, 我们常说的吃老本, 吃的不是你的编程经验, 而是你过往这些年抓住的那些本质, 只要这些本质对应的问题依然存在, 你就还能继续靠经验吃饭. 所以你要是从来只是在模仿阶段, 那你根本就没老本可吃.
「论前端韭菜的自我突破」
如果你掌握了韭菜成长的秘密, 那恭喜你至少可以成为一棵有价值的韭菜, 但如果你内心不甘心就此沉没, 那我们来讨论下, 如何从韭菜自我突破变成韭菜花.
其实我很佩服销售, 刚毕业的时候我也干过销售, 我觉得销售可能自我认识最清醒的韭菜了, 靠业绩说话, 而且一般销售这个职业都具有资源聚集的特性, 典型的花公司的钱集自己的资源. 而这个社会上又是什么人在割韭菜? 就是有资源的人在割韭菜
什么是资源
资源简单来讲就是不属于你但是能对你当下或者未来产生价值的东西
比如客户资源, 人脉资源, 业务资源, 供应链资源等等
人类通过社会分工来整合资源创造价值, 我的理解是没有资源但是能创造价值的就是韭菜, 韭菜有价值, 但是没资源, 当价值为0, 老韭菜就会被拔出来, 把新坑让给新韭菜, 这就是 34岁大龄程序员被优化的本质, 当你有价值的时候, 割韭菜的会给你描绘美好的愿景, 许诺你只要按照他的意图, 把精力都花在他给定的路线上, 就能有美好的未来等等
❝
其实我国早年就是棵超级巨大的韭菜, 要说从韭菜突破到韭菜花的经典案例, 应该是中国的经济崛起奇迹.
❞
每割一次都要从割韭菜的人身上换回一点资源
因此韭菜的自我突破的关键在于你能不能在有限的被割的次数中收集到足够突破成韭菜花的资源
❝
10年前要是有人告诉我这个道理, 我绝对不会在这里写文章跟你们扯这些, 作为割韭菜的人怎么能让韭菜有自我意识呢?
❞
所以转管理啊转架构啊, 当项目经理啊, 其实都是在被割的过程中进行的资源交换, 你要管理你的下属就是你的资源, 你做架构, 你负责的项目就是你的资源, 另外因为你多少也具备了一点割韭菜的能力所以也就有了和割韭菜人打交道的资本, 于是你可以进一步进行资源交换拿手里的韭菜去换其他资源, 我记得知乎上都说海康的管理如何压榨下属, 如果发文的人深刻理解韭菜理论估计就不会有那么多牢骚了.
「所以你不甘心当一颗前端韭菜的话, 那就自我成长让自己更有价值, 然后争取每次收割中都能换回更多的资源吧」
推荐JavaScript经典实例学习资料文章
《Node.js实现将文字与图片合成技巧》
《爱奇艺云剪辑Web端的技术实现》
《我再也不敢说我会写前端 Button组件「实践」》
《NodeX Component - 滴滴集团 Node.js 生态组件体系「实践」》
《Node Buffers 完整指南》
《推荐18个webpack精美插件「干货」》
《前端开发需要了解常用7种JavaScript设计模式》
《浅谈浏览器架构、单线程js、事件循环、消息队列、宏任务和微任务》
《了不起的 Webpack HMR 学习指南(上)「含源码讲解」》
《了不起的 Webpack HMR 学习指南(下)「含源码讲解」》
《10个打开了我新世界大门的 WebAPI(上)「实践」》
《10个打开了我新世界大门的 WebAPI(中)「实践」》
《10个打开了我新世界大门的 WebAPI(下)「实践」》
《「图文」ESLint 在中大型团队的应用实践》
《Deno是代码的浏览器,你认同吗?》
《前端存储除了 localStorage 还有啥?》
《Javascript 多线程编程的前世今生》
《微前端方案 qiankun(实践及总结)》
《「图文」V8 垃圾回收原来这么简单?》
《Webpack 5模块联邦引发微前端的革命?》
《基于 Web 端的人脸识别身份验证「实践」》
《「前端进阶」高性能渲染十万条数据(时间分片)》
《「前端进阶」高性能渲染十万条数据(虚拟列表)》
《图解 Promise 实现原理(一):基础实现》
《图解 Promise 实现原理(二):Promise 链式调用》
《图解 Promise 实现原理(三):Promise 原型方法实现》
《图解 Promise 实现原理(四):Promise 静态方法实现》
《实践教你从零构建前端 Lint 工作流「干货」》
《高性能多级多选级联组件开发「JS篇」》
《深入浅出讲解Node.js CLI 工具最佳实战》
《延迟加载图像以提高Web网站性能的五种方法「实践」》
《比较 JavaScript 对象的四种方式「实践」》
《使用Service Worker让你的 Web 应用如虎添翼(上)「干货」》
《使用Service Worker让你的 Web 应用如虎添翼(中)「干货」》
《使用Service Worker让你的 Web 应用如虎添翼(下)「干货」》
《前端如何一次性处理10万条数据「进阶篇」》
《推荐三款正则可视化工具「JS篇」》
《如何让用户选择是否离开当前页面?「JS篇」》
《JavaScript开发人员更喜欢Deno的五大原因》
《仅用18行JavaScript实现一个倒数计时器》
《图文细说JavaScript 的运行机制》
《一个轻量级 JavaScript 全文搜索库,轻松实现站内离线搜索》
《推荐Web程序员常用的15个源代码编辑器》
《10个实用的JS技巧「值得收藏」》
《细品269个JavaScript小函数,让你少加班熬夜(一)「值得收藏」》
《细品269个JavaScript小函数,让你少加班熬夜(二)「值得收藏」》
《细品269个JavaScript小函数,让你少加班熬夜(三)「值得收藏」》
《细品269个JavaScript小函数,让你少加班熬夜(四)「值得收藏」》
《细品269个JavaScript小函数,让你少加班熬夜(五)「值得收藏」》
《细品269个JavaScript小函数,让你少加班熬夜(六)「值得收藏」》
《深入JavaScript教你内存泄漏如何防范》
《手把手教你7个有趣的JavaScript 项目-上「附源码」》
《手把手教你7个有趣的JavaScript 项目-下「附源码」》
《JavaScript 使用 mediaDevices API 访问摄像头自拍》
《手把手教你前端代码如何做错误上报「JS篇」》
《一文让你彻底搞懂移动前端和Web 前端区别在哪里》
《63个JavaScript 正则大礼包「值得收藏」》
《提高你的 JavaScript 技能10 个问答题》
《JavaScript图表库的5个首选》
《一文彻底搞懂JavaScript 中Object.freeze与Object.seal的用法》
《可视化的 JS:动态图演示 - 事件循环 Event Loop的过程》
《教你如何用动态规划和贪心算法实现前端瀑布流布局「实践」》
《可视化的 js:动态图演示 Promises & Async/Await 的过程》
《原生JS封装拖动验证滑块你会吗?「实践」》
《如何实现高性能的在线 PDF 预览》
《细说使用字体库加密数据-仿58同城》
《Node.js要完了吗?》
《Pug 3.0.0正式发布,不再支持 Node.js 6/8》
《纯JS手写轮播图(代码逻辑清晰,通俗易懂)》
《JavaScript 20 年 中文版之创立标准》
《值得收藏的前端常用60余种工具方法「JS篇」》
《箭头函数和常规函数之间的 5 个区别》
《通过发布/订阅的设计模式搞懂 Node.js 核心模块 Events》
《「前端篇」不再为正则烦恼》
《「速围」Node.js V14.3.0 发布支持顶级 Await 和 REPL 增强功能》
《深入细品浏览器原理「流程图」》
《JavaScript 已进入第三个时代,未来将何去何从?》
《前端上传前预览文件 image、text、json、video、audio「实践」》
《深入细品 EventLoop 和浏览器渲染、帧动画、空闲回调的关系》
《推荐13个有用的JavaScript数组技巧「值得收藏」》
《前端必备基础知识:window.location 详解》
《不要再依赖CommonJS了》
《犀牛书作者:最该忘记的JavaScript特性》
《36个工作中常用的JavaScript函数片段「值得收藏」》
《Node + H5 实现大文件分片上传、断点续传》
《一文了解文件上传全过程(1.8w字深度解析)「前端进阶必备」》
《【实践总结】关于小程序挣脱枷锁实现批量上传》
《手把手教你前端的各种文件上传攻略和大文件断点续传》
《字节跳动面试官:请你实现一个大文件上传和断点续传》
《谈谈前端关于文件上传*载下**那些事【实践】》
《手把手教你如何编写一个前端图片压缩、方向纠正、预览、上传插件》
《最全的 JavaScript 模块化方案和工具》
《「前端进阶」JS中的内存管理》
《JavaScript正则深入以及10个非常有意思的正则实战》
《前端面试者经常忽视的一道JavaScript 面试题》
《一行JS代码实现一个简单的模板字符串替换「实践」》
《JS代码是如何被压缩的「前端高级进阶」》
《前端开发规范:命名规范、html规范、css规范、js规范》
《【规范篇】前端团队代码规范最佳实践》
《100个原生JavaScript代码片段知识点详细汇总【实践】》
《关于前端174道 JavaScript知识点汇总(一)》
《关于前端174道 JavaScript知识点汇总(二)》
《关于前端174道 JavaScript知识点汇总(三)》
《几个非常有意思的javascript知识点总结【实践】》
《都2020年了,你还不会JavaScript 装饰器?》
《JavaScript实现图片合成*载下**》
《70个JavaScript知识点详细总结(上)【实践】》
《70个JavaScript知识点详细总结(下)【实践】》
《开源了一个 JavaScript 版敏感词过滤库》
《送你 43 道 JavaScript 面试题》
《3个很棒的小众JavaScript库,你值得拥有》
《手把手教你深入巩固JavaScript知识体系【思维导图】》
《推荐7个很棒的JavaScript产品步骤引导库》
《Echa哥教你彻底弄懂 JavaScript 执行机制》
《一个合格的中级前端工程师需要掌握的 28 个 JavaScript 技巧》
《深入解析高频项目中运用到的知识点汇总【JS篇】》
《JavaScript 工具函数大全【新】》
《从JavaScript中看设计模式(总结)》
《身份证号码的正则表达式及验证详解(JavaScript,Regex)》
《浏览器中实现JavaScript计时器的4种创新方式》
《Three.js 动效方案》
《手把手教你常用的59个JS类方法》
《127个常用的JS代码片段,每段代码花30秒就能看懂-【上】》
《深入浅出讲解 js 深拷贝 vs 浅拷贝》
《手把手教你JS开发H5游戏【消灭星星】》
《深入浅出讲解JS中this/apply/call/bind巧妙用法【实践】》
《手把手教你全方位解读JS中this真正含义【实践】》
《书到用时方恨少,一大波JS开发工具函数来了》
《干货满满!如何优雅简洁地实现时钟翻牌器(支持JS/Vue/React)》
《手把手教你JS 异步编程六种方案【实践】》
《让你减少加班的15条高效JS技巧知识点汇总【实践】》
《手把手教你JS开发H5游戏【黄金矿工】》
《手把手教你JS实现监控浏览器上下左右滚动》
《JS 经典实例知识点整理汇总【实践】》
《2.6万字JS干货分享,带你领略前端魅力【基础篇】》
《2.6万字JS干货分享,带你领略前端魅力【实践篇】》
《简单几步让你的 JS 写得更漂亮》
《恭喜你获得治疗JS this的详细药方》
《谈谈前端关于文件上传*载下**那些事【实践】》
《面试中教你绕过关于 JavaScript 作用域的 5 个坑》
《Jquery插件(常用的插件库)》
《【JS】如何防止重复发送ajax请求》
《JavaScript+Canvas实现自定义画板》
《Continuation 在 JS 中的应用「前端篇」》
作者:掘金泥石流
转发链接:https://mp.weixin.qq.com/s/lQdURo8p-_C2TSrdk1sRvA