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

31 岁了,迷茫的码农

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

    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
    影响大多数人成长的不是技术而是业务
    zh584728
        4
    zh584728  
       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   ·   实用小工具   ·   1879 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 16:25 · PVG 00:25 · LAX 08:25 · JFK 11:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.