31 岁了,迷茫的码农

2020-10-22 07:29:24 +08:00
 dongguangming

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 !!得思想者得道。就是说让你去设计一门编程语言或缓存中间件或消息通信库等,您会怎么考虑???那么就能做各种各样的业务开发,不管任何行业(交通、医疗、政务信息化、物联网、区块链、能源、金融等等)。

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

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

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

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

想找一篇比较好的发展史来看一看
xiubin
2020-10-22 17:54:48 +08:00
感觉这么多年过去了,移动端的技术没咋变化啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/717288

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX