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

31 岁了,迷茫的码农

  •  
  •   dongguangming · 277 天前 · 3107 次点击
    这是一个创建于 277 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    以前有低级, 中级, 高级的概念.
    低级做码农, 中级解决一些技术难点, 高级做算法和系统的总体架构.
    未来, 要么低级, 要么高级, 中级的工作会被高级的算法替代大部分.
    看看现在的网管或者叫 IT 运维.
    SurfaceView
        26
    SurfaceView   277 天前
    同 31 岁路过 迷茫。。
    william2ct
        27
    william2ct   276 天前
    这些了一坨什么啊兄弟。 是跑题了吗??
    nl101531
        28
    nl101531   276 天前 via iPhone
    赞同楼主,基础不会过时
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2269 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 14:34 · PVG 22:34 · LAX 07:34 · JFK 10:34
    ♥ Do have faith in what you're doing.