V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lifesimple
V2EX  ›  职场话题

两年前端的一些技术上的迷茫和困惑。

  •  1
     
  •   lifesimple · 2016-07-27 13:45:32 +08:00 · 9954 次点击
    这是一个创建于 3077 天前的主题,其中的信息可能已经有所发展或是发生改变。

    两年前端,自我评价也就只能刚入门的样子吧。感觉去年这个时候到现在的技术水平没有太多的提高,可能也就 jQuery 写的更加熟练一点了,知道前端这个行业又多了哪些新技术什么的,但也只是限于了解知道,照着官网写写 demo 的样子。

    这一年的时间里,换了两家单位,一家是给政府做硬件的大公司,但做的项目都是面向 IE6 8 ,因为网络管制,试用期结束就走了。第二家是创业公司,我算是第一个前端过去吧,那时候虽然想用一些新的技术框架如 ng , react 什么的,但是自己在新技术也不熟悉,怕以后项目会遇到什么风险,就还是按传统项目那么用 jquery+bootstrap 来写了,后端是.net 所以基本开发环境就是 VS ,也没用到什么自动化部署或者打包什么的。

    所以虽然做前端两年了,但技术水平感觉很一般,基本的页面效果能写, js 能力偏弱,对一些 js 的高级知识比如闭包、作用域、原型链、继承等有一些了解,但是只是书上看过,项目中用到的少,自己也没折腾一些项目,估计也就停在记记背背稍微理解的样子,往深问就懵逼。

    在 v2 上每天都能看到各种牛放简历,自叹不如。 平时自己学习提高方式就看看慕课或者其他教程网站的一些视频教程,然后跟着写写 demo ,看一些书,有问题 google/stackoverflow ,没有很深的去了解和理解更深的技术,自我驱动能力不是很强。

    所以两年前端的技能水平也就是用 html(5)/css(3)写一些常规的页面, jQuery 写写交互,原生写的少,移动端接触也很少,能用过一些框架和类库,但一些新技术(可能也不算新了 现在)什么比如 node react webpack es6...都只是听过,了解甚少。

    想问下,你们都是怎么去提高自己的前端技能水平的呢,在项目中以及在平时自己折腾一些的项目中。能分享一点经验或者指导么? 谢谢。

    第 1 条附言  ·  2016-07-31 13:33:52 +08:00
    首先,非常感谢大家的批评和建议,受益很多

    以前总是在工作项目中遇到一些问题知识点以此驱动去提高自己的技能水平,做好工作的事情,但是项目总是会趋于平缓可能会让你觉得没那么多东西可以学的了,本身这种认识就有点问题吧,技能技法的学习是靠自己去学习提高,工作只是作为检验和产出。 不应该把自己提高专业技能水平的提高这事依赖于工作中的遇到的问题知识作为驱动去学习。

    谢谢诸君。
    57 条回复    2016-08-01 10:06:10 +08:00
    passion336699
        1
    passion336699  
       2016-07-27 13:55:11 +08:00 via Android
    😥深有同感呀,新技术没实际项目实践,感觉自己怎么写都是 demo 。
    swift
        2
    swift  
       2016-07-27 14:07:36 +08:00
    工作中不要盲目追新,自己的项目随便折腾。
    lifesimple
        3
    lifesimple  
    OP
       2016-07-27 14:11:45 +08:00 via iPhone
    @swift 觉得自己还是缺乏折腾劲
    WenJimmy
        4
    WenJimmy  
       2016-07-27 14:14:18 +08:00
    和楼主一样....想用新技术没有项目,自己折腾一个又只是个 demo ,深入不了
    oukichi
        5
    oukichi  
       2016-07-27 14:17:36 +08:00   ❤️ 1
    楼主可能忽略了学习了。我前端一年,回首过去这一年,觉得自己飞一样的成长。我们工作是 angular 向,但是我对自己的要求是先解放自己的生产力,所以不断的要求自己的代码越来越好,然后也就越来越深入的学习。我想,这应该是我成长的原因吧。
    sox
        6
    sox  
       2016-07-27 14:22:57 +08:00 via Android
    不知道,兴趣使然。
    chairuosen
        7
    chairuosen  
       2016-07-27 14:23:57 +08:00
    可以用新技术去实现一些自己灵光一闪的想法。
    lwbjing
        8
    lwbjing  
       2016-07-27 14:28:16 +08:00   ❤️ 1
    demo 的、日常的一些插件了啥的,可以提取出来,改良,优化,给开源社区贡献代码,等等...
    有很多事情可以做的,包括你所做的 demo 也去项目里尝试,从影响不大的部分开始...
    深入不了是咋回事,要深入了解他,去看他源码,熟悉他的原理机制等...
    别把自己该做的事情赖在项目上,提高深入是靠自己的,项目只是负责个验收...
    另外,努力吧,同是天涯切图仔..
    whosesmile
        9
    whosesmile  
       2016-07-27 14:35:12 +08:00
    总结一句:视野受限。
    推荐方法: github 上你先学会怎么用它的搜索功能,然后找到前端相关的按关注度排序,排名靠前就是大势所趋了,然后一个一个看,现阶段能用到的重点分析,用不到的加关注。
    lifesimple
        10
    lifesimple  
    OP
       2016-07-27 15:04:22 +08:00 via iPhone
    @oukichi 嗯 是的吧 公司项目没什么新东西可以学 自我驱动力不够,这样技术方面慢慢就会被别人拉开了
    lifesimple
        11
    lifesimple  
    OP
       2016-07-27 15:06:12 +08:00 via iPhone
    @lwbjing 嗯 你说的有道理的,不要把自身的提高寄希望于项目中学到新东西,感觉是自身对技术的热忱不够,有时候比较浮躁
    lifesimple
        12
    lifesimple  
    OP
       2016-07-27 15:06:47 +08:00 via iPhone
    @whosesmile 嗯 谢谢指点
    lifesimple
        13
    lifesimple  
    OP
       2016-07-27 15:07:05 +08:00 via iPhone
    @sox
    ianva
        14
    ianva  
       2016-07-27 15:30:20 +08:00   ❤️ 1
    前端本来就处于变革的年代,即是是工作多年也觉得有好多东西要了解,各种库框架都在变,但有一点是毋庸置疑的,前端终归属于计算机的范畴,软件工程,抽象方式,都不会变

    从另一方面说这又是前端最好的时代,因为之前的很多年前端都处在一个刀工火种的年代,而今各种框架,库,工具,语言特性让你很容易获取和实践到一些编程的思想,能应用到不同的编程范式,

    对于 lz 来说确实缺少复杂的项目实践,没有学习和参照的导师,而且前端这个职位,初级职位本身就面对大量的重复工作,是有难度,视野问题不是看 github 趋势就能解决的,缺少的是分辨能力。

    另外就像楼主说的什么都了解过,但从没深入过,不能知其然知其所以然,是无法有提高的。
    lifesimple
        15
    lifesimple  
    OP
       2016-07-27 16:06:12 +08:00
    @ianva 是的 有时候项目做着做着就会觉得在做一些重复性的内容,然后一些新出的技术内容,因为项目中不会用到,所以不会有特别多的积极性去学习了解,缺乏实践了解的终究比较浅。
    ianva
        16
    ianva  
       2016-07-27 16:17:04 +08:00
    @lifesimple 所以有重复性工作就要想着如何利用工具,利用复用,抽象解决重复,这就是作为一个 Programmer 应该面对和解决的问题,而不是机械的完成
    slwchs
        17
    slwchs  
       2016-07-27 16:27:12 +08:00
    其实实际工作中老板只关心一点,交个你的任务能不能漂亮的实现。所以你提到的这些新的技术啊工具啊都是浮云,解决问题的思路,和探寻解决问题的方法(包括但不局限于搜索引擎、请教大牛...)这些能力才是推动你未来成长的真正驱动力
    second06
        18
    second06  
       2016-07-27 16:45:59 +08:00
    多看 多读 多写 多思考 --- 废话
    yiyizym
        19
    yiyizym  
       2016-07-27 16:47:29 +08:00   ❤️ 1
    单纯从程序员写代码能力方面考虑,阅读优秀项目的源代码是提升实力的好途径。你用过 jquery ,市面上就有一本讲解 jquery 源代码的书,先不提 jquery 代码写得有多不好,看完前几章包你收获满满。看完 jquery ,可以看看 backbone 的,初始版本真的很简单,你可以学习到经典的 MVC 实现。如果想追逐新潮,可以看 vuejs 的源代码,最早公布的版本是 0.6.0 。代码量 3000 行都不到。

    一边看源码一边动手写文章用自己的话解释源码,写点 demo ,工作中就会有意无意使用学到的知识。在这个浮躁的前端圈子,光把某个版本 vuejs 的源码理解一遍,你就比大部分人功力深厚。
    wolffn
        20
    wolffn  
       2016-07-27 17:02:23 +08:00
    给 lz 两个建议
    1.工作还是要到强技术团队,起码有个大牛带你
    2.自己学习看经典教材,官方文档,源代码
    lifesimple
        21
    lifesimple  
    OP
       2016-07-27 17:20:46 +08:00
    @yiyizym 恩 非常感谢你的建议,有时候确实觉得有点浮躁,沉不下心来读一些实实在在的东西,面试准备的时候也只是背背一些知识,这样真不行。
    lifesimple
        22
    lifesimple  
    OP
       2016-07-27 17:21:55 +08:00
    @wolffn 只是第一点,强技术团队的要求高,不是很容易进去,所以先从第二点好好学习起来提高自己吧,谢谢建议 :)
    lifesimple
        23
    lifesimple  
    OP
       2016-07-27 17:23:57 +08:00
    @ianva 恩 谢谢指点
    ianva
        24
    ianva  
       2016-07-27 17:28:34 +08:00
    @yiyizym jquery 代码并不是一个好的源码范本,太多地方是解决兼容性问题,还放了很多黑魔法,难于阅读,早期版本是这样,现在的版本源码没看过,而从 dom 方面讲现在 dom 的操作越来越不重要,而现在兼容性问题又不是前端的主要问题,前端的主要问题现在已经演化为应对复杂的应用逻辑,至于 selector , ie8 都有原生支持的情况下看的意义并没这么大
    sskyy
        25
    sskyy  
       2016-07-27 18:15:31 +08:00
    同意上面说的视野太窄,不是前端技能的问题。好好读点基础编程的书,不要局限在前端。《代码大全》《设计模式》《重构》看起来。
    lifesimple
        26
    lifesimple  
    OP
       2016-07-27 18:54:15 +08:00
    @sskyy Thx 代码大全买了放了大半年了,翻开看了“个人性格”那一章节,真的写的挺好,老司机的经验之谈...
    rockzhou8
        27
    rockzhou8  
       2016-07-27 19:12:29 +08:00
    满满干货,给楼上各位老司机们点赞
    yiyizym
        28
    yiyizym  
       2016-07-27 19:12:34 +08:00
    @ianva 我没说 jquery 代码写得好,但跟着那本书(书名叫《 jQuery 技术内幕:深入解析 jQuery 架构设计与实现原理》),能学到很多东西,就 lz 的现阶段的水平和工作实际用到的技能来说,跟着那本书阅读 jquery 源码比看其他框架源码要有用得多。 dom 操作重不重要、兼容问题是不是问题、前端有没有复杂逻辑 这些都是因公司而异的。
    当你需要脱离框架写点前端代码的时候,当你遇到奇怪 bug 的时候,往往都是看你有没有了解过这些细枝末节的知识。
    ianva
        29
    ianva  
       2016-07-27 19:15:55 +08:00
    @yiyizym 脱离库写前端代码这件事本身就不该发生,那些代码太脆弱,如果是考虑到新的浏览器那真不如看 zepto
    henryxie2093
        30
    henryxie2093  
       2016-07-27 19:52:41 +08:00
    其实真没事可以去耍耍题啥的
    最近在 www.codewars.com 上做做题感觉也很有趣,也可以看到其他大神的解答,对自己提高蛮多的。
    yolio2003
        31
    yolio2003  
       2016-07-27 20:11:35 +08:00
    事实就是,提不高的,摔!其实刻意提高不难的,难点是有需求和环境去体现出你技术的价值。你可以自己折腾博客、项目工具之类的,并且从项目、公司等各个层面挖掘可以发挥的地方,创造价值和需求(这点更不容易哦~)。
    我还是想说,前端技术这么多,但是都是屎一样,特别是 react 那种火爆的小框架,折腾半天貌似很有成就感,然而并不能提高自身多少。还是加强基础更划算。
    SourceMan
        32
    SourceMan  
       2016-07-27 20:14:42 +08:00 via iPhone
    你这,还略初级呀,要么往重构工程师发展,要么往前端工程师发展,你这个算停滞不前
    多自己去主动玩玩前端新鲜的东西
    lifesimple
        33
    lifesimple  
    OP
       2016-07-27 20:23:57 +08:00 via iPhone
    @yolio2003 嗯 以后打算自己去折腾一些自己的项目写着玩,不然有时候看书背概念不写还是容易忘
    lifesimple
        34
    lifesimple  
    OP
       2016-07-27 20:26:14 +08:00 via iPhone
    @SourceMan 嗯 thx
    Tankpt
        35
    Tankpt  
       2016-07-27 20:54:42 +08:00
    好像将近三年了..不过稍微比你多点。打包插件还有 node , es6 , webpack 都试过。。可能是缺少一个生产环境。
    lifesimple
        36
    lifesimple  
    OP
       2016-07-27 20:58:18 +08:00 via iPhone
    @Tankpt 可以去个前端技术氛围活跃点的团队啊
    zhibushiwo
        37
    zhibushiwo  
       2016-07-27 21:05:39 +08:00
    感觉和楼主一样啊
    yihouzenmeban
        38
    yihouzenmeban  
       2016-07-27 22:25:07 +08:00
    和楼主一样。。感觉就是停留在写 demo 的阶段。。没有具体环境去应用新技术。。
    lifesimple
        39
    lifesimple  
    OP
       2016-07-27 22:29:09 +08:00
    @yihouzenmeban 哎 有时候不知道摆脱这种困境,最好是找个相对互联网一点的团队,在项目中也会用到新的东西,自己学起来应用起来应该快一点
    Anshi
        40
    Anshi  
       2016-07-27 22:38:22 +08:00
    一年前端。。感悟和你差不多 估计不改变的两年后和你一样。。。
    lifesimple
        41
    lifesimple  
    OP
       2016-07-27 22:52:55 +08:00
    @Anshi 恩 加油吧 基础学扎实一点先 然后多接触一些新技术
    flashback313
        42
    flashback313  
       2016-07-27 23:20:57 +08:00 via Android
    demo 是否可以考虑去调用公共 api ,做一套完整功能。
    日常业务快速完成的情况下,是否有更好方案?
    算法和设计模式有看过没有?


    前面的大神说的很对,前端逃不出计算机程序的范畴,框架会过时,抽象、设计、算法不会过时。 ps :感觉 lz 就是代码量少了
    secondwtq
        43
    secondwtq  
       2016-07-27 23:39:43 +08:00
    前端工程师的水平并不能以会用多少新技术来界定吧 ...
    不过说回来,这个所谓的“标准“其实也是我现在比较迷茫的一个事情
    Tankpt
        44
    Tankpt  
       2016-07-28 00:22:25 +08:00
    @lifesimple == 嗯。。正在这样的团队中。
    phxsuns
        45
    phxsuns  
       2016-07-28 09:31:25 +08:00
    换个团队。去找个有人指导,有人一起成长的团队。
    或者,
    逼自己去折腾。做些开源项目;勇于尝试自己想来比较困难的事情,走出舒适区域。
    repus911
        46
    repus911  
       2016-07-28 10:07:37 +08:00
    闭包、作用域、原型链、继承...
    我做了两年后端的时候都知道了...
    unknownservice
        47
    unknownservice  
       2016-07-28 10:33:41 +08:00
    积累量的问题吧, 3 年前我也跟你一样迷茫,如果工作给不了你尝鲜的机会,就自己多写写吧,然后找机会换个工作,就都顺了。
    Canrz
        48
    Canrz  
       2016-07-28 10:36:44 +08:00
    哈哈,跟我去年到今年初的状态好像啊,一直关注前端潮流,但是也就写写 demo 。在实际开发中没有感受到新技术对工作效率的提升,完全没有深入学习的内在动力和外部驱动。我个人是换了家公司,跳出那种手工作坊式的前端开发,对我来说还是实际开发的外部压力对学习的促进效果强些。
    ajan
        49
    ajan  
       2016-07-28 11:13:46 +08:00   ❤️ 1
    我来喷一喷,想学习只能靠自己, Google 百度 Github ... 这么好的资源,还拿着公司的工资,时间总是有的。 有些人总是嘴里叫着要学这个学那个,就是嘴上说说,有空就搞别的东西,他真的爱好编程吗? Yes/No ? 或许只是为了拿工资罢了。我身边有几个前端就是这种样子,技术不好,也不学。 大牛为什么管你呢? No Reason !
    yatessss
        50
    yatessss  
       2016-07-28 12:13:02 +08:00
    我觉得最好的办法就是找一个用新技术的团队,然后跟着学习,成长速度会很快的,框架都是看着难,越用越熟练地
    lijingyu68
        51
    lijingyu68  
       2016-07-28 13:16:44 +08:00
    之前公司用的自己开发的框架(基本没人用),但我个人这几个月已经从 vue , react , redux , react-native 折腾到 clojure 了,但其实与项目无关,与自己有关吧
    lifesimple
        52
    lifesimple  
    OP
       2016-07-28 13:52:10 +08:00 via iPhone
    @lijingyu68 对,讲到底还是自己的问题
    hmckkk
        53
    hmckkk  
       2016-07-29 15:22:45 +08:00
    个人看法:
    前端狗需要掌握的区别于其它工种的东西就只有 html/css/js 和浏览器环境那点东西。
    然而整体技术上解决问题的能力的提升还是靠浏览器前端范围外的知识。。。基础和技术视野很重要。。。

    来点负能量:
    即使技术再厉害还是得在资本家手下搬砖:)楼主想清楚了再往竞争激烈的码农圈里跳哦。。。青春饭也吃不长久。。。:)
    yamyamyuo
        54
    yamyamyuo  
       2016-07-29 22:44:56 +08:00
    @hmckkk 最近对青春饭这个问题有一点思考,其实很多人认为码农是吃青春饭的,其实码农这个行业是逼着你进步的,不进步就会被淘汰。青春饭的意思其实就是你竞争不过小年轻了,熬夜熬不过人家了,并不是说码农这个行业 30+没法干。最主要的问题就是能不能提高自己的竞争力,一般来说工作三年之后会有个瓶颈期,代码写的很多,该熟悉的坑都熟悉了,可是走不上 leader 的道路,没有能力带领团队,没有能力设计框架,于是薪水提不上去,工作的性质也仍然是搬砖的,长此以往不但没有进步,反而退步了,我认为这才是青春饭的本质。至于一些走上架构师之路的人,他们的经验会让他们走得更远。所以古人那句的话,学如逆水行舟,不进则退。
    yamyamyuo
        55
    yamyamyuo  
       2016-07-30 13:42:46 +08:00
    其实现在有那么多创业公司,楼主前端的经验足够找个创业公司去锻炼一下,自己学自己写 demo 真的很难碰到现实中的难题
    hmckkk
        56
    hmckkk  
       2016-08-01 09:54:23 +08:00 via iPhone
    @yamyamyuo 管理岗就那么多,够所有 30 多岁的码农来当吗?别天真了,刚毕业得时候我也觉得技术做到一定时候就能做管理岗。再说了,管理岗还不是给资本家搬砖…责任大事情多,加班跟吃饭一样,未必比一线码农轻松。
    要么就搬大半辈子砖,要么趁早出来创业或转行。
    IT 行业不是正常人能呆的…
    hmckkk
        57
    hmckkk  
       2016-08-01 10:06:10 +08:00 via iPhone
    @yamyamyuo 还有我说的青春饭真的不是技能竞争不过,是身体竞争不过
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2722 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 08:40 · PVG 16:40 · LAX 00:40 · JFK 03:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.