V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
spiritree
V2EX  ›  程序员

一位前端实习生的迷茫与困惑

  •  1
     
  •   spiritree ·
    spiritree · 2017-07-24 09:47:25 +08:00 · 14906 次点击
    这是一个创建于 2713 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前言

    我是准大四学生,在上海暑假实习开始两周了,进入公司后发现大部分都是后端开发,前端开发的人(切图也算吗)很少且前端也大多由后端兼做,整个技术部 20 人,但是怎么说也前后端分离了

    背景

    后端:Java Spring 全家桶+MyBatis 等 /Node.js (停摆,也是写 Java 的人开发)

    前端:Vue2/Angular1

    迷茫

    目前公司后管系统重构( Java+GWT,可以说是没前端),现在前端用 Vue+element-ui 构建,参考了开源的 Vue-admin (感谢饿了么和开源作者,让开发方便许多),目前每天的工作就是用 elementui 写页面和简单逻辑( CSS 都基本用不到),用 axios 获取 api,没 api 就 mock,感觉自己像搬砖的一样,对 Vue 也是一知半解,Vuex 也用不上。但好在公司没给我很重的业务,上班时我还是有时间自学的(公司没前端大佬啊)

    困惑(希望大家解答)

    前端

    • 我该如何进一步学习前端?

    看书?看各大公司 FED 的 Blog ?

    • 如何进一步学习 Vue ?

    找类似 Vue-admin/Vue-网易云音乐这样的开源轮子仿做?

    • CSS 如何练习?目前工作上很少用到,都快忘了常用的布局

    是不是用 SASS 写更好?

    • 第二框架语言选择 React (个人偏向于 React,用的人多且生态齐全,有 RN )还是 Angular (个人感觉用的公司相对不多)

    后端

    • 带我的大佬叫我自学 Java Spring,但是我前端还没学好哪有功夫兼顾啊,个人还是偏向 Node.js ,我自己也做过小东西比较容易上手(可是 Node.js 市场行吗,公司 Node.js 项目招不到人就停摆了又去用 Java 了)

    以上是个人的浅见(可能有不正确的见解),希望多多解答我的困惑,谢谢大家☺️

    38 条回复    2017-07-28 21:55:05 +08:00
    gulangyu
        1
    gulangyu  
       2017-07-24 09:50:34 +08:00 via Android   ❤️ 1
    楼主有用 typechi 这样的博客系统没,如果有的话,可以自己魔改个主题,那 css 就得到训练了
    gulangyu
        2
    gulangyu  
       2017-07-24 09:50:47 +08:00 via Android
    typecho
    admos
        3
    admos  
       2017-07-24 09:51:21 +08:00 via iPhone   ❤️ 3
    听你老大的话,学 java,学一切你看得见可以学到的技术,少矫情。
    silverkt
        4
    silverkt  
       2017-07-24 09:56:44 +08:00   ❤️ 2
    看你想混饭吃还是想做技术达人了。如果是混饭吃,那就公司让学什么就学什么,公司用到什么就学什么。 如果想做技术达人,那么就选一门精钻下去,其他的也不是不兼顾,只不过在二选一的抉择点时,你必然要有主次的去学习。
    spiritree
        5
    spiritree  
    OP
       2017-07-24 10:00:53 +08:00
    @gulangyu 我目前博客主题就是自己半抄半写的 的确学到很多
    ss098
        6
    ss098  
       2017-07-24 10:12:53 +08:00   ❤️ 1
    > 我该如何进一步学习前端?

    先安心把公司的项目做好。

    > 如何进一步学习 Vue ?

    如你所说,找项目做,尽量使用到更多的特性,试试更多的姿势。

    > CSS 如何练习?是不是用 SASS 写更好?

    我也忘记 CSS 要怎么布局了,Grid 组件往上一套什么都解决了 ... 可以先不用 SASS。
    zhlssg
        7
    zhlssg  
       2017-07-24 10:13:34 +08:00
    说真的,大佬让你学什么就学什么
    xiaonengshou
        8
    xiaonengshou  
       2017-07-24 10:18:57 +08:00
    大兄弟,“前端”就可以不会切图吗?
    sampeng
        9
    sampeng  
       2017-07-24 11:42:31 +08:00
    厅你大佬的。。。学你看得见的一切技术。。要只会前端。。除非运气好,否则。。。会很苦的。别看着眼前利益,互联网天天变,前端火是这两年的事。前几年屁都不是。所以去学习新的技术。有机会转 java 更好。

    现在能找到又会做前端又会做 java。还能管理服务器的基本当大佬去了。。。

    年轻的最大优势就是,你完全可以在工作之余学习其他东西。这意味着你比别人要多出一倍时间。。不用来学习干嘛。。。
    hellojl
        10
    hellojl  
       2017-07-24 11:52:44 +08:00   ❤️ 1
    好吧我是来提出不同观点的
    前端这两年还是比较火的,而且现在的前端跟五年之前的已经不一样了,使用 JS 可以做的事情很多很多,前端的技术进步的也很快,需要学的东西一样很多。前后端都会,这种史称全栈。之前经过两年全栈的熏陶,我觉得全栈就是个坑。前后分离是干什么的,不就是为了前后端可以分开管理,前后端的工程师可以更好的合作?与其成为前后端通吃的通才,不如成为某一个领域的专家。让后端程序员去写前端,前端去写后端,最后痛苦的只是程序员而已。
    以上,基于个人两段工作经历,第一家公司刚开始流行全栈,后来大家觉得前端的技术越来越专业了,所以开始专门招前端了;现在的公司,前后端都有专门的人来做,只专注于某一个领域还是很爽的,可以在自己的领域更加精进
    newguest
        11
    newguest  
       2017-07-24 11:53:54 +08:00
    我是后端
    我在学前端
    前端前景很好
    spiritree
        12
    spiritree  
    OP
       2017-07-24 12:27:36 +08:00 via Android
    @xiaonengshou 我是指只会切图 html+css 的“前端”
    xiaonengshou
        13
    xiaonengshou  
       2017-07-24 13:19:00 +08:00
    @spiritree 那也是前端啊,ios、android 工程师也是前端哦、
    zoffy
        14
    zoffy  
       2017-07-24 13:28:41 +08:00
    跟你情况类似,然后我现在白天在公司写前端,晚上在出租屋看后端的书
    marvinwilliam
        15
    marvinwilliam  
       2017-07-24 13:30:59 +08:00   ❤️ 1
    1.多读一些前端方面的博客,国内有些是直接翻译国外的博客,你可以看看原文引自哪里,然后找原作者的博客,再看看作者的圈子,再关注一波对自己有用的(请不要吐槽英语看不懂,你现在不看什么时候看?);

    2.照着别人的轮子学习也是不错的一种方式,但是不要只学了轮子就结束了,想想可不可以做的更好,加点功能什么的,只有自己思考过了才会进步.
    anubiskong
        16
    anubiskong  
       2017-07-24 14:30:12 +08:00   ❤️ 1
    我该如何进一步学习前端?
    - 不要在意前端后端的技术差别,把自己定位成 JS 程序员。做个自己需要的或者觉得有趣的网站,小一点的比如 todolist,大一点的像论坛,比如这个网站,对,就是 V 站, 甚至可以自己运营一下, 了解整个网站从无到有的里里外外, 在“做完”的基础上尝试“做好”,把网站改善到不仅自己可以用,别人用起来也觉得方便好用。你可能觉得这样有点偏产品经理,但事实上没有用户体验,再好的技术也是渣,尤其是前端这个领域。

    如何进一步学习 Vue ?
    - 看 API,对这套解决方案能够解决什么样的问题已经相应的解决方式有所了解,然后最好带着业务问题尝试用它来解决。不用太深入学习,前端框架更新换代很快,你刚实习要扩充眼界,多看看其他框架和技术,甚至看看 python 和 go 都行

    CSS 如何练习?....
    - CSS 需要大量积累,遇到问题解决问题,把解决方案整理成自己的“工具箱”从而提高未来的工作效率。比如遇到一个兼容性问题,然后花了很多时间找到了解决方案,那你就把它记下来,下次遇到类似问题直接拿来用。当然,用基于别人已经搞好的解决方案也是捷径,比如 Bootstrap 之类,SASS 这样的 CSS 方言也能带来一定便利。CSS 不值得深入学习,除非你的工作要求你有极高的开发效率,比如产品做活动而活动有 10 多个页面需要在短短两天内完工之类,但是这样的工作一般也不推荐长期做,不利于职业发展。很多公司没有把 JS 和 css 程序员分开,但是你要坚决的把自己定义成 JS 程序员才会有长久的发展。

    第二框架语言选择 React .....
    - 个人不推荐使用 google 的前端产品,设计非常死板冗余,如果是公司要求那么学学也无妨,推荐学 React,不过上面说过了,技术更迭太快,你会用就好,这些框架只是你面试的敲门砖,真正有价值的是你 JS 的经验和功底,而后者需要你多年的积累,需要业务的锻炼,现在急不来,有时间多接触些新鲜事物。

    带我的大佬叫我自学 Java Spring.....
    - 我个人不推荐学习 JAVA 和 C#,两者是大型企业螺丝钉们的工具。想选第二语言的话,每年都有 github 上语言活跃度统计,除了 JAVA 和 C#,从上往下学习是一个简单易行的选择方式,当然,榜单第一是 JS。
    RLib
        17
    RLib  
       2017-07-24 14:32:15 +08:00
    关注一些大 V 团队, 比如 http://taobaofed.org/
    zander1024
        18
    zander1024  
       2017-07-24 15:45:25 +08:00
    @sampeng 现在能找到又会做前端又会做 java。还能管理服务器的基本当大佬去了。。。

    感觉和说好的不一样啊。。。 上面的我都干了 还是条业务狗 每天为了几斗米折腰
    spiritree
        19
    spiritree  
    OP
       2017-07-24 16:39:52 +08:00
    @anubiskong 谢谢你如此用心地回复,这个答案也比较符合我的胃口,现在回复里也分为两派(听大佬学 Java Spring/专注 JavaScript ),有点纠结但还是偏向 JavaScript
    sampeng
        20
    sampeng  
       2017-07-24 16:44:49 +08:00
    @zander1024 当然必须要有项目复杂度为前提。。。只是业务狗没前途= =!
    spiritree
        21
    spiritree  
    OP
       2017-07-24 16:52:43 +08:00
    @sampeng
    @zander1024
    的确和你说的一样,我的大佬就是前端+Java+运维 应该叫 Java 架构师吧
    sampeng
        22
    sampeng  
       2017-07-24 16:54:58 +08:00
    @spiritree 架构师都是炒出来的。。无非是解决的问题更多一点。经验是重点。所以你刚入行,开拓眼界太重要。。。比如我看到一群已经一年左右的还只会用 svn。嚷嚷这 git 去死。。我就想一巴掌拍死。。。
    helloAVBD
        23
    helloAVBD  
       2017-07-24 17:00:08 +08:00
    多学多练多求教: https://www.clouderwork.com/jobs/explore?utm_source=bbs&utm_medium=job&utm_campaign=kk 这个平台上有很多低端开发项目可以练手
    antowa
        24
    antowa  
       2017-07-24 17:01:08 +08:00
    既然是实习生来讲。公司让你做什么你就做什么,如果你想在这里好好做的话。如果不想在这里好好做,那么就学到一些经验赶快跳咯。学东西之前想清楚自己的计划和目标
    ivechan
        25
    ivechan  
       2017-07-24 17:32:42 +08:00
    没事做又喜欢 JavaScript, 可以取 [https://developer.mozilla.org/zh-CN/docs/Web/JavaScript]
    翻译一波文档, 巩固知识+锻炼英文中文.
    (虽然我没有)
    Dzinlife
        26
    Dzinlife  
       2017-07-24 17:33:54 +08:00   ❤️ 1
    大佬也很无奈啊,简单的活你觉无聊,复杂的又不敢给你。

    所以大佬只交给你你能搞得定的活,这种活是不会带来提升的,你自己不搞些别的东西提升,大佬就永远给你派那些活,然后你继续没的提升。

    大佬叫你学 Java Spring,然鹅在你具备足够经验之前,相关业务还是不敢交给你的咯,想提升还是得自己搞些 side project,不然还是没的提升。

    所以说到底还是自己平时怎么折腾,啥感兴趣折腾啥吧。
    wly19960911
        27
    wly19960911  
       2017-07-24 17:52:35 +08:00 via Android
    学 Java 吧,路子更广,有这个机会,看看 Java,看看 PHP,看看 python,看看 go,随便看看。我感觉比局限在前端好多了。

    多接触其他语言,我一开始也是前端(目前还是学生),然后花三个月学习了 Java 后台一套的工具和思想,很受益,包括 PHP 的 laravel 使用方法也稍微能入门一点。

    另外我感觉 你真的可以学习看看,因为深入的付出与产出,没有入门的付出与产出大啊,Java 现在大企业也用得多,可以往高处走
    spiritree
        28
    spiritree  
    OP
       2017-07-24 18:32:47 +08:00 via Android
    @wly19960911 既然先学前端 怎么不选择 Node.js 呢
    Madkill
        29
    Madkill  
       2017-07-24 18:58:54 +08:00
    是时候换个重视前端的公司啦,strikingly 听过吗
    spiritree
        30
    spiritree  
    OP
       2017-07-24 19:19:10 +08:00 via Android
    @Madkill 听说过,很 geek 的公司!赞助过 Vue,用的是 React,上线了,谢谢大佬的好意😊
    spiritree
        31
    spiritree  
    OP
       2017-07-24 20:54:18 +08:00 via Android
    @zoffy 佩服你的毅力 我一天下来感觉好累
    shenyu1996
        32
    shenyu1996  
       2017-07-24 21:55:40 +08:00 via Android
    之前找前端实习,后来进去让我自学白鹭游戏引擎,后来又嫌我代码质量差,让我滚蛋了...现在租个房子啃 js 红宝书...也好想找个正常的前端实习呀
    wly19960911
        33
    wly19960911  
       2017-07-24 23:33:55 +08:00 via Android
    @spiritree node 的 express 稍微接触过一两下,但是我这边同学的后端是 Java,没办法,跟着他们一起走,本身也是做过一点 Android 的,所以我直接学这个方向了,毕竟也成熟。

    另外 js 的话我推荐一个百度的人写的博客,https://github.com/youngwind/blog 他在不断学习各种框架和工具的源码,写的也不错
    caijihui11
        34
    caijihui11  
       2017-07-25 09:05:08 +08:00
    买本书看,对着项目敲
    spiritree
        35
    spiritree  
    OP
       2017-07-25 11:08:59 +08:00 via Android
    @wly19960911 谢谢分享😀
    miyalee
        36
    miyalee  
       2017-07-25 11:29:20 +08:00   ❤️ 3
    同意 @hellojl 的观点 ,我也是刚结束实习不久的前端,我们公司也有一部分前端工作是由后端同事完成的,同事们都比较年轻的,有些前端代码真的是惨不忍睹。并不是鄙视,如果让我学几个月后端然后做后端的工作,我写出来的代码在后端眼里估计会更惨不忍睹。这也是公司最近不停招前端然后重构项目的原因吧。

    这也不是说就一点都不管后端技术,如果你感兴趣,看看绝对没有坏处,并且我觉得懂一点后端自己做小项目会更方便呀,可以自己做点 API 玩

    对于前端,我觉得现在分了两大类,一种是逻辑向,一种是视觉向。一般逻辑向前端主要就是处理项目的逻辑业务功能,基本都在跟 js 打交道,UI 会用一些不错的框架。视觉向主要处理页面数据可视化,或者你经常看到的哪些超炫的效果动画,玩一些 canvas,three.js 等等。其实我一开始是想向视觉向发展的,女生嘛,美美的东西更有吸引力。但后来我的工作一直都是处理逻辑,也发现自己会为一个功能冥思苦想,并且觉得很爽,而对于一些动画效果反而难以一眼看出它的变化过程。所以其实有时候,你自己可能都不了解真实的自己喜欢啥,好在我们年轻,可以多多尝试,就像逛街买衣服,你不试怎么知道穿上不好看?

    我实习结束后有过很多很多面试,这些面试让我认识到自己一个很大的问题,我觉得也是很多匆忙做前端的大家的问题:不扎实的基础。很多刚从事前端的大家都是到公司就学习各种框架,然后干活,积累经验,越来越熟练。慢慢的你会发现,抛开框架,自己竟然不知所措。几年以后,看似成为大佬的你就会遇到瓶颈,当真正的大佬开始造自己的轮子,造几万人好评的轮子的时候,你还只能靠着自己几年的经验做事,就行困在玻璃瓶里,跑不了多远就撞到了边界。我们说自己做前端,但是 js 你了解到多深? css 和 html 呢?所以当我工作完成后,我会去优化自己的代码,去想哪些逻辑可以优化的地方,那些循环可以变少再变少的方法,然后我会去研究 js 最原始的部分,从定义变量开始,从每个数据类型开始。就像 @hellojl 所说,js 可以做的事情太多了,你想玩,大可以模拟一个桌面应用又何妨~

    我也一直在用 vue,我觉得学的最快的方式就是上手,看文档,做项目。不用刻意去说什么我今天要学计算属性,看完文档直接上,遇到问题就去查解决方式,去看文档细节部分。你会发现,今天你用了 router,发现好方便,好神奇。明天你又发现可以试试 vuex,更方便,更神奇。这是一个循序渐进的过程,每一个项目都要从 init 开始,到后面,你会发现不知不觉 vue 就用的得心应手了。

    关于 css,我最近也很少用了,不过我觉的用一个预处理并不能让你更熟练布局,真想练习,不如下次就不要使用 UI 框架咯

    以上都是我的个人建议,说到最后,其实学什么,还要看你的兴趣,当你想学一个东西,你会自然而然的关注很多跟它相关的 git 库,文档等等,加油!
    RcatToper
        37
    RcatToper  
       2017-07-25 11:44:21 +08:00 via Android   ❤️ 1
    给你一个有价值的回答,不管前端还是后端,对于你这样的一个初学者来说都没差,但在你经验非常不足的情况下,你想要一家公司聘用你,你就一定要有特长,一定要精通,你说你要学 vue,在你只懂 vue 的皮毛的情况下,你却又想着要开始 react,对于初级工初级工程师来说,技术在精,而不在多,精通要比知道多个知识点的皮毛难得多。还有就是,一定要注重基础,问一下自己对 js 有多了解,是不是非常深入的了解过,还是只懂写写 js 代码而已。如果 java 有更多机会学习,有更多机会参与公司有意义的开发,那为什么不努力学习 java 呢!但还是那句话,一定要深入研究基础,绝对不能只懂得写写代码而已。注意:前端工程师不是会码个页面出来就是前端工程师,这种事情后端工程师也可以做得到啊!
    mingyun
        38
    mingyun  
       2017-07-28 21:55:05 +08:00
    @wly19960911 这个博客不错
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   991 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 19:39 · PVG 03:39 · LAX 11:39 · JFK 14:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.