职业发展上的困惑,虚心求教 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要回答技术问题时复制粘贴 AI 生成的内容
PorUnaCabeza
V2EX    程序员

职业发展上的困惑,虚心求教

  •  1
     
  •   PorUnaCabeza 2018-03-23 00:25:00 +08:00 7645 次点击
    这是一个创建于 2760 天前的主题,其中的信息可能已经有所发展或是发生改变。
    楼主 2016 年 6 月毕业,一毕业就进入南京某创业公司直到现在,职位是 java 开发。工作了接近两年。

    目前遇到了一个职业发展上的困惑:我该走后端还是前端的路?还是说这两者并不是割裂的?

    java 算是我的老本行,从大学到现在一直在写,基础还算不错。经常用 java 写一些自己的小工具,小项目。目前公司的技术栈是 springboot+自研的持久层框架,这一套我已经用的很熟练,但是诸如 spring 源码、java.utils 包下类的源码等,自己没有吃透。一些分布式、大数据、高并发的场景,在目前的公司内遇不到,这方面的经验,我基本为 0。

    前端是从实习时才接触的,从 backbone 学起,到现在 es6 新特性、css3、vue 全家桶、webpack 打包、部署、移动端屏幕自适应布局等,前端算是“用的很熟练”,node 也写过,electron 也写过,但是因为没有经历系统的学习(算是野生生长),一些原理性的东西,我是“朦胧”的(比如 vue-router 的实现机制、Promise 的实现原理等)。

    linux 这一块,也有一定的基础,常用的命令自然不多说,nginx 的配置、ci 的搭建部署也都会,后来学习了 lua,了解到 openresty,用 openresty 也写了一些业务模块。

    我可以基于公司的技术栈,独立搭建前后台工程、做好前后端分离、配置 ci、部署到服务器,但是自己知道,这只不过是“熟练工”而已。

    在刚工作的几个月,怀着一颗热情的心投入到代码中,一切都是新的,一切都要学习,学习 vue,学习 redis、rabbitmq,学习 springboot,当时那几个月,我的 github commit 是一片绿草原,公司新招的美女长什么样子?我不知道,因为没有多余的心思去关注。现在想想,当时真的是一段很美好很单纯的时光,也是进步最快的时候。

    在近期几个月,我完全没有意识到自己陷入了舒适区,每天上班写写业务,下班跑步打游戏,沉湎于自己所谓“技术强”、“前后端通吃”的自大洋洋得意中,技术实力曲线的导数,已无线接近于 0。

    在最近半个月,也许是吃的生发药刺激了大脑,或者是逼哥李志听多了终于跳出了无边幻海,意识到了自己所处的舒适区,是一个怎样无比凶险的心境;自己的洋洋得意,是基于同事整体技术实力不强、公司业务规模不大的前提;自己的技术积累,处在一个虽然前后端都会,但是均“知其然不知其所以然”,既没有广度,也没有深度的境地。

    那么楼主想问:
    1、下一次跳槽(应该快了),我该走后端还是前端的路?还是说这两者并不是割裂的?不知道大家有没有什么好的建议。
    2、一个工作经验近两年的 coder,应当具有怎样的技术广度与深度?我应当做哪些改变?

    附上博客与 github,感觉自己进入了一段迷茫时光,当局者迷旁观者清,希望各位提些建议,虚心接受
    http://www.cabeza.cn/
    https://github.com/PorUnaCabeza
    41 条回复    2018-03-24 17:54:26 +08:00
    jeffAAA
        1
    jeffAAA  
       2018-03-23 00:57:22 +08:00 via Android
    YuuuZeee
        2
    YuuuZeee  
       2018-03-23 04:39:59 +08:00
    同感 我也是这个状态 学校教授建议我转产品岗 我自己想看看消息序列的 东西
    jethroWush
        3
    jethroWush  
       2018-03-23 05:46:01 +08:00   2
    业务是否是值得深挖的方向?行业是否是值得沉淀的方向?前后端通吃个人觉得不矛盾,问题在于重心在哪?想一下子一次性一块吃不现实,再说前端后端不应该是看自己兴趣使然么?如果没有过多的生活压力,倒是可以从心,如果有一定生活经济压力或者述求从钱也是应该,认清楚这个再去考虑广度、深度是不是会更现实 更细节一点呢?
    xiaobai012
        4
    xiaobai012  
       2018-03-23 07:18:58 +08:00   2
    说实话,我个人不怎么赞同前后端并行,要不着重后端,要不着重前端,一个人的精力毕竟有限,一天也就 24 小时,另外你既然 java 基础比较深,还是着重后端吧,前端既然会用暂时来说是够了
    a1237a
        5
    a1237a  
       2018-03-23 07:26:52 +08:00 via Android
    马克
    751327
        6
    751327  
       2018-03-23 08:05:02 +08:00
    同感,6 月份离职
    albertofwb
        7
    albertofwb  
       2018-03-23 08:17:27 +08:00 via Android
    2017 届毕业生,猛然发现也进入了舒适区,天天盼望有妹子加入,哈哈哈
    deepred
        8
    deepred  
       2018-03-23 08:45:23 +08:00
    同困惑,现在前端和后台 node 均是熟练工,但都只限于会用的程度,哪样都不深入。本来是前端出身的,进公司后,大部分时间反而去写 node 后台的增删改查去了。
    luoway
        9
    luoway  
       2018-03-23 08:56:44 +08:00 via Android   1
    多看书吧。

    系统地学习一块内容后,就会发现自己的知识深度具体有多么不足,而不像现在这样只是觉得不足,却没有动力去填补。
    Paddington
        10
    Paddington  
       2018-03-23 09:04:10 +08:00
    默默立个槽点吧
    要想技术有发展,前端和后端肯定是撕裂的
    就我做后端而言,我发现后端也有很多分支,每个分支都足以让我职业前 5-8 年去深入精通。
    qa2080639
        11
    qa2080639  
       2018-03-23 09:15:24 +08:00
    马克
    hxsf
        12
    hxsf  
       2018-03-23 09:19:52 +08:00   3
    其实说到底还是深度广度的事情。
    有些事情,光有广度是不够的。(某些专业的事情是需要深度的这个没毛病吧)
    在有些情况下,光有深度也是然并软的。 一个纯后端和一个纯前端,两人没有共同涉猎部分的话(如 web 前后端的传输协议),也是鸡同鸭讲。

    就看你觉得自己知识的广度广到什么范围、深度深到什么位置比较适合自己所想的模样。

    比如未来规划是分布式服务,那前端的 browser 相关的东西都不用了解。
    如果是一个有一定架构能力,能协调各个部位的全栈,那么对广度就有一定的要求了。

    PS:
    程序员往一个方向干久了,就会变成了针对某一个位置的非常好用的齿轮(专家),然后一旦环境变了。。。。。。
    如果是啥都懂。拥抱变化就比如方便,不过一旦遇到某些非常深的问题,要么硬啃,快速学习变成半个专家,要么直接找专家。。。
    所以两种人都是被需要的。最后还是要看你自己的未来规划。

    最后,保持学习,个人认为最重要的不是当前的能力水平,而是快速学习和保持不断学习的能力。
    leekafai
        13
    leekafai  
       2018-03-23 09:28:52 +08:00
    入职 nodejs 开发,兼着做前端。
    个人发展自主掌控,我现在开始学 golang,以后要么反哺公司,要么跳槽。
    Codewj
        14
    Codewj  
       2018-03-23 09:34:01 +08:00 via iPhone
    这就是你徐州郑恺不靠脸吃饭的理由???
    sulang
        15
    sulang  
       2018-03-23 09:58:05 +08:00
    楼主有兴趣来深圳么~
    PorUnaCabeza
        16
    PorUnaCabeza  
    OP
       2018-03-23 10:40:56 +08:00
    @jethroWush 感谢!目前没有过多生活上的压力,这也导致自己丧失了一些动力,我要再认真审视下自己兴趣所在了~


    @xiaobai012 谢谢!你说的很有道理,吾生也有涯而知也无涯,是需要确定一个主攻的方向了

    @hxsf 感谢老友,观点很独到,受用了
    PorUnaCabeza
        17
    PorUnaCabeza  
    OP
       2018-03-23 10:41:12 +08:00
    @sulang 你好,怎么联系呢~
    mss0
        18
    mss0  
       2018-03-23 10:42:34 +08:00 via iPhone
    吃生发药有效么?
    PorUnaCabeza
        19
    PorUnaCabeza  
    OP
       2018-03-23 10:46:31 +08:00
    @mss0 角度刁钻。因人而异,保法止了解一下?
    JamesRuan
        20
    JamesRuan  
       2018-03-23 10:59:51 +08:00
    楼主和我好像,区别是楼主只是还用的上 rabbitmq,想必业务流量一定有一定规模了。
    而我们团队连 redis 都用不溜……
    Just1n
        21
    Just1n  
       2018-03-23 11:07:21 +08:00
    想换.NET 玩玩嘛?
    shuang
        22
    shuang  
       2018-03-23 11:59:50 +08:00
    我毕业也是做 java 的,工作经验比你多几年,我也遇到过选前端还是选后端的问题。
    就我的经验来看,学后端太依赖于平台了,分布式、大数据、高并发的场景,如果所在的公司用不到,只靠自己在那摸索不能够在项目中实践,很难有成果,所以需要找个好的公司好的平台。当然我水平比较差,可能别人自学能力比较好没这个问题。
    前端的话上手比较简单,只要一个浏览器就可以了,而且大部分内容都是开源的,很容易取得成果产生正向激励。有的后端在遇到困难后,尝试改做前端,一开始感觉还不错,但后面学了一段时间后也会遇到前端领域的问题,最终就会变成后端和前端该选哪条路线的问题了。
    前端后端孰优孰劣没有定论,很容易引起争吵。就个人而言,还是要根据自身的情况选择一条线路主攻下去,不要两个都抓。你可以两个都了解,但心里一定要确定主攻哪个方向,做个清晰的职业规划。曾经我也是两个都喜欢,两个都想学,随着年龄增大难度增大,精力上也开始不能兼顾了,最后成了个四不像,走了不少弯路。
    Panic
        23
    Panic  
       2018-03-23 12:08:13 +08:00
    南京。。 南京工资对得起房价吗...
    jimi2018
        24
    jimi2018  
       2018-03-23 12:11:11 +08:00
    其实这个问题没必要问,核心是学习能力的问题。不要讨论这个没意义,应该是总结自己的学习方法和反馈连线。如果可以做到这样的话,就算目前不会,但是思路和学习能力有就 ok 了。多看东西多动手,不用太纠结。思路打不开,学习能力没搞上来,就算你偏重一门也是没用的。
    jimi2018
        25
    jimi2018  
       2018-03-23 12:14:31 +08:00
    另外你提到 vue-router 的机制,分享一个 Vue.js 2 的全家桶系列教程,其中的《 vue-router 入门与提高》我想应该对你有帮助:

    http://xc.hubwiz.com/course/5983d3aeff52d0da7e3e3d50?affid=20180323v2ex
    v2Panda
        26
    v2Panda  
       2018-03-23 13:26:41 +08:00
    同感,楼主加油
    yoqu
        27
    yoqu  
       2018-03-2313:39:05 +08:00   1
    我也是后端和前端走能开发,基本中小型 web 项目我可以一个人全部搞定.
    前段时间我其实和楼主的想法一致,感觉待在舒适区,不知道怎么去提高自己了,仿佛有一个瓶颈.
    不过最近有所突破是因为自己去实现后端的一些中间件的时候(自己撸了一个 rpc 框架)遇到了一些挑战,比如 dubbo 的实现原理,zk 的同步机制等等.会逼着自己研究中间件的一些源码,同时让自己写代码的思维得到极大的提高.从一些现有的中间件做深入.越深入,你会发现前面有一大片广袤无垠的好风光.
    mandex
        28
    mandex  
       2018-03-23 13:43:06 +08:00
    我也是,上班两年多,一直写 PHP 和前端,现在已经不知道自己到底是前端还是后端了。
    ColinWang
        29
    ColinWang  
       2018-03-23 14:38:49 +08:00
    楼主加油
    abnerustb
        30
    abnerustb  
       2018-03-23 16:26:58 +08:00
    同状态 哎哟喂 可怎么办
    bryanly
        31
    bryanly  
       2018-03-23 16:45:42 +08:00
    一样 2016 年毕业,推荐你出去面个试,哪怕不准备跳槽,面完试之后就知道自己缺啥了。至于后端前端,后端懂前端,前端懂后端不都是正常的吗,选一端深入就好啦
    itfanr
        32
    itfanr  
       2018-03-23 16:54:01 +08:00
    楼主很厉害 就成果来说,已经很佩服了
    lizz666
        33
    lizz666  
       2018-03-23 16:58:09 +08:00
    同 16 年毕业,同南京,我就比楼主差不少,加油。
    huluhulu
        34
    huluhulu  
       2018-03-23 17:22:08 +08:00
    多希望 你们赶紧进入舒适区啊...
    这样年轻人都不 996 了,我们老年人也就不用这么被拖着 996 了....
    fakevam
        35
    fakevam  
       2018-03-23 17:33:07 +08:00
    自己尝试去撸个能解释执行 java 字节码的项目玩玩看,然后越撸越复杂起来
    st157285231
        36
    st157285231  
       2018-03-23 17:35:19 +08:00
    楼主,可否透漏下大概的薪资水平?
    ryerh
        37
    ryerh  
       2018-03-23 23:04:05 +08:00   1
    南下去沪杭,北上来京,去一家成熟的技术型公司,写核心代码,前端作为一项技能跟进社区的方向就可以,主攻后端,逐渐收敛技术面,挖掘技术深度,通过高并发业务磨练技艺。
    会的东西多是个人的技术修养,不代表牛逼,公司是不会给一个优秀的人安排一堆杂活妨碍他的产出的。
    不想呆在舒适区,就换,不要试图通过 YY 悟道,勿自我感动,勿自我吹捧。
    sulang
        38
    sulang  
       2018-03-24 10:02:50 +08:00
    weieyuan
        39
    weieyuan  
       2018-03-24 11:47:04 +08:00
    和楼主情况比较像,过去 4 年,前端、后端都做,但是都不够深入,哪一端都舍不得丢弃。但从跳槽角度来看,前端、后端是分开招聘的,并且面试也更加注重端的基础和深度。目前准备主攻前端、平时有时间学习后端。
    dl2k
        40
    dl2k  
       2018-03-24 12:49:36 +08:00   1
    感觉方向应该不是向前端走还是向后端走的问题,而是向上走还是向下走的问题。 其实楼主现在的阶段应该就如同他说的。中小型的项目自己一个人可以基本搞定。其实这个话的有几个层面的意思:
    1、项目规模不大,涉及到分布式负载均衡啥的搞不了
    2、在职业定位里达到了可以实现需求的一个程度
    3、因为知道了一些知识,也知道了更多自己还没有掌握的知识的存在

    解释上刚才说的向上走还是向下走的问题。
    其实如同之前也有朋友指出的,简单说向上走就是向业务靠拢。以更加全面的视角来阅读业务需求和形态,甚至是跨业务形态来抽象。举例来说就是理解不同类型的系统设计(电商、社交、直播、OA、ERP 等等)的问题。这个方向其实总体是架构师、CTO 的方向,需要大量的知识结构,是广度型发展方式。因为学习量太大,确实深度有限。当然从业前景相对比较宽广,但是个人水平的程度较难量化,通常从业经验和口碑比较有代表性。
    另外一个向下走的方向就相对会难走一点了,简单说就是找一个领域钻进去。比如说去研究分布式存储、大数据分析、AI 算法等等。这个方向下去基本上就是在跟数据结构和算法以及通信打交道,解决的是把一件事做到极致的研究。突破自己和系统的极限以带来的成就感比较强,当然突破不了挫败感也是难免的。走这条路通常代表着你不太可能全面性的懂很多的东西,所以你的从业适配性就比较差。所以选对领域就非常的重要,而且一般提供这种职位的公司都是体量特别大的公司。其实相对来说走这条路的人不是特别多。

    最后说一点,其实楼主走到今天的位置其实应该说也是很不容易的。能够主动意识到自己的风险,并且寻求突破这就更不容易。不管以后走那一条路,如果都可以始终保持清醒的头脑,不断努力,都不会差到哪里去的。
    yifeng1212
        41
    yifeng1212  
       2018-03-24 17:54:26 +08:00
    /div>
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2668 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 02:46 PVG 10:46 LAX 19:46 JFK 22:46
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86