做了七年软件开发后反而更迷茫

MavenTalk
博客专家认证
2018-01-25 09:06:20
一位做了7年之久Java开发的兄弟在微信上发来求助,希望我给他出出招,摆脱目前的困境,我自然是尽我所能,希望他也能进步。

他的现状:一直做Java开发,除了Java外接触很少。对业务基本不关心,只要把功能做出来就行。从来没想过当领导,也当不好。想着改变自己,可是感觉改着改着觉得不像自己,太假。比较不自信,比较悲观,想做出改变。
经过跟这兄弟两三个月的接触时间,简单列出几个关键点,比较具有普适性,在微信里已经直接答复过他,这里再细化落在文字里,希望能帮到他以及跟他很像的朋友。



- 技术储备不足

- 忽略业务的重要性

- 自主性不够

- 交际圈子狭隘



技术储备不足

除Java外,其他涉猎很少。其实就是技术面、技术宽度、技术深度的问题,但决不是掌握了几门开发语言而已。整个软件研发生态比较庞杂,如果刚从业专注某一语言开发没有问题,但年限长了以后,就成了天花板,经验久了就应该比新手涉猎面要广,不然如何带领初级工程师完成任务?

从需求分析、系统设计到编码实现、测试发布再到后期的运维运营、迭代升级等等,这条链路很长,如果仅仅卡在编码实现阶段,对后期的成长无疑是个瓶颈。业务可以能过很多种技术方案实现,甚至整合整合资源就可以搞定,根本不须编码。

扩展阅读:

学习新技术时你应当掌握的『最少必要知识』
软件生命周期与技术人的职业周期


忽略业务的重要性

认为业务是需求分析人员或产品经理的工作,自己只管完成开发任务,实现功能即可。这也是一个比较普遍的认知误区,还没有摆脱初级从业者的心态,角色没有很好的转变过来。时间长了会导致业务领悟能力降低,在需求消化吸收时效率底下,沟通成本增高,开发完成的功能很可能与实际需求不对口。

业务是根本,技术仅是手段、工具。没有业务依附,技术便无从谈起。而技术从业人员往往会将两个方面颠倒,这也是很多搞技术的同学出来创业的一个短板。

扩展阅读:

程序员,只产出代码是远远不够
技术人要懂商业
【技术&管理&业务】我们该做何抉择?
我只负责编码实现,这个你去找业务
缺乏自主性

主动出击才能掌握更多的自主权,不然就只能被动接受安排,上面交代什么就完成什么,完成了就闲着。自己完全没有节奏感,工作起来很累,也很容易对工作产生厌倦。以主人公的态度做事,遇到问题会主动解决问题,而不是推诿等着别人解决,这个效率相差很多。同时也能锻炼人的大局观,这是被动做事时体会不到的。

往常讲”不想当将军的士兵不是好士兵“,到了一定阶段就应该有一定担当,如果一味的被人推着走,想有所作为真的很难,这对自己的职业生涯也是个灾难。之前讲”在其位,谋其政“。现在改进一下”不在其位,也要谋其政,以备在其位“。

举个栗子,你想着直属领导的工作,他才有时间想他上层领导的工作,等直属领导高升了,他的位子自然考虑到你!

扩展阅读:

IT码农如何保持竞争力
圈子相对比较狭隘

人很容易受到环境的影响,如果仅限于工作圈子,就比较狭隘,日常工作的内容仅会专注于某一方面,其他方面的话盲点就会比较多,这些盲点一方面可以自学,但更多的通过交流学习可以获得很多,特别是思维习惯、眼界见识、机会机遇等等,不是读书自学能获得的。平常很容易看到不少人,下班到点就走,到家基本也是休息了。周末也基本处于放羊状态,除了同事很难接触到其他人,这其实就是障碍,舒适区造成的发展障碍。

技术虽然比较枯燥,但技术人的圈子应该丰富些,不管技术群还是兴趣群都将丰富个人的生活、发展。

上面比较有代表性的几点,特别是刚从业不久的朋友要更要特别关注,很多时候日子过着过着就麻木了,所以需要三省其身,把握住节奏。

至于后面的想要做出改变又不敢改变,个人不自信等等,网上的鸡汤已经很多,这里就不灌那些营养了。
...全文
1076 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
一切都是最好的安排
MavenTalk 2018-02-12
  • 打赏
  • 举报
回复
引用 10 楼 xiaopei1982 的回复:
人生最遗憾的 莫过于轻易地放弃了不该放弃的,固执地坚持了不该坚持的
天亮后说晚安 2018-02-11
  • 打赏
  • 举报
回复
人生最遗憾的 莫过于轻易地放弃了不该放弃的,固执地坚持了不该坚持的
_山有木兮 2018-02-11
  • 打赏
  • 举报
回复
这是要累死程序员
MavenTalk 2018-01-30
  • 打赏
  • 举报
回复
引用 7 楼 cfjtaishan 的回复:
我国的国情就是,程序员不但要懂得技术还要懂得做领导,做领导是好多程序的想法。总之,目标就是从写代码到不写代码(转技术支持或带项目);作为一个工作7年的底层程序员的我,个人有不同的见解;看一下国外,程序员是一个终身的职业(咱们的国情在这,另当别论),有的60多岁了还在写代码,调试程序;我个人感觉一直做程序员没什么不好的。 程序员不是故步自封,而是在自己研究的层面要深入和广泛。就拿Linux系统底层/系统开发来讲吧,要做到底层驱动能熟练运用,内核代码能够修改和添加driver,了解内核的机制(比较深入的话需要时间和经验,个人还在研究中);系统开发,主要是网络编程,软件开发,中间件的使用和开发; 程序员需要有良好的沟通能力,起码能够很好的描述清楚自己的问题和技术点,这样在与他人讨论时才能解决问题和学到新知识。 除了精通自己的方向,还可以广,编程和测试是分不开的,为了让自己的程序更健壮,测试是避免不了的。脚本语言的运用对于我们的测试和开发有很大的帮助,因此也需要熟练使用一些脚本语言,一般是基础的脚本知识。 底层做的好了,怎么展现给别人呢,这个时候可以根据自己的爱好,学习一些页面语言,比如PHP等,不需要精通,只要是能够收到接发送数据,跟底层能够进行数据交互就好了。 作为了一个程序员,要学的东西我想一辈子也学不完,技术的东西也是可以精益求精的,我们可以让自己的程序越来越健壮,越来越易阅读,易移植,性能越高。 个人见解,仅供参考;
别样的见解,只要自己不迷茫不困惑,都是一种态度一种作为,赞!
健者天行 2018-01-27
  • 打赏
  • 举报
回复
MavenTalk 2018-01-27
  • 打赏
  • 举报
回复
不管是4、5年还是7、8年,确实有不少朋友遇到这类问题
自信男孩 2018-01-27
  • 打赏
  • 举报
回复
我国的国情就是,程序员不但要懂得技术还要懂得做领导,做领导是好多程序的想法。总之,目标就是从写代码到不写代码(转技术支持或带项目);作为一个工作7年的底层程序员的我,个人有不同的见解;看一下国外,程序员是一个终身的职业(咱们的国情在这,另当别论),有的60多岁了还在写代码,调试程序;我个人感觉一直做程序员没什么不好的。 程序员不是故步自封,而是在自己研究的层面要深入和广泛。就拿Linux系统底层/系统开发来讲吧,要做到底层驱动能熟练运用,内核代码能够修改和添加driver,了解内核的机制(比较深入的话需要时间和经验,个人还在研究中);系统开发,主要是网络编程,软件开发,中间件的使用和开发; 程序员需要有良好的沟通能力,起码能够很好的描述清楚自己的问题和技术点,这样在与他人讨论时才能解决问题和学到新知识。 除了精通自己的方向,还可以广,编程和测试是分不开的,为了让自己的程序更健壮,测试是避免不了的。脚本语言的运用对于我们的测试和开发有很大的帮助,因此也需要熟练使用一些脚本语言,一般是基础的脚本知识。 底层做的好了,怎么展现给别人呢,这个时候可以根据自己的爱好,学习一些页面语言,比如PHP等,不需要精通,只要是能够收到接发送数据,跟底层能够进行数据交互就好了。 作为了一个程序员,要学的东西我想一辈子也学不完,技术的东西也是可以精益求精的,我们可以让自己的程序越来越健壮,越来越易阅读,易移植,性能越高。 个人见解,仅供参考;
sanGuo_uu 2018-01-25
  • 打赏
  • 举报
回复
zk_Kang 2018-01-25
  • 打赏
  • 举报
回复
把分全给哥 2018-01-25
  • 打赏
  • 举报
回复
引用 3 楼 u010087908 的回复:
写的真的很好。 只是人的本性不是一朝一夕就能改变的,否则可能就没有“命运”这个单词了。
NANU-NANA 2018-01-25
  • 打赏
  • 举报
回复
写的真的很好。 只是人的本性不是一朝一夕就能改变的,否则可能就没有“命运”这个单词了。

590

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧