31 岁了,迷茫的码农 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dongguangming
V2EX    分享发现

31 岁了,迷茫的码农

  •  
  •   dongguangming 2020-10-22 07:29:24 +08:00 4645 次点击
    这是一个创建于 1818 天前的主题,其中的信息可能已经有所发展或是发生改变。

    31 岁,还要继续干一线码农???

    伴随着互联网,物联网,大数据,云计算,电子商务,智慧农业,智慧医疗,智慧交通,智慧教育,直播,5G,AI 时代的到来,软件开发也发生了极大的变化,从早期的单体到现今如火如荼的微服务开发模式,直接影响框架升级改造的步伐,依然记得一开始只需几个 java 文件,几个 jsp 文件,和大量的 html 和 Javascript 文件就能完成项目的开发,慢慢出现了 struts,Hibernate,iBatis,spring 等框架的横空出世,可不到五年就夭折了,只剩了 spring 和 mybatis 了,最近三两年又冒出来一些快速开发的包装框架像 spring boot,spring cloud,dubbo,越来越流程化开发,前后端也分离(早期开发前后台没有分离),是啊,这么多年过去,规范早该制定出来了。务必要记住,mvc 那套请求 /响应处理流程并没有变,是数据格式变了,以前是动态页面,现在是纯 json 格式的数据。前端框架变化也很大,包装的也很恐怖,我经历了从原生 Javascript>dojo>jquery,现在被 vue.js(国内),react,anguler.js (国外)瓜分。变与不变。大大小小的项目做了近三十个,国税局的监督考评系统,某税务的情报分析系统(人可不能犯大错,比如偷税漏税欠款),厦门市统计标准化控制平台,交通管理系统开发,某私企的定制化软件开发,自研存储平台的 python django for web 开发,长城(合作伙伴)定制化开发,新疆人口普查系统,大数据实验平台收费版,大数据兼人工智能实验平台一体化开发。。。。。。小项目就不写了略过,总之一句话,大同小异!!! 我经历了 java 开发变迁史,从早期编写原生的 servlet 、自研 mvc 和数据库 orm 、和使用开源框架 struts 、hibernate 、jsp 、spring 、springmvc 、freemarker 、springboot,到最后前后端分离式开发,一开始开发工具用的是 editplus 。相对来说,现在开发很好了,框架生态(只有 spring 生态传承下来了,其他都成了历史)建立健全起来了,只需要流程化开发就行, 按目前来说可以,前后端分离了,特别是大厂,分工也明确,不需要关注后端,不像早期按模块(包括前后端,最后合成一个系统)开发,每个人分担两三个模块,甚至装系统配置、调试网络设备、兼后期运维,所以说现在的开发(且框架生态也很好)是很幸福了。

    终有一天,幡然醒悟: 人要学习的是操作系统,cpu 、内存分配、io 模型、进程 /线程等是很重要的,希望其他人早意识到 cpu 、内存分配、io 模型、进程 /线程等是很重要的(会让你更好的理解一些库和中间件的实现原理),而不管你用 java 、scala 还是 golang 写。

    我们不能只会调 api(群里就不少,你的问题就暴露出来了),要关注人家老外怎么实现的,也曾拜读过 struts(早年了,现在很少有人用了,可理念不会过时)、mybatis 、spring 、kafka 源码,没有一定的知识积累,估计连概念、意想都不一定能想到的,不要纯粹学 java !!得思想者得道。就是说让你去设计一门编程语言或缓存中间件或消息通信库等,您会怎么考虑???那么就能做各种各样的业务开发,不管任何行业(交通、医疗、政务信息化、物联网、区块链、能源、金融等等)。

    这也算是我对出道没多久的码农一点建议吧。只有强大的理论体系(道),才能写各种各样的术(框架或工具库),最后就是做业务开发了。

    28 条回复    2020-10-23 09:18:06 +08:00
    taskiller
        1
    taskiller  
       2020-10-22 07:52:02 +08:00 via iPhone
    做业务开发不好吗,技术也是为业务服务的。cpu 内存这些更偏向于纯技术了,也不能只了解纯技术,否则一样会迷茫。
    hello2060
        2
    hello2060  
       2020-10-22 08:15:00 +08:00
    求问 cpu 怎么学!
    96412hj
        3
    96412hj  
       2020-10-22 09:30:52 +08:00
    影响大多数人成长的不是技术而是业务
    LuJason
        4
    LuJason  
       2020-10-22 09:30:55 +08:00   1
    @hello2060 装一袋沙子,用筛子筛一下,找个工具压一压,然后切成正方形,就是 cpu 了
    dongguangming
        5
    dongguangming  
    OP
       2020-10-22 09:37:16 +08:00
    @96412hj 话是这么说,可实际上你不能拿着业务去面试技术
    coderluan
        6
    coderluan  
       2020-10-22 10:16:10 +08:00
    跑个题, 罗列名词并不是个好的写作习惯, 起码在写随笔的时候不是, 用一个词举例或者概括就可以了, 列一堆不能对文章有什么实际帮助, 反而会降低阅读体验.
    hemingway
        7
    hemingway  
       2020-10-22 10:17:18 +08:00
    文不对题
    N1ceHua
        8
    N1ceHua  
       2020-10-22 10:27:37 +08:00
    写一大堆没用的,看来你确实很迷茫啊
    terrytang1
        9
    terrytang1  
       2020-10-22 10:35:35 +08:00   1
    中心思想 : 刚干这行的,注重下基础培养,知其然知其所以然
    kop1989
        10
    kop1989  
       2020-10-22 10:38:55 +08:00   1
    同年,我的理解是要深耕某一领域的业务。
    最起码要精通某个领域业务的解决方案。
    这样你的技术才有落地的可能,也才能构建你自己的不可替代性。
    光有技术本身是没有不可替代性的,只掌握技术的是工人,不是工程师。
    sun1993
        11
    sun1993  
       2020-10-22 11:48:22 +08:00
    你说你做的那些系统大同小异?那我是不是可以理解可以使用代码生成技术来生成一整个项目?
    micean
        12
    micean  
       2020-10-22 11:57:07 +08:00
    业务开发想往上走,重要的反而不是技术和业务,而是人际圈子
    kuro1
        13
    kuro1  
       2020-10-22 15:01:22 +08:00
    31 岁了,发个帖子分段落都做不好
    dongguangming
        14
    dongguangming  
    OP
       2020-10-22 16:52:00 +08:00
    @sun1993 不可以,业务细节出入还是很大,定制化多
    PonysDad
        15
    PonysDad  
       2020-10-22 17:02:20 +08:00
    @kuro1 用对别人的苛刻要求要求自己
    kuro1
        16
    kuro1  
       2020-10-22 17:26:13 +08:00
    @PonysDad 毕业四年无经验转 JAVA 成功了吗?
    zion03
        17
    zion03  
       2020-10-22 17:42:43 +08:00
    赞同楼主观点,很多人以“业务重要”为借口,忽略基础知识的储备。
    revalue
        18
    revalue  
       2020-10-22 17:45:21 +08:00
    @hello2060

    现在的框架性能还不够用么?用的着 cpu 优化?

    未来:cpu 一千个程序员里面有 1 个程序员就行了。剩下的 999 个,cpu === 调包。
    revalue
        19
    revalue  
       2020-10-22 17:51:54 +08:00
    @dongguangming 借楼。跪求《 JAVA 发展史》(有大概 20xx 年流行什么的时间线,旧体系被淘汰的具体原因等等)

    想找一篇比较好的发展史来看一看
    xiubin
        20
    xiubin  
       2020-10-22 17:54:48 +08:00
    感觉这么多年过去了,移动端的技术没咋变化啊
    dongguangming
        21
    dongguangming  
    OP
       2020-10-22 18:06:03 +08:00
    @revalue 这个我总结不来 java 早期发展史,也不必太在意,只记得早年是桌面 swing 、applet 、jsp 、原生 servlet 开发,不过现在框架或库很多,是让做选择题的时候,活在当下、把握未来就行了
    dongguangming
        22
    dongguangming  
    OP
       2020-10-22 18:07:33 +08:00
    @xiubin 这个不清楚,没做过移动端开发
    dinjufen
        23
    dinjufen  
       2020-10-22 18:09:27 +08:00
    每天打开 v2,第一眼都是迷茫帖
    PonysDad
        24
    PonysDad  
       2020-10-22 18:15:23 +08:00
    @kuro1 不劳您费心.找份工作分分钟而已的事情.
    jeeyong
        25
    jeeyong  
       2020-10-22 18:28:05 +08:00
    随着技术的发展和完善...
    我觉得会发生的变化.
    以前. 我是一个爱好者, 我学习成绩不好, 但是靠着自学, 我毕业后可以成为计算机方面的人才, 我求职容易, 我通过更多的学习时间掌握了很多别人不知道的经验.
    未来. 我是一个爱好者, 我学习成绩不好, 卒..我只能做最底层的编码工作.

    以前有低级, 中级, 高级的概念.
    低级做码农, 中级解决一些技术难点, 高级做算法和系统的总体架构.
    未来, 要么低级, 要么高级, 中级的工作会被高级的算法替代大部分.
    看看现在的网管或者叫 IT 运维.
    SurfaceView
        26
    SurfaceView  
       2020-10-22 19:07:37 +08:00
    同 31 岁路过 迷茫。。
    william2ct
        27
    william2ct  
       2020-10-23 08:40:27 +08:00
    这些了一坨什么啊兄弟。 是跑题了吗??
    nl101531
        28
    nl101531  
       2020-10-23 09:18:06 +08:00 via iPhone
    赞同楼主,基础不会过时
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5403 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 09:07 PVG 17:07 LAX 02:07 JFK 05:07
    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