Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >高级程序员到底强在哪里?

高级程序员到底强在哪里?

原创
作者头像
Java
修改于 2018-10-23 10:03:08
修改于 2018-10-23 10:03:08
9480
举报

说起程序员人们的第一印象就是工资高、加班凶、话少钱多头发少。再加上现在科技互联网公司太吃香,bat、华为小米等公司程序员加班情况被广泛传播,程序员用生命在敲代码的印象刻在了很多人的心里。

与其它行业一样,凡是有高级和普通,虽然都是敲代码但也有大牛和普通之分,大牛程序员,一个人比一个团队做项目都做得快,最为出名的当属十几年前求伯君在做wps时,一个人完成了微软二十人团队没有完成的项目需求,也让wps在与微软的竞争中站稳了脚跟。程序员的能力差距真的比贫富的差距还要大。除了能力主要还是和智商有关系。

从工作的方面来说,普通程序员和高级程序员一般有下面几个区别

普通程序员:一、知识体系零散、没有系统性的思维,在写代码、改bug的时候没有工程素养,往往是拆了东墙补西墙。

二、对某种语言的依赖性太强,知识无法很好的迁移,一旦换了语言、或者领域不同就会不知所措

三、经验不足却自认为自己经验丰富,只对自己做过的比较顺手,但是碰到未知的问题,就束手无策

高级程序员一、知识体系完整,有系统性的思维,及时没有到架构师的级别,在写代码和改bug的时候也能从整体上去思考和把握。

二、学习能力强有了自己的心智模型,知识可以自由迁移,并可以高效地切入不同的领域和语言

三、拥有真正的经验,不只是做够那些项目,而是面向未知的解决问题的能力。

能力不缺的前提下,主要的区别就是抓不到问题的本质,普通程序员多半是直线型思维,见招拆招,干的多,想得少,接到一个项目就开始噼里啪啦敲代码,不想就在电脑上敲上include ,一天敲个几千行。而高级程序员更擅长抓住问题的本质,将看似复杂的需求化繁为简为一系列简单逻辑的堆叠,写代码步步为营,逻辑简单清晰,所有条件分支都被仔细覆盖,磨刀不误砍柴工。

简单的来说,同样是一个项目需求,普通程序员可能要天天加班忙上一个月,而高级程序员可以每天按时下班,几天就搞定。这也是为什么会出现“月薪五千的程序员天天加班到夜里,月薪五万的程序员5点下班”的尴尬情况。公司追求的是利润而不是努力,谁创造的多当然拿到的就多。

那么如何才能从普通程序员进阶到高级程序员呢?一、提高代码优化的能力:“代码可运行”对一个优秀的程序员来说绝不是结束,而是开始。优秀的程序员一定熟知各种算法和数据结构,会灵活运用,致力于写出更简单、效率更高的程序。

二、先考虑、多思考:编程思路,是系统的计划和设想,是程序员写程序时的条理和线索。编程思路,是系统的计划和设想,是程序员写程序时的条理和线索。

感谢大家能看完我这么长的分享,希望以下的学习路线能对你有帮助

设计模式

设计模式是可复用面向对象软件的基础,学习设计模试是每个程序员从菜鸟走向大神的必经之路,巧妙地运用设计模式可以使我们的代码看似复杂实际简洁、复用性更高、更容易被别人理解等好处,同时也是学习软件工程的基础和必然。

并发编程

主要培养编程者深入了解最底层的运作原理,加强编程者逻辑思维,这样才能写出高效、安全、可靠的多线程并发程序。

开发工具工程化

通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。程序员的战斗,往往不是一个人的战斗,我们如何在一个平台下高效的去重,进行代码review,对功能进行调整,debug,做到在统一的规划下步步为营,混乱的堆代码的过程中找到自己的记录。这一切都依赖于有效的工具。

性能调优

我们不仅仅对项目要运筹帷幄,还要能解决一切性能问题。只有深入学习JVM底层原理,Mysql底层优化以及Tomcat调优,才能达到知其然,知其所以然的效果。除了性能优化之外,也能提供通用的常见思路以及方案选型的考虑点,帮助大家培养在方案选型时的意识、思维以及做各种权衡的能力。

源码分析

程序员每天都和代码打交道。经过数年的基础教育和职业培训,大部分程序员都会「写」代码,或者至少会抄代码和改代码。但是,会读代码的并不在多数,会读代码又真正读懂一些大项目的源码的,少之又少。这也造成了很多错误看源码的方式。

那要如何正确的分析源码呢?

我们的目标应该放在最常用的框架上面,下面就介绍两个:一个是Spring,另一个是大家用来觉得一直不怎么出问题的Mybatis。

△spring源码

△mybatis源码

分布式架构

随着我们的业务量越来越大和越重要,单体的架构模式已经无法对应大规模的应用场景,而且系统中决不能存在单点故障导致整体不可用,所以只有垂直或是水平拆分业务系统,使其形成一个分布式的架构,利用分布式架构来冗余系统消除单点的故障,从而提高整个系统的可用性。同时分布式系统的模块重用度更高,速度更快,扩展性更高是大型的项目必不可少的环节。

分布式架构(一)

分布式架构(二)

微服务

关于微服务架构的取舍

在合适的项目,合适的团队,采用微服务架构收益会大于成本。

微服务架构有很多吸引人的地方,但在拥抱微服务之前,也需要认清它所带来的挑战。

需要避免为了“微服务”而“微服务”。

微服务架构引入策略 – 对传统企业而言,开始时可以考虑引入部分合适的微服务架构原则对已有系统进行改造或新建微服务应用,逐步探索及积累微服务架构经验,而非全盘实施微服务架构。

B2C项目实战

要想立足于互联网公司,且能在互联网浪潮中不被淹没,对于项目的开发实战演练是不必可少的技能,也是对自身能力的一个衡量,有多少的量对等于获得多少的回报。看似简单的一个项目需求图谱,其中的底层原理,实现原理又能知道多少?你搭建一个完整的B2C项目平台到底需要多少知识?这一切都是需要我们考量的。

JVM和性能优化

架构关键基础设施

以下是详细的架构资料

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
阿里十年,只剩下这套Java开发体系了
蓦然回首自己做开发已经十年了,这十年中我获得了很多,技术能力、培训、出国、大公司的经历,还有很多很好的朋友。但再仔细一想,这十年中我至少浪费了五年时间,这五年可以足够让自己成长为一个优秀的程序员,可惜我错过了,我用这五年时间和很多程序员一样在困惑和迷茫中找不到出路!
美的让人心动
2018/12/04
5330
阿里十年,只剩下这套Java开发体系了
技术路线5年左右程序员必须要掌握的知识技能树
在程序界流行着一种默认的说法叫“黄金5年”,也就是一个程序员从入职的时候算起,前五年的选择直接影响着整个职业生涯中的职业发展方向和薪资走向,如何走好这5年,彻底从一个刚入行的菜鸟蜕变成可以以不变应万变的职业大牛,这是一个涉及到自身专业知识储备和选择的大难题,那么,这五年里,一个Java程序员如何做才能完成从入行到大牛的晋升之路呢?
马士兵的朋友圈
2020/09/18
8720
一个十年JAVA老程序员成长之路分享
我搞JAVA也有些日子了, 因为我比较贪玩,上进心不那么强, 总是逼不得已为了高薪跳槽才去学习, 所以也没混成什么大牛, 但好在现在也已经成家立业, 小日子过的还算滋润, 起码顶得住一月近万元的吃喝拉撒玩各种贷款信用卡 不为金钱过于发愁了。 我特别感谢当初贴吧遇见的那位大神, 虽然每个月也就聊那么几句, 但是他总能在我不知道该学啥, 该怎么走的时候, 给我方向, 毫不夸张的说,我现在的衣食无忧, 技术马马虎虎, 都是拜他所赐。 所以 我也想分享一些自己的成长过程 以及技术路线 希望一些迷茫的新人,或者想转行但是踌躇不前的老哥老弟们 能够得到一些建议吧
Java
2018/10/11
1.3K2
一个十年JAVA老程序员成长之路分享
十几位资深架构师,整理了最新架构师学习体系,分享给大家......
不管是开发、测试、运维,每个技术人员心里都有一个成为技术大牛的梦,毕竟“梦想总是要有的,万一实现了呢”!正是对技术梦的追求,促使我们不断地努力和提升自己。 然而“梦想是美好的,现实却是残酷的”,很多同
Java高级架构
2018/07/20
4730
​未来,什么样的程序员不会被淘汰?
就在近日,智联招聘公布的数据更是侧面印证了很多公司“瘦身”的事实:“2018年第二季度,小微企业用人需求较第一季度平均下降26.6%”。
纯洁的微笑
2018/11/23
6630
Java程序员高效学习的六个中肯建议
知识改变命运,对于Java程序员来说,技术不断更新,只有及时充电,才能不被市场淘汰。今天为大家分享Java程序员学习的6个小技巧。
慕容千语
2019/06/12
6830
从Java码农到年薪八十万的架构师需要掌握什么?
不管是开发、测试、运维,每个技术人员心里都有一个成为技术大牛的梦,毕竟“梦想总是要有的,万一实现了呢”!正是对技术梦的追求,促使我们不断地努力和提升自己。
java思维导图
2018/07/26
4740
从Java码农到年薪八十万的架构师需要掌握什么?
互联网企业开发三年月薪15K,在第四年达到30K需要怎么做?
虽然我现在做反思和调整,也不算太晚,但如果早一点醒悟,能够静下心来想想,现在一定更轻松。
欧阳愠斐
2018/10/25
6350
为何我建议1-3年的Java程序员看看这篇文章
金九银十的跳槽面试季即将到来,最近跟朋友在一起聚会的时候,提了一个问题,说1-3年的Java程序员,薪资区间大致是在15-25K左右,那有没有可能提前达到30K的薪资呢?有人说这只能是大企业或者互联网企业工程师才能拿到。也许是的,小公司或者非互联网企业拿30K的不太可能是初级开发或者码农了,应该已经转管理。还有区域问题,这个是不在我的考虑范围内 因为除了北上广深杭,其他地方也很难达到。
kirito-moe
2019/09/09
8390
为何我建议1-3年的Java程序员看看这篇文章
开发十年,就只剩下这套Java开发体系了
以前我一直被公司和技术牵着走,并不是自己在选择技术,而是不自觉地被推到了这个位置上。想想有多少人对于自己将来要从事的职业和技术类型进行过深入思考和比较呢?当我跳出编码后,我开始思考和程序及程序员职业生涯相关的问题,最后发现,影响我们走入今天的困局的竟然是一些我们常常挂在嘴边的话。
Java高级架构
2018/08/03
3770
开发十年,就只剩下这套Java开发体系了
十几位资深架构师,整理了最新架构师学习体系,分享给大家......学习方式一、构成架构师的技能体系三、分布式架构技能学习四、微服务架构技能总汇五、并发编程六、优化调优七、Java开发必知工具八、实践一
不管是开发、测试、运维,每个技术人员心里都有一个成为技术大牛的梦,毕竟“梦想总是要有的,万一实现了呢”!正是对技术梦的追求,促使我们不断地努力和提升自己。
美的让人心动
2018/07/30
7070
十几位资深架构师,整理了最新架构师学习体系,分享给大家......学习方式一、构成架构师的技能体系三、分布式架构技能学习四、微服务架构技能总汇五、并发编程六、优化调优七、Java开发必知工具八、实践一
月薪8k和月薪38K的程序员差距在哪里?
回想做开发的这八年多,获得了很多,技术能力、培训、出国、大公司的,还记得刚刚出来第一年那段时间,太多东西不懂的,都是一切听从老大的安排,敲敲代码,看看数据库,测试自己和别人的代码;这样干了一年
JAVA高级架构开发
2018/10/19
3760
月薪8k和月薪38K的程序员差距在哪里?
Java程序员月薪达到三万,需要技术水平达到什么程度?
最近跟朋友在一起聚会的时候,提了一个问题,说Java程序员如何能月薪达到三万,技术水平需要达到什么程度?人回答说这只能是大企业或者互联网企业工程师才能拿到。也许是的,小公司或者非互联网企业拿二万的不太可能是码农了,应该已经转管理。还有区域问题,这个不在我的考虑范围内,因为除了北上广深杭,其他地方也很难达到。
美的让人心动
2018/05/17
1.2K0
Java程序员月薪达到三万,需要技术水平达到什么程度?
毕业之后,这些年薪50万+的90后程序员经历了什么?
如果说薪资是检验一家公司对你认可的标准,那么年纪轻轻就能达到年薪 50 万+,一定程度上说明了公司对他创造的价值的认可。
前端教程
2018/12/07
7800
毕业之后,这些年薪50万+的90后程序员经历了什么?
老程序员被裁员,面试半年未果,同行:都四十了还是码农,怪谁?
程序员真是青春饭吗?有一名年近四十的程序员发帖称:本人40岁码农,因为年纪大被公司裁员了,海投了半年的简历,收到面试通知四份,都是面试完后就没有下文了,是因为我年纪大了吗?想当初我年轻时候找工作简历随便往网上一挂,一天十多个邀请面试的电话,现在主动投递简历却无人问津。
慕容千语
2019/06/12
6630
同样是工作3年程序员,为什么别人每月25K你却只有15K?
你有没有静下心来思考过:同样是做了x年Java开发,为什么你的技术比别人差很多?为什么别人每月26K你却只有15K?
养码场
2018/10/18
1K0
同样是工作3年程序员,为什么别人每月25K你却只有15K?
"2019年Java程序员,风光背后的危机"——你知道程序员的现状吗?
近日网上有一篇关于Java程序员职场生存现状的文章“2018年 Java 程序员,风光背后的危机”,在Java程序员圈子里引起了广泛关注和热议。
美的让人心动
2019/07/01
5780
"2019年Java程序员,风光背后的危机"——你知道程序员的现状吗?
Java架构师搞技术十年,还是这套架构体系靠谱!程序员必看!
蓦然回首自己搞技术的十几年,我收获了很多,技术、管理、业务、大公司及创业公司的玩法。这些年,自己也曾经迷茫过,心想自己其实能够成长得更快一些,可惜我错过了。
Java架构师进阶技术
2020/01/22
4130
十面阿里,屌丝程序员的逆袭之路前言
前言 《十面阿里》本屌现今四年开发经验;前前后后为进阿里面试十次(阿里旗下——蚂蚁金服,天猫的offer都被hr因学历而被拒,最后的菜鸟面幸运的被录用,拿到P6offer,真正的“十面”阿里!)。 本
美的让人心动
2018/06/14
7180
程序员迷茫:毕业时就已26,工作4年就已大龄,码农出路在哪?
为什么很多公司不招大龄码农,这个问题最近很沸腾,初看这个问题时扎心了,终有一天,我们都会成为大龄码农,那么首先定义下大龄码农,一般认为是35岁以上。按现在推算是1983年(含1983)前出身的。有很多还在一线开发,有些已经是中高层管理人员了。我接触到的这类朋友较多,有同事,有朋友,也有一些读者。并不是他们现在没有工作,而是他们在跳槽去下家时,是个较长的过程,不想一些3-5年的小伙子,放到市面上,大把公司招人,坑位也多,大龄码农,得有合适匹配的岗位才行。大龄码农身价一般较高,不是一般公司给报酬给予的起,这类公司要么是BAT,要么是独角兽公司。有持续业务收入和市场中的江湖地位。大龄码农分两类,一类是专家能力,如音视频专家、编解码专家,另一类是管理能力,如技术总监、高级经理等。公司对于两者要求也不一样。前者可能是希望参与解决重大问题,疑难杂症等。后者涉及搭建团队,打造团队,培养输出技术人才。
Java知音
2019/06/11
1.3K0
推荐阅读
阿里十年,只剩下这套Java开发体系了
5330
技术路线5年左右程序员必须要掌握的知识技能树
8720
一个十年JAVA老程序员成长之路分享
1.3K2
十几位资深架构师,整理了最新架构师学习体系,分享给大家......
4730
​未来,什么样的程序员不会被淘汰?
6630
Java程序员高效学习的六个中肯建议
6830
从Java码农到年薪八十万的架构师需要掌握什么?
4740
互联网企业开发三年月薪15K,在第四年达到30K需要怎么做?
6350
为何我建议1-3年的Java程序员看看这篇文章
8390
开发十年,就只剩下这套Java开发体系了
3770
十几位资深架构师,整理了最新架构师学习体系,分享给大家......学习方式一、构成架构师的技能体系三、分布式架构技能学习四、微服务架构技能总汇五、并发编程六、优化调优七、Java开发必知工具八、实践一
7070
月薪8k和月薪38K的程序员差距在哪里?
3760
Java程序员月薪达到三万,需要技术水平达到什么程度?
1.2K0
毕业之后,这些年薪50万+的90后程序员经历了什么?
7800
老程序员被裁员,面试半年未果,同行:都四十了还是码农,怪谁?
6630
同样是工作3年程序员,为什么别人每月25K你却只有15K?
1K0
"2019年Java程序员,风光背后的危机"——你知道程序员的现状吗?
5780
Java架构师搞技术十年,还是这套架构体系靠谱!程序员必看!
4130
十面阿里,屌丝程序员的逆袭之路前言
7180
程序员迷茫:毕业时就已26,工作4年就已大龄,码农出路在哪?
1.3K0
相关推荐
阿里十年,只剩下这套Java开发体系了
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档