工作了挺久,发现有个挺有意思的现象,从程序员、高级程序员,到现在挂着架构师、专家之类的头衔,伴随着技术和能力的提高,想不明白的事情反而越来越多了。

这些疑问有些来自于跟小伙伴的交流,有些是我的自问自答,有些到现在也想不清楚,这篇文章就来写一写这些年来自己的从业心得。

记得有人说过一句话,大体意思是:现在计算机技术发展那么迅速,日新月异,那些学计算机技术的人,要不断学习才能不被淘汰,那些人的脑子是不是坏掉了,干嘛要让自己活的这么累?表示不解。不想时隔几年,我也进入了这个飞速发展的IT行业。大概是随着时间的推移,个人价值观也随之改变了吧!

初入这个行业的Java程序员是迷茫的,处在金字塔的最底端,拿可怜的薪水,无休止的加班,被“高薪”和“码农”的代名词交替映射着,亦步亦趋的行进着,什么职业规划都是飘渺的空虚的,月光族都是向钱看的。直到无意看到一篇针对Java程序员的文章,感觉收获颇丰。似乎有一种拨开云雾见月明的感觉

一、认识现在自己,想要什么样的生活

当我们还不能确定自己的职业规划时,我们可以先确定一个目标,哪怕是以薪资为目标,为了实现这个目标,我们必定会为之奋斗,低薪时,只管低头学技术,当你成为资深程序员,才可以望向更远的发展线:专家线和管理线,一个跟机器打交道,一个跟人打交道。

把自己当做一种商品,商品必然存在价值,使用价值和交换价值。说的通俗点即你能给雇主创造多少财富。提高个人能力是一方面,还有一个技巧是选择更好的细分市场。感触很深的一点是通过网络提升个人品牌,一方面可以将个人所学知识进行梳理,同时可以锻炼自己的逻辑能力、语言表达能力,最重要的是可以分享,让更多的人学习,共同成长。

二、作为程序员,你首先要问自己一个问题:“我真的喜欢编程吗

我能确定我当程序员不仅是为了养家糊口,而是为了实现自己的人生价值吗?” 这一点非常重要。如果你的答案是为了养家糊口,那么很可能你成为不了一个优秀的程序员,而且在这条路上你越走越疲倦;如果你的答案是真心喜欢编程,那也很可能说明不了什么问题,除非你每天都在主动地学习和进步。

请先忘却它可能给你带来的奖励,而是切实的学习知识,充实自己,奖励只是你进步途中的副产品。如果你做一件事情前先考虑它有没有价值,会不会给你带来收益,那么你在当时的环境中很难看清楚一件事情对以后有没有价值。

永远不要把自己的成长完全寄托给公司,希望新人都能认识到这一点,公司好的项目会很锻炼人,但是每个人在项目中都只是一颗螺丝钉,只会负责某一个模块,自己不主动去探索,没有人会给你介绍整个系统的架构和工作原理。在我的成长过程中,一般有2个习惯,一个是搞清楚整个项目是做什么的,有哪些模块,整个系统是如何架构和设计的?另一个习惯是从自己负责的模块开始发散,找到一个又一个兴趣点利用业余时间进行深入地学习。无论做什么方向,都是可以不断积累和锻炼这些能力的,不用太过于关注某个方向有没有前途,个人综合能力提高了,切换方向很快的。

三、独当一面的能力

个人认为这是任何做技术的终极目标,在我的成长过程中,转过很多方向,但是无论做哪个方向,我都会不断地以这个标准来审问和要求自己,如果上面没有更大的大牛在,我能否独立搞定?为什么没有这个信心,哪方面还很欠缺?后面的成长过程中,则努力去弥补这块短板。

如今网络发达,很多功能都能在网上找到现成的代码参考,或者找到不错的开源项目,站在他人的肩膀上,我们往往能够快速地完成某些功能。但千万不要过早地洋洋得意,记住,快速做出来是一种能力,能深入理解原理又是另一种能力,它们并不相等。做技术不要浮于表面,得过且过,用完了某些开源库,完成某些项目之后,一定要抽时间深入去了解底层原理,这样才能真正得到升华和提高。

据不完全统计,截至目前(2017.07)为止,中国Java程序员的数量已经超过了100万。而且,随着IT培训业的持续发展和大量的应届毕业生进入社会,Java程序员面临的竞争压力越来越大。那么,作为一名Java程序员,怎样努力才能快速成长为一名高级的程序员或者架构师,或者说一名优秀的高级工程师或架构师应该有怎样的技术知识体系,这不仅是一个刚刚踏入职场的初级程序员,也是工作三五年之后开始迷茫的老程序员,都必须要面对和想明白的问题。为了帮助大家少走弯路,我总结出一个Java程序员的工作2-5年成长路线图。

针对上面图里的技术我特意整理了一下,有很多技术不是靠几句话能讲清楚,所以干脆找朋友录制了一些视频,很多问题其实答案很简单,但是背后的思考和逻辑不简单,要做到知其然还要知其所以然。如果想学习Java工程化、高性能及分布式、深入浅出。性能调优、Spring,MyBatis,Netty源码分析的朋友可以加我的Java进阶群:454377428,群里有阿里大牛直播讲解技术,以及Java大型互联网技术的视频免费分享给大家。

一名Java架构师分享自己的从业心得,从码农到架构师我用了八年的更多相关文章

  1. 文章推荐一个Java程序员跟大家谈谈从业心得

    一个Java程序员跟大家谈谈从业心得 2017-10-21 java那些事 java那些事 java那些事 微信号 csh624366188 功能介绍 分享java开发中常用的技术,分享软件开发中各种 ...

  2. 一个工作三年左右的Java程序员和大家谈谈从业心得

    转发链接地址:https://mp.weixin.qq.com/s/SSh9HcA5PgMHv7xiolQkig 貌似这一点适应的行业最广,但是我可以很肯定的说:当你从事web开发一年后,重新找工作时 ...

  3. 阿里Java架构师分享自己的成长经历,教你如何快速成长为架构师

    架构师是公司的“金领”,很少需要考虑生存的问题,从而有更多的精力思考关键技术,形成“强者愈强”的良性循环.当然,冰冻三尺非一日之寒,成为一名合格的架构师是一个漫长的积累过程.对于大部分的软件开发人员来 ...

  4. 十年Java架构师分享

    看到一篇十年java架构师分享需要掌握的技术点,有时间对照一下,好好学习一下. ------------------------------------------------------------ ...

  5. 腾讯架构师分享的Java程序员需要突破的技术要点

    一.源码分析 源码分析是一种临界知识,掌握了这种临界知识,能不变应万变,源码分析对于很多人来说很枯燥,生涩难懂. 源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心. 我认为是阅读源码的最核心 ...

  6. 百度架构师带你进阶高级JAVA架构,让你快速从代码开发者成长为系统架构者

    百度架构师带你进阶高级JAVA架构,让你快速从代码开发者成长为系统架构者 1.

  7. 阿里钉钉技术分享:企业级IM王者——钉钉在后端架构上的过人之处

    本文引用了唐小智发表于InfoQ公众号上的“钉钉企业级IM存储架构创新之道”一文的部分内容,收录时有改动,感谢原作者的无私分享. 1.引言 业界的 IM 产品在功能上同质化较高,而企业级的 IM 产品 ...

  8. JAVA学习资源分享

    JAVA学习资源分享 最高端的JAVA架构师资源(来自龙果学院 价值¥1399元).JAVA互联网分布式架构(龙果学院 价值¥899元).Spring Boot(2017年最新 包括源码原理分析) + ...

  9. 作为一名Java开发工程师需要掌握的专业技能

    在学习Java编程完之后,学员们面临的就是就业问题.作为一名Java开发工程师,企业在招聘的时候,也是有一定的标准的. 为了帮助大家更好的找到适合自己的工作,在这里分享了作为一名Java开发工程师需要 ...

随机推荐

  1. SpringBoot实战 之 异常处理篇

    在互联网时代,我们所开发的应用大多是直面用户的,程序中的任何一点小疏忽都可能导致用户的流失,而程序出现异常往往又是不可避免的,那该如何减少程序异常对用户体验的影响呢?其实方法很简单,对异常进行捕获,然 ...

  2. 用感知机(Perceptron)实现逻辑AND功能的Python3代码

    之所以写这篇随笔,是因为参考文章(见文尾)中的的代码是Python2的,放到Python3上无法运行,我花了些时间debug,并记录了调试经过. 参考文章中的代码主要有两处不兼容Python3,一个是 ...

  3. openstack-ocata-仪表盘服务6

    Dashboard(horizon)是一个web接口,使得云平台管理员以及用户可以管理不同的Openstack资源以及服务.这个部署示例使用的是 Apache Web 服务器.一. 安装和配置 接下来 ...

  4. 经典案例之MouseJack

    引言:在昨天的文章<无线键鼠监听与劫持>中,我们提到今天会向您介绍一个无线键鼠的监听与劫持的经典案例,<MouseJack>:MouseJack能利用无线鼠标和键盘存在的一些问 ...

  5. linux内核体系结构

    linux内核第一记   1.linux体系结构   从上图可知,Linux分为:用户空间和内核空间.内核空间和用户空间是程序执行的两种不同的状态,通过系统调用和硬件中断能够完成从用户空间到内核空间的 ...

  6. Java中字符串的一些常见方法

    1.Java中字符串的一些常见方法 /** * */ package com.you.model; /** * @author Administrator * @date 2014-02-24 */ ...

  7. JLINK(SEGGER)灯不亮 USB不识别固件修复、clone修改

    今天调SMT32插拔几下,JLINK竟然挂掉了网上找了这个教程,搞了半天才搞好,驱动没装好!WIN7系统,自动安装的驱动是GPS.COM10,郁闷,错误来的.应该是:atm6124.sys.要手动选择 ...

  8. Flex读取txt文件中的内容报错

    Flex读取txt文件中的内容 1.具体错误如下 2.错误原因 读取文件不存在 var file:File = new File(File.applicationDirectory.nativePat ...

  9. Deadlock found when trying to get lock; try restarting transaction

    1.错误描述 [ERROR:]2015-06-09 16:56:19,481 [抄送失败] org.hibernate.exception.LockAcquisitionException: erro ...

  10. 事件驱动的Java框架

    事件驱动的三个要素: 事件源:能够接收外部事件的源体. 侦听器:能够接收事件源通知的对象. 事件处理程序:用于处理事件的对象.