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

如何成长为一名架构师?

很多程序员想成为一名架构师,但是对于其中的技能掌握程度,以及编程功底的要求?设计能力的要求有哪些?

我简要从以下6点经验来谈,从技能的角度抛砖引玉。

1:编程基本功:数据结构和算法

1.数据结构相关的哈希表、链表、二叉树等等

2.常见的算法有哪些?至少下图的算法我认为应该要掌握。

比如:HashMap如何扩容,重点就是考底层数据结构。


2:编程基本功:Java编程

这些都算是编程基本功底:多线程、JVM、并发容器、并发类、NIO等。


3:Web开发

其实web开发这个领域,如果你要掌握好了,发展也非常不错的。

比如:现在的H5、小程序等,对于掌握前端技术的开发人员,竞争力也是杠杠的。

当然作为后端开发人员,多掌握点前端的技术,那也是必须的。


4:数据库

重点就看图了,这里涉及的技术还是蛮多的,mysql、oracle、nosql相关的mongodb,以及如今大家都熟知的分库分表、读写分离等技术。

这些都是大家熟知的,我补充点设计相关的:数据库设计范式、索引、事务、数据库相关的慢查询、长事务。

这些也算是数据库技术的编程功底。


5:研发相关的框架工具

Java程序员对于下图应该都是比较熟悉的,这些框架与工具都是经常使用。


6:架构设计

谈到设计,就不得不提到项目中的概要设计和详细设计,这就会涉及到UML。

除此之外,整个项目的设计,这个时候考验你的架构设计能力。


这里的架构设计,包含的系列非常多,特别是Redis、应用程序拆分、拆分后涉及到的RPC微服务等技术,以及后端数据库的拆分技术,以及拆分后的分布式集群部署。

程序员如何突破成长瓶颈?

对工作1-3年的程序员来说,依据个人情况提前规划未来职业发展方向,这很重要。譬如,在未来3-5年甚至更久,工作要做到什么程度?往哪个方向发展?通过怎样的路径才能实现目标?如果沉浸在当下“程序员高薪”的论调中岁月静好,总归有一天会面临网上热议的“程序员中年危机”,以至于最后不得不步入转行或提前退休的尴尬局面。

作为经常跟IT人接触的我,我一直认为这个话题对程序员非常重要,今天和大家详细聊聊。

职业规划的重要性

人生和职场就像下象棋,你只有明确了目标才不会在每一步上迷茫,之所有迷茫,是因为不清楚自己最终想要什么,下一个阶段的目标在哪里?

  • 某公司表示薪资上浮20%-30%,我应该跳槽加入吗?
  • 我最近收到了几个offer,应该去哪一家更好?
  • 从大公司去小公司,是否值得去尝试?
  • 想成为架构师,但不知道自己的技术是否能胜任?
  • 从程序员转行,但不知道未来自己的竞争力会变弱吗?
  • ……

其实,追求短期利益(眼前)或长期利益(未来),取决于你自己的决定。

我的建议是,不要在你经历之后,再去回顾职业生涯,初期跳槽涨薪确实很快,但到了中后期,跳槽再也带不来前期的涨幅,反而在频繁的跳槽过程中,失去了很多机会,技能与业务的能力也没能积累沉淀下来,这将直接导致很多人在即将步入中年时感到异常焦虑,不知道自己未来的路何去何从。

跳槽和转行如果仅仅只是工作逃避的手段,未来你将面临更大的焦虑,未来也根本谈不上什么有什么核心竞争力。但如果跳槽和转行,是谋定而后动,围绕你的主线职业去发展,这是完全不一样的结果。

总之,在职业的选择上,绝不能有“逃避”二字,逃避将会让你无处藏身,你只有明白了这个道理,你才会去克服眼前的困难,学会承担,这样的人生才有未来。

程序员的职业发展方向

1、架构师(专注技术,侧重技术)

每一个程序员都有一个架构师的梦想,这个方向是很多技术人的第一选择,从年薪十几万的程序员成长为年薪几十万甚至过百万的架构师,给力的薪酬已足以让不少程序员心动不已。若未来你想成为架构师,那么现在至少需要清楚了解架构师的主要职责是什么?有目标有方向地坚持学习。

2、项目经理(技术一般,侧重管理)

往管理方向发展的职业路径,项目经理主要侧重于项目管理工作,主要能力是计划、沟通及组织协调。沟通和表达是开发人员短柄,所以想往此线路发展的同学,从日常的工作、生活中就得逐步加强锻炼这方面能力。

3、技术经理(技术和管理结合)

技术经理需要带领团队前行,在国内的技术经理,大部分都在30岁左右。一般,程序员在30岁是一个职业分水岭。

技术经理的这个阶段的工作重点不再是专注于技术,而是在培养团队,带领团队为主。如果你没有让团队的成员变得更好,没有分享,没有利益分享的想法,没有去帮助大家成长的想法,这样的程序员不太适合这个岗位。

总之,这个职位成全大家而不是自己才是重点。

4、产品经理(转岗)

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

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、能大概知道市面上主流技术的特点及业务瓶颈

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

总结

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

往期精彩文章

两个月拿到N个offer,看看我是如何做到的

面试总结:2019年最全面试资料学习大全

淘宝面试回来,想对程序员们谈谈

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容

  • /* 标签样式初始化 /body{margin:0;padding:0;background:#fff;font-...
    一枚奋斗青年阅读 827评论 0 0
  • makeappicon http://makeappicon.com/ Make your own icon fo...
    lpuppy阅读 516评论 0 1
  • 大家好,今天是2017年的第一天,祝朋友们新年快乐,心想事成。
    白说说阅读 575评论 0 51
  • 介绍 在面向对象开发过程中,通常会遇到一个这样的问题,我们知道一个算法所需的关键步骤,并确定了这些步骤的执行顺序,...
    任教主来也阅读 136评论 0 0