美文网首页Java学习笔记
码农的10年的技术生涯和技术成长,启发篇

码农的10年的技术生涯和技术成长,启发篇

作者: b81958a6edee | 来源:发表于2019-04-23 15:04 被阅读3次

    先简单分享自己这10年在技术上曾经感觉到明显迷茫的阶段:

    阶段1:只会增删改查:

    时间:大学期间(2008年-2009年)

    学习的方式:看视频、看书。(学会了使用控件的增删改查,和写SQL语句)。

    自我感觉:XX管理系统已不在话下,反正网站弄来弄去也是增删改查,这大概就是无知者无畏。

    如何破:(走出社会去就好了)。

    阶段2:能快速实现功能,却不会思考:

    时间:(2009年-20012年)

    学习的方式:看博客、大量的编码(第1年,封闭式开发(1天敲15个小时代码),第二年后:每周六天,每天到夜里3点)。

    感觉:大量的编码,做了大量的不同类型的系统,已练就成一个高级代码工:(CodeSmith代码生成器+批量生成增删改查)。

    如何破:(让自己静下来)。

    阶段3:学会了分享、安全、性能、底层原理

    时间:(20012年-2016年)

    学习的方式:写博客、看博客、写框架(CYQ.Data V-V4系列、QBlog)。

    感觉:为某个框架代码而自我得意。

    如何破:不断重复的将自己归零(把自己的认为得意的东西开源出去,如果要保留一点感觉,可阶段性开源)。

    阶段4:领悟了抽象思维、面向对象、写框架、用户体验

    时间:(2016年-至今)

    学习的方式:看书、写框架(CYQ.Data V5系列、ASP.NET Aries系列、Taurus.MVC系列)。

    感觉:也许我懂的很多,但是我不懂的更多。

    如何破:(转行卖烧烤。。。)

    总结一下:

    上面的内容,其实只是个大概的节点情况,太多细节点的过程,来不及细说,全面汇总成以下几点:

    1:大量的编码实战。

    2:开发自己的作品。

    3:学会分享。

    4:学会低调,知识归零。

    关于看书:

    这么多年,我很少看技术类的书,因为人的特征本各不相同,我不善于记忆,只能通过大量的实战来形成条件反射。

    另外,从实战到=》互联网的文章,有目的性的补充知识,更加容易被吸引。

    所以,看书和看文章,其实本质都是在学习,只是我是通过实战驱动去补充知识,而不是单纯的看书,然后选择被遗忘。

    以下内容随意聊聊::

    这些年,曾高调过,曾低调过,也不高不低过,有人看我很谦虚,有人看我屌,其实,都是看心情,看心情的。。。

    我想汇总一下我的知识体系,身体又懒的动,只因大脑感觉要写完天都要亮好几回,若不写,这随谈又要谈什么呢?

    听说Java界的架构师很少,其实是Java的技术总监或CTO太少,毕竟是上层决定了下层的技术使用。

    在我这几年当总监的岁月里,拿到的Offer最高月薪也只有4W,这在Python界轻松就能突破的数字,在Java界却不那么容易。

    因此,从现实出发,混到总监的,有些也不在乎技术了,也没有技术情节和忠诚感,转个技术方向突破薪资才是硬道理。

    生态圈的良性循环,还是得靠占据总监位置的同志们,坚持。。。

    而且,大量的Java,必须突破自己,靠架构师上靠,才能进一步稳住市场。

    目前Java大多数都在1W左右2W以下的薪资,勉强占领高级程序员或技术经理这么个角色。

    追期根源,是因为技术上没有亮点,技术还停留在能做功能的地步,技术和思想也没形成体系。

    怎么成长才能突破?

    忽略其它综合因素,比较明显的是以下两个层面:

    1:技术上的成长。

    2:岗位上的成长。

    明显决定薪水的,是岗位,要记得:上层给你一个Title让你带队,也好过给你涨薪,这是你跳槽的最有谈判的资本。

    然后说说技术,感觉技术成长不上去的时候,怎么办?

    先说说现在年轻人最大的感觉,很多人在用我的开源框架,但是他们遇到问题时,很多都是直接上问题,不愿调试代码。

    这样的方式,只是完成了任务,就算最终学完整学会了用框架,也只是在众多框架中学会了一个,成长性是很小的。

    过程是很重要的,哪怕是弯路,哪怕浪费时间,记得那都是思维的成长,比你完成一个当前的任务更值钱。

    都说人生苦短,技术无涯,底层原理下面还有底层原理,无限的底层下,究竟学到哪层,才算底层?

    在这框架百出的年代,若每样都要掌握,深度必无,人生必毁,所以,怎么学习,已经成为了一个值的思考的问题了。

    其实,这些年,对于自己的成长,无非就是一样,将已有所有知识点形成体系。

    当然,我并不是有意而为之,而是大量的实战和知识补充,最终自然而形成。

    所以,学习应该围绕着体系而进行,适当的学习底层,是为了建立体系的连结点,而不是为追底层而底层。

    今天跟大家分享一份Java 工程师进阶知识点扫盲清单,中间涵盖了redis/mongodb/dubbo/zookeeper/kafka 高并发、高可用、分布式、微服务等众多技术。

    当然还有Java 工程师软实力方面的内容,比如说:面试技巧、技术文档编写、中英文档阅读、数据结构与算法等方面的内容。

    这里先给大家列举一些分布式的内容:

    Redis

    从入门到精通,Redis的数据结构分析

    Redis主从复制原理及无磁盘复制分析

    Redis管道模式详解

    Redis缓存与数据库一致性问题解决方案

    基于Redis实现分布式锁实战

    图解Redis中的AOF和RDB持久化策略的原理

    Redis读写分离架构实践

    Redis哨兵架构及数据丢失问题分析

    Redis luster数据分布算法之 Hash Slot

    Redis使用常见问题及性能优化思路

    Redis高可用及高伸缩架构实战

    缓存击穿,缓存雪崩预防策略

    Redis批量查询优化

    Redis高性能集群之Twemproxy or codis

    Dubbo

    Dubbo管理中心及监控平台安装部署

    Dubbo分布式服务模块划分(领域驱动)

    基于Dubbo的分布式系统架构实战

    Dubbo负载均衡策略分析

    Dubbo服务调试之服务只订阅及服务只注册配置

    Dubbo服务接口的设计原则(实战经验分享)

    Dubbo设计原理及源码分析

    基于Dubbo构建大型分布式电商平台实战雏形

    Dubbo容错机制及高扩展性分析

    Zookeeper

    从0开始搭建3个节点的Zookeeper集群

    深入分析Zookeeper在disconf配置中心的应用

    基于Zookeeper的分布式锁解决方案

    Zookeeper Watcher核心机制深入源码分析

    Zookeeper集群升级,迁移

    基于Zookeeper实现分布式服务器动态上下线感知

    深入分析Zookeeper Zab协议及选举机制源码解读

    Kafka

    Kafka基于Zookeeper搭建高可用集群实战

    Kafka消息处理过程剖析

    Java客服端实现Kafka生产者与消费者实例

    Kafka的副本机制及选举原理剖析

    基于Kafka实现应用日记实时上报统计分析

    mongoDB

    mongoDB应用场景及实现原理

    mongoDB常用命令及配置

    基于mongoDB手写ORM框架

    基于mongoDB GirdFS实现一个分布式网盘实战

    mongoDB高可用实战及V4.0新提醒

    关于这份Java工程师进阶清单的问题

    上述的内容只是整个清单中的一小部分,这里只是列举一些,供大家参考,更加详细的内容,这边有一份高清的技术脑图,可以分享给大家,领取的话,看文末就好了

    关于软实力方面的内容,这里也列举一下内容:

    面试技巧

    如何写出一份漂亮的简历

    如何高效准备面试

    如何优雅谈薪

    如果精准跳槽

    辞职的正确姿势

    如何规划自己的职业发展

    技术文档编写

    需求文档编写技巧

    Java开发规范文档编写技巧

    数据库设计文档编写技巧

    中英文档阅读

    一小时掌握英语学习技巧

    专业英语单词记忆技巧

    个人认为,作为技术人就要保持终生学习的态度,让学习力成为核心竞争力,才能不被时代所淘汰,而高效的时间支配能让你变得更加优秀,所以,这里也送给大家一份学习路线图。

    最后,我觉的大伙的评论,比我瞎扯的文章更重要,说出你的现状,集众人智慧,看看如何改善吧。。。

    相关文章

      网友评论

        本文标题:码农的10年的技术生涯和技术成长,启发篇

        本文链接:https://www.haomeiwen.com/subject/vkvvgqtx.html