加入收藏 | 设为首页 | 会员中心 | 我要投稿 新余站长网 (https://www.0790zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 移动互联 > 评测 > 正文

从职业方向,谈程序员如何突破成长瓶疾,我们该怎么去学习?

发布时间:2019-04-23 21:28:11 所属栏目:评测 来源:Java学士
导读:如何成长为一名架构师? 很多程序员想成为一名架构师,但是对于其中的技能掌握程度,以及编程功底的要求?设计能力的要求有哪些? 我简要从以下6点经验来谈,从技能的角度抛砖引玉。 1:编程基本功:数据结构和算法 1.数据结构相关的哈希表、链表、二叉树等等

如果你对技术发展路径、管理发展路径都不感兴趣,那么不妨考虑转产品经理,移动互联网时代,产品经理的角色越来越重要,一个好的产品经理有可能带给公司颠覆性的发展,收入各方面也还不错,我认识的一些程序员,也有转行做产品经理,并且做得还不错的。

5、CTO(管理+技术结合,侧重管理)

需要有一定的技术能力和团队管理能力。CTO的工作更偏业务、偏管理,以及商业等,主要职责包括团队管理、开发流程、公司战略、业务增长以及各类技术疑难问题的解决等,可以说是一个比较全方位的发展方向,一句话,CTO的主要职能是管理+技术+业务+商业的综合发展。

成长为Java架构师必须突破的11个技术点

1、Java基础技术体系掌握牢固:

JVM内存分配

垃圾回收

类装载机制

JVM性能优化

反射机制

多线程

网络编程

常用数据结构和相关算法

2、对面向对象的软件开发思想有清晰的认识、熟悉掌握常用的设计模式:

熟练使用UML工具以及各种流程图

经典的设计模式会手写以及熟知使用场景

概要设计与详细设计

面向对象的核心思想需要运用在代码编程中,例如:高内聚低耦合

3、目前流行开源框架,除了熟练使用,还需要掌握核心原理和实现

Spring

Springmvc

MyBatis

建议看源码以及debug配合掌握实现原理。

4、熟悉Oracle、MySQL等SQL,以及MongoDB等NoSQL开发。

特别是MySQL,相关的索引优化、SQL查询优化、慢的事务优化等,以及MySQL的分库分表等也需要掌握。

MongoDB等典型的NoSQL大数据场景设计

5、CDN,以及分布式缓存系统Redis或 Memcached的设计和研发

CDN与分布式缓存的设计原理其实是一致的,重点你需要掌握两者之间的区别和使用场景。

6、熟悉底层中间件等分布式技术

分布式技术涉及范围比较广,例如相关的消息中间件就会涉及到3个以上,为什么要选择Kafka或者

RabbitMQ,选择和比较需要掌握。

除此之外,很多内部系统还会涉及到JBPM工作流中间件等。

7、精通shell编程,熟练应用awk、sed、grep、strace、tcudump、gdb等常用命令。

8、有大型分布式、高并发、高负载(大数据量)、高可用性系统设计开发经验。

大型分布式就会设计到高并发解决方案,以下有相关的知识。

9、对配置管理和敏捷研发模式有所了解。

jekins、nexus、git等

敏捷开发、极限编程等。

10、熟悉常见的一些解决方案及其原理

单点登录、分布式缓存、SOA、全文检索、消息中间件,负载均衡、连接池、流计算等。

11、能大概知道市面上主流技术的特点及业务瓶颈

例如秒杀系统等如何设计。

总结

不管选择什么样的路径,都离不开提前规划、充分准备,机会总会留给有准备的人。程序员是个相对公平的职业,你若盛开,蝴蝶自来,薪酬也会随能力得到明显增幅,那么大家在应对中年危机时更加游刃有余了。

【编辑推荐】

  1. 刚刚,又有一位程序员倒下了......
  2. 干了4年程序员,转行做公务员,月薪2万变2千,赚了还是赔了?
  3. 研究院 | 成为一个区块链程序员有多难
  4. 码龄超过20年,依然对生活和编程充满激情,这是三位70后“老”程序员的故事
  5. AI 的主打歌:主的是程序员,打得作曲家神不守舍
【责任编辑:武晓燕 TEL:(010)68476606】
点赞 0

(编辑:新余站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读