突破瓶颈——十年Java架构师教你如何正确看待焦虑和迷茫

news/2024/7/10 22:19:43 标签: Java, 互联网, 架构, 程序员

程序员一旦焦虑或者迷茫以后,就会对成就感的获得大大降低。长久这样就会导致动力不足。但是现实产生焦虑的原因经过前面的分析,也是客观存在的。那我们应该如何面对呢?

在技术的更迭变化过程中,如果一味的跟新技术,那你是否想过,追随新技术的到底是为了什么?是为了跳槽或者转岗?还是为了提高薪资实现人生理想和自我价值?这两个理由都是正确的,需要注意的一点就是不要盲目追随新技术。一味地盲目追随只会导致最终沦为技术的奴隶。我们需要做技术的主人,更加从容的面对技术的变更。

如何选择?如果在不转岗的情况下,在没有目标的情况下,去学习一些本职工作中可能用不到的知识,可能就有点“盲目”。这些知识学习的过程中也许不够高效。不高效的学习又遇到了别人高速的成长,一比较,新的焦虑又会产生。这里我有切身的体会。

当你一直投身一个项目且开发工作很饱和时,有时候你会对这个项目感到厌倦。相反,如果同时开发多个项目这有助于保持开发热情,如果你厌倦了其中一个项目,可以转到其他项目。这样,你将永远在前进,能够持续开发应用程序。

然而,同时进行多个项目最大的好处是你的成长速度很快。你有多种观点,多种思路、多种方式来解决问题,最主要的是能够获得很多动力。

优秀的开发人员用编程来思考和表达。如果你告诉我一个想法,我不会认为这是一个想法,而是将它开发成一个应用程序。一旦你做到用代码思考,用代码说话,那么你就是一名真正的开发者了。

1、学习永远没有错,错的是选择了低效耗时耗精力的前进方向

迷茫的来源有二个,一是看不到自己对公司的价值,二是看不到自己未来发展的路。

先说迷茫的来源一,看不到自身的价值。很多人每天在公司写业务,俗称“搬砖”,每天都搬,感觉一点长进都没有。回过头来看框架部门的人或者自己部门的研究员,每天都在研究或者做一些框架或者工具。当有大量的人使用的时候,就会很有成就感。并且认为业务没啥技术含量,业务里面的逻辑和流程在换了一家公司以后就没有任何优势了。这种想法其实是不对的,是错误的片面的。

再谈谈迷茫的来源二,看不到未来的路在何方。这个迷茫我觉得来自于对自身的定位不明确。一位老师和我说过,毕业后的头5年,你可以去选择各种开发,前端后端或者移动端,可以随便选。这是为了什么呢?就是为了找到自己感兴趣的和自己的长处并且打算一辈子一直做下去的方向。如果你还看不到自己未来发展的路,那么可以考虑把眼界放的更广一点,去找寻自己真正感兴趣的方向。所谓真正感兴趣的,是指如同熬夜打游戏一样毫不困倦,如果某个方向你能做到不是公司强迫你加班,自己写代码写到深夜或者通宵也毫不厌倦,那么这一定是你感兴趣的。方向一旦确定就不会迷茫,朝着目标狂奔吧。

业务和架构如何选择

程序员里面也许会存着这样的鄙视链,写架构的鄙视写业务的。这种鄙视是有失偏颇的。

首先,绝大多数的公司的收入来源是来自于公司的业务。除去一些极少数的公司。写业务的同学不必觉得业务没有存在价值,你们应该明白,你们写的业务是替公司赚钱的。

当然,能在公司里面写内部框架或者工具的同学,技术一定积累到一定深度了。框架和工具没有平白无故的产生,它们的诞生都是解决问题或者痛点的。要么解决开发中的痛点,要么为了提高开发效率。试问如果没有对开发有一定的了解和认识,如何去深刻的理解和感受这些痛点?不理解它们,也做不出能解决问题的框架或者有用或者好用的工具。

我认为能写框架或者工具的,一定在技术上有一定积累,并且能理解和看清开发中或者业务中的一些痛点。于是乎开发出了解决这些问题的东西。

至少目前国内的大多数公司都是无法缺少写业务的。小公司为了生存可以缺少写框架和工具的,但是不能缺少写业务的。大公司更加是需要写业务的。目前国内好像还不存在不写业务的公司。如果纯写框架或者工具给其他公司使用,以此赚钱,那么这些也就成为了这个公司的业务。

再谈谈对架构师或者更高级的职称的理解

架构师的工作是以解决业务问题,推动业务增长为基础,在此之上改善公司的架构,使之能对外提供更加优秀的性能,并具有对人、技术、业务的组织统筹能力。

在我们的 BU 里面专门有一个架构组,里面的人全是 P7 架构师以上级别。他们的工作内容是什么呢?就是提供能解决当前开发痛点方案的人。我与他们交流过,他们虽然对业务没有理解到每行代码逐字逐句的代码行,但是对公司整个业务流程,数据流转,有一个整体的认识。他们对业务的认识更加深刻,比我们只负责单一业务理解层次更广。他们在此基础上还能解决开发中的难点和痛点,对 BU 部门的业务发展还能提供自己的思考。架构师们还具有自主发现业务价值的能力。

也许大家会认为架构师不写代码,但是他们需要出解决方案。解决方案一定程度上比写代码还要难。解决方案的灵感来源于什么?来源于对公司业务的深刻理解和技术的深厚积累。缺少对业务的理解,提出的方案可能就是不完全适合这个公司的。缺少对技术的深厚积累,提出的方案性能可能就不是最好的。

技术分工的不同和统一

前端的数据来源来自后端,前端更加偏重 UI,交互,设计。后端更加偏重接口性能,数据的正确性。但是随着云基础设施的逐渐完善,后端的基础设施都挪到云上了,这部分的配置和管理都变得异常的轻松,这一切都交给云了。

现在前端框架和浏览器发展的突飞猛进,业务上一部分逻辑都直接在前端做掉了,即使现在前后端分离,前端在公司中承担了越来越多的角色了。有这样一个笑话:大前端工程师对后端工程师说,你们后端不就是一个写接口的嘛,吐吐字符串。后端工程师对大前端的工程师说,你们前端不就是搭搭页面嘛,前端就是一段漂亮的字符串。虽然他们说的都不准确,但是也从侧面抽象了他们工作的内容。

所以前端和后端分工不同,但是他们还是合作的关系,缺一不可。

高效的学习方法

为何高效?在实践中学习。利用公司真实的项目锻炼自己,学习特别高效。每天项目中遇到的问题,上下班在地铁上都会很有目的的在网上查询解决办法。学习目的非常明确。

总结

程序员如何在技术浪潮的更迭中保持较高的成长速度 ?我的答案就是在公司的项目里面去实践是成长最快的。首先业务的迭代排期会让你的学习不拖拉,在排期中必须要完成指定的任务,这对学习进度有了非常好的保证。其次,实际项目中的实践能让你对语言的熟练程度,语言的生态环境,开发过程,查找 bug 流程,监控各个方面都有实践经验。而且实际项目中还能让你遇到各式各样的坑,坑踩多了就成长了。正确的学习方式也应该是将学习与具体业务场景结合起来,帮助公司利用自己掌握的技术开展业务服务而创造价值。如此看来,这样的成长一定是最快的。

Java高级架构二群688583154
关注我的VX号: Java架构师学习
进群:可免费领取架构师学习资料。
进群:获得面试学习资料
进群:学习架构最新技能知识
进群:了解最新BAT招聘动态


关注回复GIAC2017获取GIAC2017互联网巅峰架构技术峰会PDF文件



http://www.niftyadmin.cn/n/1360266.html

相关文章

BZOJ3261最大异或和——主席树

题目描述 给定一个非负整数序列{a},初始长度为N。有M个操作,有以下两种操作类型:1、Ax:添加操作,表示在序列末尾添加一个数x,序列的长度N1。2、Qlrx:询问操作,你需要找到一个位置p&a…

vue-cli目录结构介绍

原文地址:http://www.jianshu.com/p/7006a663fb9f 总体框架 一个vue-cli的项目结构如下,其中src文件夹是需要掌握的,所以本文也重点讲解其中的文件,至于其他相关文件,了解一下即可。 文件结构细分 1.build——[webpack…

在阿里架构师眼中Dubbo的过去,现在以及未来

基本介绍Dubbo介绍Open sourced by alibaba at 2011Production-tested and proven AT ScaleA high performance RPC FrameworkBeyond RPC:Rich features for micro-services 当前情况1、社区活跃14kstarts11Kforks100issue&PR/每周 2、服务化基石阿里内部微服务支持生产环境…

洛谷P2761 软件补丁问题(状压dp)

传送门 啊咧……这题不是网络流二十四题么……为啥是个状压dp…… 把每一个漏洞看成一个状态&#xff0c;直接硬上状压dp 然后因为有后效型&#xff0c;得用spfa 1 //minamoto2 #include<iostream>3 #include<cstdio>4 #include<queue>5 #include<cstring…

为什么“他”能成为一名Java架构师?“我”只能当一名基层码农

成为架构师&#xff0c;需要经验和眼界 老码农分为两种&#xff1a;游击队和板凳王 坐穿板凳有利于积累经验&#xff0c;而不利于开拓眼界游遍四海有利于开拓眼界&#xff0c;而不利于积累经验 码农的生活是高压的&#xff0c;唯有热情可以驱使你一边吃着苹果&#xff0c;一边又…

树莓派使用 HLS 实现视频流直播

说明 这次介绍一下基于上一篇文章“树莓派编译安装 FFmpeg ”的应用&#xff0c;即 HLS 视频流直播。原理是 FFmpeg 将 USB 摄像头的原始视频流压缩为 H.264 视频流&#xff0c;然后使用 FFmpeg 的 hls 切片工具将视频流分为 n 个切片和 1 个 m3u8 文件&#xff0c;具体原理可以…

微服务架构要掌握的知识点都在这里

本文把微服务架构分为四大模块&#xff0c;围绕微服务的通用模式&#xff0c;集合微服务必须要掌握的知识点&#xff0c;使微服务的开发更加方便、快捷&#xff0c;让微服务应用更加稳定、可用。 微框架 与微服务之间的关系 热部署实战 核心组件&#xff1a;Starter、Actu…

Mysql重置root密码遇到的坑(忘记密码)

1、原理 通过配置参数“skip_grant_tables”在mysql启动时跳过grant_tables(授权表)&#xff0c;从而通过命令来充值root帐号的密码 2、方式 首先需要停止mysql服务 &#xff08;1&#xff09;在my.ini文件的[mysqld]块下增加“skip_grant_tables”&#xff0c;然后重启mysql服…