作者 | 个推Java主管  逍遥

Mr. Tech经常听到有人吐槽

每天上下班挤地铁

每个月给房东打工

每日Bug改到头秃

但是

忙十年却赶不上同事三年

房价物价年年涨

而你的升职加薪却遥遥无期

为什么你光努力没成绩?

为什么你在职场没有竞争力?

为什么你总被同龄人甩在身后?

其实,这不是因为同事比你聪明,而是因为你没有掌握职场升级打怪的正确窍门。为此,Mr. Tech特地请来个推传说中的优秀“同事”——个推Java主管逍遥,为大家传授一下职场超车、告别打杂的秘诀。

逍遥大学毕业仅仅一年,便协助主管承担了团队管理任务;工作两年,便开始独立负责个推核心技术团队基础推送线;工作三年便正式任命为B2D研发部基础推送线Java主管,现负责管理数十人的核心技术团队。逍遥将职场感悟归结为四点:技术知识体系构建、做好职业规划、思维模式转变、情绪调整及控制。

(以下为逍遥的个人分享)

技术知识体系构建

我经常在面试的过程中会问大家如何构建自己的Java学习体系,来帮助自己更快更好地掌握相关的知识并应用到工作中来。然而,就面试者来看,大多数人对此并没有进行过深入思考,回答起来吞吞吐吐,知识体系不全。为此,我建议大家不妨可以从初学、进阶两方面着手,来全方位提高Java学习能力。

初学

初学者建议从学习的语言基础看起。拿Java举例,设计模式自不必提,Java虚拟机(JVM)原理也是必不可少的,了解JVM底层的运行逻辑可以对如何写出优秀的代码或者分析出现的问题都有很大的助力。还有学习JDK自带的一些基础包源码也是很好的示例,对建立代码编写风格以及使用类库的熟练程度都会有提升。然后是学习常用的框架组件,Java的话就是Spring、Dubbo这些。其它的便是现在互联网公司常用的中间件学习:Redis、Kafka、ZooKeeper、RocketMQ等。学习这些框架组件和中间件,不能停留在表面的使用,内部结构和原理是必须要搞清楚的。建议技术人员深入去看看源码。

此外,经常性的回顾整理也是必不可少的。好记性不如烂笔头。艾宾浩斯遗忘曲线、学习金字塔理论等等前人经验或者科学研究都表明,我们要经常整理总结记录,才能学得更好。这个习惯需要终身保持。

以下Java书籍是我工作过程中发现比较不错的几本,从入门Java到日渐精通,每次看都会有不同的感悟,推荐给大家。

《设计模式》:这本书由国际公认的面向对象软件领域的四位专家合作撰写而成。该书深入分析了面向对象的23个设计模式,并为读者总结了最有价值的面向对象设计经验,提炼了一组设计精美、表达清晰可以在实用环境下提供帮助的软件设计模式。

《深入理解Java虚拟机》:作为整个Java图书领域公认的经典著作和超级畅销书,全书由走近Java、自动内存管理机制、垃圾收集器与内存分配策略、虚拟机性能监控与故障处理工具、调优案例分析与实战五个部分组成,深入分析了JVM的工作原理。

《Java并发编程的艺术》:本书对Java并发编程中最核心的技术即JDK源码、JVM、CPU等进行了深入剖析,为读者总结了Java发编程的框架、工具、原理和方法,对Java从业者在如何应用好这些核心技术方面具有重要的指导意义。

进阶

我理解的进阶应该不再停留于语言编码中了,你需要对整个程序的运行负责:性能怎么提升?高可用怎么实现?服务怎么降级?线上问题怎么处理?这一系列的问题如果你已经开始思考了,那么恭喜你,你已经进入了这一阶段。在进阶过程中,你不仅需要编码能力,你还需要掌握如下几点:

1. 程序服务的运行状态:对服务程序增加监控、告警、日志来帮助其了解运行状态。不断去观察端详你写的程序真实运行状况,有助于将一些隐患消除于未然,应对突发问题也更容易上手分析并快速找到处理对策。

2. 计算机基础和操作系统:主要包括CPU调度、中断、内存机制、I/O机制。尽管读过计算机专业的人员一半以上都学过计算机基础和操作系统,但很多人对此认识还不够深刻。针对在实际解决问题的过程中,我们经常碰到的计算机基础和操作系统相关的问题,去总结回顾,会有新的理解。

3. 网络知识:这方面包括TCP/IP协议与模型、常用的网络问题分析工具(tcpdump、netstat)、常用的代理和负载工具(nginx、lvs等)、DNS和域名服务、CDN服务等。具备这些知识在处理问题和设计方案中会让你有更多的灵感和方向。

4. 线上硬件环境:这个需要熟悉linux网卡的性能指标和调优参数、cpu核数频率及性能、文件系统的调优参数、内存策略的调整参数,以及机房的网络架构。在性能调优中我们会经常用到这些。

做好职业规划

适合度认知

现在程序员岗位比较热门,不少机械、化工、水利等专业的毕业新生也涌入到了该岗位中。然而,很多人虽然选择了程序员这个行业,但对自己是否适合还是不确定的。

在我看来,代码能力作为未来必备的基础能力之一,先干几年是绝对没问题的。但在干这一行的过程中,你可以慢慢去思考以下几点:我码完代码有满足感吗?我对写过的代码、维护过的项目能做到完全了解吗?我会静下心来去看做过的项目中所用到的技术更深层次的原理吗?每次过需求、做实现是不是都只是安于实现?如果过了2年你的答案都还是否定的,我觉得可以考虑转岗。

短期规划

对于刚入门的程序员,前三年是比较关键的,建议做到几点:

1.扎实技术基础,参考上面提过的技术知识体系构建部分。

2.以增长见识、提升自我为出发点,用开放的心态,主动去接触各个业务各个部门。当然这个以后也是要持续保持的。

3.积极参与各类问题的分析排查,锻炼自己解决问题的能力。

长期定位

长期定位一般分几种:技术专家、技术架构、技术管理。以下我列出三个定位必备的素质,大家看完后可以经常思考下自己的发展方向。

技术专家:具备某一方面或多方面专长,能非常快地解决一般人处理不了的问题,或者代码能力超强,经常编写偏底层的高性能的高可靠的代码;

技术架构:非常熟悉世面上的各种框架和架构模式,能有自己的实际架构经验,善于处理系统出现的各类问题,对于系统如果要达到怎样的目标如何去优化有很强的理解且有很多方案;

技术管理:充分了解团队的方向具备强烈的责任感,熟悉团队成员的优缺点并善于利用,能助人成长、带人成事。

思维模式转变

这点是我目前感触较深的一点,其实这也是任何职场人都必须觉察的。程序员作为一个较特殊的职业,大部分时间面对电脑思考写代码会不自觉过于沉浸自己的代码世界中,觉得写完自己的代码就高枕无忧了。以下几种情况跟大家分享一下,希望大家引以为戒。

1. 当整体方案涉及多个部门或者多人协作时,经常遇到因为缺少产品交互中隐含的几个接口而导致项目运行不成功的情况,或者因功能实现方界定模糊导致项目运行失败。

2.  线上运行的程序出了问题没有主观能动性,认为自己了解不多担心解决不了,导致依赖他人的思路和排查。面试中我发现这种问题尤为常见。不少候选者在回答线上运行程序排查问题时都说是上级或者别人解决的,自己对相关问题并不了解。

3. 只满足于做完本职工作,对团队没有输出足够的个人能力和魅力。

4. 对整体业务不了解,只关注代码运行逻辑,不知道在整体业务中起到的作用。这种在有较长业务链中出现较多。

5. 一些可选任务,觉得和自己没什么关系,不去考虑做后会有什么收获。

其实大家要分清楚,自己的目标是什么:只是为了自己当下轻轻松松舒舒服服的写代码,还是说想为整个项目或者团队带来贡献并且自己能够得到成长。如果你有后一种想法,那么你就需要审视自己是不是可以更加主动的发挥自己的能力,去提升自己而不是抱着没我也行,“雨我无瓜”的想法。

之前听过一个说法,国外程序员更关注于做好产品,国内更关注于做好技术,所以很多国外公司可以不用运营不用销售,技术人可以成为布道师,自己推广跟进自己的产品、服务或者开源项目。我也认为“技术布道”是一种非常好的方式,是可成长性很高的思维模式。

情绪调整及控制

我刚毕业时,对一些事也是懵懵懂懂,一开始工作有非常多的新东西要学,语言也不熟,做些小工具也常出错。后来,当我真正开始负责关键模块,逐渐融入团队,做出成绩得到肯定后,我才开始进入状态。回想当初,我的抗压能力帮了我很多。为什么80%以上的技术人员无法快速成长?那都是抗压能力差导致的。只有抗住压力,不被压力所打败,你才能获得成功。

最近参加的一个培训学习,让我意识到这其实是人的情绪风格决定的。大家有兴趣可以看下《大脑的情绪生活》这本书,里面讲了六种情绪风格,其中情绪调整的能力(也叫回弹力)在你沉浸于负面情绪时可以帮到你很多。

总结

互联网时代,拼能力不拼资历。要想不被淘汰,提升自己是关键。逍遥的职场经历有两点Mr.Tech认为尤为关键:坚持构建自己完整的技术体系和主动承担更多责任的工作模式。在技术水平的锤炼上,慢即是快。只有基础扎实了,我们到应用的时候才会信手拈来不费力。

此外,职场态度也很重要。在完成自己本职工作的情况下,程序员可以主动关心其他项目进度,敏感地发现他人的工作中自己可以帮忙,提出改进建议的点。在这解决问题的过程中,你的能力会变强,而能力变强会进一步提高问题的解决速度,进而推动你解决更多更重要的问题。

最后,Mr. Tech希望大家在2019年仅剩的2个月里,加快步伐、提升自己的职场技能,更好地迎接2020年的到来:告别迷茫!告别脱发!告别单身!

福利

职场成长的路上,有时就差了临门一脚。宠粉的Mr. Tech 这次除了向你发送升职加薪的秘诀外,还把备受技术大牛好评的Java系列经典书籍也安排上了!抽取十一名幸运粉丝,每人随机送一本《设计模式》或《深入理解Java虚拟机》或《Java并发编程的艺术》或《Java并发编程实战》或《Java编程思想》!

关注“个推技术学院”公众号,后台回复【Java】获取抽奖入口,即可参与抽奖。

开奖时间:2019年11月11日 11:11,系统将随机抽出11名幸运粉丝。

领取方式:请中奖者于24小时内在抽奖助手中填写收件信息,我们会在7个工作日之内为您寄出。

注:活动解释权归个推所有。

毕业三年,快速升职加薪,带领数十人的技术团队,我是怎么做到的?相关推荐

  1. 工作汇报怎么写?学会这几招,教你快速升职加薪!

    作为一名职场人,汇报工作是日常工作中极为重要的一项事务,也是一次展示自己工作风采的好机会.汇报工作是一项技术,工作汇报得好,不仅能够给上级留下业务能力强的良好印象,而且能够让你在职场上走的更远,获得晋 ...

  2. 团队管理之《十人以下小团队管理手册》

    ​一个团队只有主管自己最努力是没有用的.如果主管对下属的工作感到不满意,如果下属对主管的指导有意见,那归根结底只能说明主管在用人方面做的还不够. 在下属少于十人的小团队中,如果主管忽略每一位员工的个性 ...

  3. 【转载】快速升职加薪的10个方法

    原文地址:http://www.jobbole.com/content.php/901 想要受到大家关注,得到老板的提拔和重用,仅仅埋头苦干是不够的.教你10个方法,让你成为办公室红人,成为老板面前的 ...

  4. 大青山发生火情!内蒙古发生多起祭祖引发的火灾,数十人被拘...

    触目惊心!呼和浩特清明节当天发生多起火灾,现场视频让人后怕 4月5日,呼和浩特多处发生火灾,大青山脚下浓烟滚滚,一些周边城郊荒地也有火情发生.清明缅怀祭先人,未必烟火表孝心. 4月5日下午,呼市景苑小 ...

  5. 支援一波 《面试数十人有感》

    戳原文 无意间看到原博主的这篇文章,强调基础和原理,略有同感. 然而却发现评论区简直 ~ 辣眼睛 ~ 比如 活在梦里的面试官 我觉着吧,技术迭代的这么快,公司更需要的是有能力.有思想解决技术问题的人, ...

  6. 尼日利亚一油罐车发生爆炸 造成数十人遇难

    当地时间1月11日,一油罐车在尼日利亚Odukpani发生爆炸并起火,报道称,事件造成约60人遇难. 事发时,一辆油罐车发生翻车事故,引发居民蜂拥抢油,混乱中油罐车发生爆炸.

  7. 一名毕业三年的女程序媛面试头条经验,技术总监都拍手叫好

    常见的分布式事务场景 分布式事务其实就在我们身边,你一直在用,但是你却一直不注意它. 转账 扣你账户的余额,增加别人账户余额,如果只扣了你的,别人没增加这是失败:如果没扣你的钱别人也增加了那银行的赔钱 ...

  8. 三年软件开发工作经验,被人质疑技术水平,我静静不说话

    关注↑↑[爱开发] 每晚10点,捕获技术思考和创业资源洞察 每逢你想要批评任何人的时候,你就记住,这个世界上所有的人,并不是个个都有过你拥有的那些优越条件. 子非鱼,焉知鱼之乐? 文|洪生鹏 职场上, ...

  9. 毕业三年,拿了北京户口,从年薪20W到年薪40W,说一点对后人有用的经验

    作者:我的昵称是个响亮的名字吧 链接:https://www.nowcoder.com/discuss/361883 说来奇怪,毕业三年了,每年都看到很多人会写年度总结,但是自己总提不起兴趣去写,但是 ...

最新文章

  1. inux下如何查看CPU信息, 包括位数和多核信息
  2. Oracle_052_lesson_p10
  3. Mysql的IP转换
  4. 质数环问题c语言,素数环问题
  5. WPF游戏,使用move游戏开发
  6. 长时间使用s档有危害吗_空调长时间不清洗竟有这么多危害 你知道吗?
  7. 阿里花17.7亿 买的才不是ofo一堆没用的单车
  8. 交通银行软件中心编制_智能运维国家标准编制启动会在京举行 云智慧参与标准制定...
  9. vue实现codemirror代码编辑器中的SQL代码格式化功能
  10. win10产品密钥查看
  11. 一点一滴开始搭建自己的项目框架之支付宝篇 支付宝提现
  12. chromecast 协议_Chromecast和Android TV有什么区别?
  13. 问题驱动,提出问题,发现问题,解决问题
  14. 【华录杯】深度学习吸烟打电话识别
  15. php molten,当molten遇到机器学习
  16. 网易MuMu模拟器连接不上Android Studio
  17. win10电脑部分软件不能连接网络,只有QQ和微信可以连接网络,浏览器不能上网
  18. java语言之面向对象
  19. CANopen协议及应用
  20. 杨辉三角形实现过程详解-C语言基础

热门文章

  1. 程序员给小孩取的名字
  2. java中修改xml文件内容_修改所有xml文件中的某些内容
  3. Win10 Docker 安装mysql8.0
  4. 华为十年技术总监教你如何学好Jmeter接口测试+压力测试!!!
  5. java求二维数组每行元素的和
  6. uniapp学习教程
  7. Spring Boot-导出word
  8. Windows下程序向Linux下移植实践
  9. ACL 2018 ACCEPTED PAPER
  10. ctrl +z / pause键 出现 [1]+ Stopped 怎么解决