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

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

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

以前有低级, 中级, 高级的概念.
低级做码农, 中级解决一些技术难点, 高级做算法和系统的总体架构.
未来, 要么低级, 要么高级, 中级的工作会被高级的算法替代大部分.
看看现在的网管或者叫 IT 运维.
SurfaceView
2020-10-22 19:07:37 +08:00
同 31 岁路过 迷茫。。
william2ct
2020-10-23 08:40:27 +08:00
这些了一坨什么啊兄弟。 是跑题了吗??
nl101531
2020-10-23 09:18:06 +08:00
赞同楼主,基础不会过时

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

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

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

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

© 2021 V2EX