不知不知的2019完了,2020年已经过去2个月了,直到今天才打算做下年终总结,分享这一年的心路历程

  • 思考问题的方式
  • 如何学习和提升
  • 2020职业发展和规划
  • 总结

相关内容后续GitHub更新,想冲击金三银四的小伙伴可以找找看看,欢迎star
顺手留下GitHub链接,需要获取相关面试等内容的可以自己去找
https://github.com/xiangjiana/Android-MS
更多完整项目下载。未完待续。源码。图文知识后续上传github。
可以点击关于我联系我获取

一丶 思考问题的方式

有人说程序员只要专业知识过硬就够了,其他的不用过多考虑。这种说法“正确”,也“不正确”。

专业能力是进入 行业的门槛,在进入之后还需要在各个方面不断的打磨和提升自己

平时的工作就是在不断发现和解决问题,能否在这个过程中受益,思考就显得尤为重要

我常常在反思,在平时的工作和学习中,是否运用了正确的思维方式:

  • 程序出现 Bug,如何找到原因并且进行总结
  • 遇到需求不清楚的时候,如何整理问题列表
  • 当遇到别人发出的问题的时候,如何积极倾听总结不足吸取他人的好的建议

需要不断调整做事的方式,来满足不断变化的事情。

就好比有人问我,如果我找到一家可以的公司是安逸工作还是居安思危呢?

对于互联网这一行,稳定是一把双刃剑。在一家公司干得舒服稳定,确实是一件好事。但如果乐不思蜀,一副小富即安的心态,等到有一天不得不从公司出来时,突然发现外面的世界已经发生了巨变,自己所擅长的技能已经不再被社会接纳,这个时候就为时已晚了。所以,多了解下行业动态,让自己与时俱进,这很重要

二丶如何学习和提升

认真做好一件事情。
投入全部精力去做一件事情,并获得成功,大家有没有体验过?不管是在公司还是在社会,人都需要一些成绩来证明自己,证明自己的能力,证明自己的价值。外界对我们的尊重和认可从来都不是凭空的,是要靠自己争取的,去拼搏一把,即使没成功,你比别人多的是这个事情过程中的经历和经验。

多多开阔自己的眼界
多看看书,书是一个最容易最简单开阔眼界的方式,多像身边的优秀的人学习发现别人身上的优点和自身的不足,多多出门走走,能适当的缓解压力从而让自己的学习效率提升和压力的减少,更能很好的享受生活。

自我学习
很多时候为了学习专业的知识,我上网翻看 Blog,关注微信公众号的推文。遇到工作上的问题,打开搜索引擎用最快的方式找到答案。

习惯了享受快餐知识带来的愉悦感。甚至不清楚复制粘贴代码所表达的意思,看过大神文章也不得要领,只有不明觉厉的感觉。只有我的键盘的C和V键盘比其他键旧,并没有形成自己的知识体系

将每个知识点做好笔记,保存下来,下次遇到有关联的知识时,对照起来参考

最后,把每个知识点串联起来,形成线,再将线变成面,讲给别人听,或者将其形成文章分享出来

如果把每次遇到的问题都如此总结,周而复始技术/理解能力会有明显的提高

特别是有几年工作经验以后,需要针对基础的计算机知识进行系统的学习。因为基本的编程技巧和工具都离不开这些基本原理的支持。

例如:数据结构,原理,数据库设计,设计模式,算法。在这个过程中可以对知识进行重新梳理,分类,站在更高的位置审视所学知识

多向身边人学习
古人说三个臭皮匠赛过诸葛亮,三人行必有我师,天生我材必有用。每个人身上都有其对应的优点。从他们身上学习知识,技能和经验。

比如某一小组的程序员的Bug很少,学习并且模仿他的编码风格,半年以后发现我的代码质量有了明显的改善。某程序员的办公效率特别高,于是乎就学习他的办公方式,这样自己的办公方式也能得到很大的提升,从中学到别人的闪光点,久而久之结合自身的特点就形成了自己的风格

除了学习人以外,GitHub 上面一些开源项目也是学习的对象,看看别人如何构架系统,如何使用设计模式,对自己的工作也是启发。

检验自己的学习提升了多少
实践是检验真理的唯一标准学了别人的编码风格,学了别人的办公方式,怎么检测到底有没有效果?可以吧这些学到的知识,在下班以后简单的应用到自己的工作中检测是不是有效果

这些检验的方式是有特殊场景的,从问题到解决方案,是被动的验证方式

如果说在日常工作中没有那么多的问题需要解决,而又需要检验学习的知识,那应该如何操作?

这里分享一种主动验证方式,从学习知识到教授知识。在开始学习的时候,就要确定学习目的是:要教会别人也学会这个知识。

也就是,学习完成之后,你就是关于这个知识的专家了,有责任教会其他人搞懂这个知识。

如此这般,才能在学习过程中对知识精益求精。具体过程可以这样:学完某种知识以后,用自己的话,对着镜子复述一遍。刚开始的时候会结结巴巴找不到要领。

不过不要紧,针对不清楚的部分,回去查资料,再进行演讲。直到演讲的过程顺畅为止。

平时可以做个文档当笔记帮助梳理和回忆。针对自己不熟悉的一遍遍的总结,在进行补充。这是一个不断自我完善的过程,最少需要15天,因为一件事情形成习惯的最少时间是15天左右。而且在这个过程中会得到不少反馈,使你对知识的认知的程度不断提高

三丶2020职业发展和规划

职业发展路线是经常被提到的话题,针对不同阶段,职业规划是不同的。刚刚进入 IT 业的同学,可以考虑掌握一门“安身立命”的技术。能够养活自己,并且有成长的空间。

开始时候可以涉猎多一点技术,在其中选择一个觉得“舒服”的技术坚持下去。记得有本事,讲述的是一位老者 40 年学武的经历

其中有一段讲到,他刚开始学武时,他的师傅教了他好几招。然后问他:“哪一招,练起来最舒服。”他回答师傅以后,师傅就要他只练“觉得舒服”的那几招。

一年以后,才教他其他招式。他问师傅为什么。师傅说:“招式虽然变化多端,但底层原理是不变的。如果有几招已经精熟了,那么学习其他招数也就易如反掌了。

反观,学习 IT 技术不也是这样吗?学习那么多的编程语言,他们之间的底层原理都是相通的。分布式架构,通讯方式,设计模式,在思考方式上也有互通互联的地方。

所以,初进入职场的 3-5 年可以在一个垂直的技术领域深耕。精通以后,再选择后面的路如何走。

除了技术能力,综合能力也是必不可少的。例如:演讲,写作,沟通,管理。不管今后是往技术方向还是管理方向发展,这些技能都能够帮到你。

所以,在适当的时候需要锻炼自己的综合能力,比如:

  • 定期可以进行技术归纳,把技术干货分享给同事。听取下不同的看法,也能从中发现自己做的好的地方,和有疑问的地方
  • 将平时工作中遇到的问题,收集起来并且找到解决办法。这样下次碰到同样的问题,即使忘了也能很快的找到解决答案,从而提高工作效率
  • 读几本书籍,学会如何和人沟通。工作久了很多人容易成工作狂从而忽略生活,家庭和身边的人,也可能会产生压力,多读书能缓解压力
  • 定期在网上学习管理视频。不断完善自己的知识体系

在学习专业知识的同时,也要获取其他领域的知识,丰富自己的知识体系。

有了好的开始,那么具体的发展有哪些路可以走呢?下

技术路线

程序员→中级程序员→高级程序员→技术经理

这是一条技术发展路线。随着开发经验以及对架构的理解,可以先往中级工程师、高级工程师岗位方向发展。

刚开始的时候关心如何编写出代码,减少 Bug,实现功能,通过模块测试;而中、高级程序员需要从整个项目出发,考虑如何编写模块,算法。

之后,可向技术经理的方向发展。在担任工程师阶段,积累了大中型项目的经验,也熟悉了技术标准、技术规范,学会编写、审核各种技术方案和文档。

同时具备编写软件核心代码、处理软件故障和领导团队的能力,基本达到了技术经理的岗位要求。

技术经理之后,可以往技术总监、CTO 等岗位发展,这些岗位的要求会更高,因此在编程过程中要注重其他方面的积累,如算法思维、测试方法、技术文档、技术团队管理等。

管理路线

程序员→中级工程师→系统架构师→项目经理

系统架构师是一个要求兼具沟通能力,设计能力和技术能力的岗位。技术是基于业务的,因此要对业务有深入的了解,需要与客户、产品经理、技术人员、项目经理等都保持良好的沟通。

针对业务场景,设计规划系统架构和应用场景、解决开发过程中遇到的疑难问题;还要提高开发质量,推进开发进度;也要协助管理技术团队,做好技术文档、说明文件等工作。

项目经理是软件项目的组织者和领导者。对内要组织管理技术团队,制定开发计划、测试计划、培训计划、量化任务等;解决开发过程中出现的问题,保证软件按照进度推进;做好技术文档、说明文件的存档工作等。

对外要与客户沟通,了解、完善、修改需求;要与公司沟通,及时汇报项目进度、工作情况和资源需求;要做好市场调研,及时调整技术方案等。

程序员如果具备很强的沟通、设计和团队管理能力,可以考虑往管理路线发展。不具备这些方面能力的程序员,可以多考虑技术管理方向发展。

系统架构师和技术经理在工作内容上有一些区别。架构师对内负责技术架构,对外需要和业务沟通;技术经理多会专注于内部的技术规范,技术标准的制定和执行。

职业规划

有人问2020年金三银四快到了,我打算跳槽还是安逸的卧在原来公司?

程序员由于职业特点决定了是一个跳槽比较频繁的职业。特别是这几年社会对 IT 技术的需求量逐渐增大,对程序员的需求也在增大,这也导致整体行业跳槽比率偏高。那么什么时候该跳什么时候不该跳呢?

我在网上找了很多文章,发现有好多原因可以被考虑,例如:自身发展,公司发展,行业发展,老板魅力,当然也包括薪水待遇

其实,归根到底说的都是,你现在的工作和你想要的工作之间的差异。新的工作是否给你带来更多,包括薪水,发展,平台,人脉等等。

而且考虑现在的公司你的处境,是安逸划水还是每天充足有收获,是必要的一换还是可有可无。如果在一家公司可有可无的时候就要考虑自身的处境了,尽快提升自我,从舒适圈跳出来。

如果在这家公司每天能学到新的东西,掌握更多的技能,每天都是有一点点小的进步,能得到薪水,发展,平台,人脉的提升,那么久适合你现在久呆,如果不能那么就需要提升自身价值选择跳槽

程序员的自身发展,需要有正确的思维方式。成长型的思维模式能够帮助自身不断迭代。在学习过程中需要注重自我学习和向他人学习

最后

这段时间大家都在家里办公,我也是,恰好带了电脑回来了。工作只是谋生的一个手段,生活的一小部分,至于在家办公是否有效,这个完全取决于个人,像我每天13.30都会和公司的同事上司语音会议 工作的回报 和上班的时候没什么不同,相反我反而觉得的方便了很多在家有更好舒适的环境,更多的思考的时间,更安静的空间供自己思考问题。反而在家的效率有时候比在公司的效率还高一点。

制定一个每周的计划,然后平均到每天,每天看看能不能完成,因为在家办公容易迷失目标,这个也是对自己的一个监督

至于什么时候适合去上班,我想这个问题大家都比较关注,我们是2.17号才返回公司,密切关注你现在家所在地的城市的情况,和你工作城市的情况。

勤洗手勤洗脸,出门一定要戴口罩戴口罩戴口罩 重要的事情说三遍。不要去人多的地方~

趁着这段时间多为自己充电一下,更好的迎接所谓的金三银四~~~~~

相关内容后续GitHub更新,想冲击金三银四的小伙伴可以找找看看,欢迎star
顺手留下GitHub链接,需要获取相关面试等内容的可以自己去找
https://github.com/xiangjiana/Android-MS
更多完整项目下载。未完待续。源码。图文知识后续上传github。
可以点击关于我联系我获取

复工之后是‘跳槽’如鱼得水,还是安逸“卧槽”?相关推荐

  1. 吐槽和卧槽以及跳槽的含义,这个你应该知道

    槽 : 槽 cáo 一种长方形或正方形的较大的盛东西的器具:槽子.水槽.酒槽.槽坊:特指用来盛饲料喂牲畜. 卧槽 的三种含义:          1 .我草或操或曹,用来骂人的.          2 ...

  2. 金融危机与我何干--一分钟通俗演绎次贷危机

    一分钟通俗演绎次贷危机 馒头篇 2008年美国金融危机的起因是人们不愿消费还是劳动力缺乏?或者是大量金钱投入到房地产上而人们都不愿买房子导致银行收不到贷款?不对!真正的原因是信用扩张,是虚拟经济引起的 ...

  3. 2020过半,程序员“跳槽”还是“卧槽”,你想好了吗?

    图片来自 Pexels 到了年中一般都要做总结,今天来说说心里话,从如下几个方面和大家分享一下 IT 从业人员的心声: 思维方式 学习与提升 职业发展路线 跳槽和卧槽 总结 思维方式 记得在稻盛和夫的 ...

  4. IT狂人的职场路:跳槽、创业与转型

    文章摘要:T技术是最常见的职场岗位之一,IT狂人们也在思考:是选择投身值得托付的好公司,和一群最优秀的工程师共同工作,还是在积累经验后自主创业,又或者干脆转型做管理? IT技术是最常见的职场岗位之一, ...

  5. “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面

    如果第二次看到我的文章,欢迎下方扫码订阅我的个人公众号(跨界架构师)哟~ 本文长度为5723字,建议阅读15分钟. 坚持原创,每一篇都是用心之作- 这是一篇以程序员视角写的文章,但是内容是互联网行业通 ...

  6. 谈谈离职和跳槽(copy)

    为什么80%的码农都做不了架构师?>>>    这篇文章是我在部门会议上一次发言的总结.之所以会有这次会议,是因为我的一名员工向我提出了辞职,在思索了几天后,我整理了一下自己的思路, ...

  7. 跳槽时,不敢要高工资也会对候选人不利

    我在做技术面试官的时候,在问完问题后,照例会问一句:你期望的工资是多少?对此,我只会记录下候选人的回答然后上报,没有同意权,更没有批驳权. 判断候选人能否通过面试,主要看候选人能力和岗位的匹配度,如果 ...

  8. 跳槽9招让你“空降”任何企业都能成功

    2019独角兽企业重金招聘Python工程师标准>>> 作为一名职业经理人,没有谁没跳过槽,撇开在跳槽时对所"空降"的企业所需要的行业知识知根知底而"得 ...

  9. 跳槽必加薪?跳槽是涨薪最快的方式么

    金三银四?加薪了吗?年终奖可还满意么? 我相信很多程序员小伙伴是不是都蠢蠢欲动开始你的PlanB计划了 -跳槽,我猜想你的内心的代码段应该是这样的: if年终奖>=预期and加薪升职>=预 ...

最新文章

  1. 【有上下界网络流】【ZOJ】2314 Reactor Cooling
  2. 【Java】多线程相关复习—— 线程的创建、名字、运行情况以及顺序控制(join方法) 【一】...
  3. C语言—静态存储与动态存储
  4. windows下文件共享以及通过网线在两台Windows电脑之间传数据
  5. 深度学习的数学 (1)基本概念
  6. JQuery.validate.js 表单验证
  7. 关于WCF、WebAPI、WebService之间的区别总结 分布式通信技术
  8. python in memory_使用 in_memory 工作空间的注意事项
  9. 贝叶斯网的R实现( Bayesian networks in R)bnlearn(2)
  10. JS的IE和FF兼容性问题汇总
  11. 【水果识别】基于matlab GUI柑橘质量检测及分级系统【含Matlab源码 738期】
  12. VTD的官方help翻译-ROD部分(5~9章)
  13. HTML5生日快乐代码 (烟花蛋糕+3D相册) HTML+CSS+JavaScript
  14. 【软件工程】软件工程需求分析——面向对象分析
  15. Eplan绘图软件:西门子S7-1500部件
  16. 利用poi实现word转换html
  17. 物理挖洞之分块 !Cocos Creator !
  18. 如何迅速打造敏捷团队
  19. Mac电脑使用:Mac电脑一键智能清理神器CleanMyMac X,Android开发者
  20. 2023版大数据学习路线图(适合自学)

热门文章

  1. 支持集显的服务器cpu,核显作用有多大? 七款无核显CPU推荐
  2. 包子笔记 - 知己的重要性
  3. 快手主页服务跳转微信技术是什么
  4. 不懂云原生?来看国内首个信用卡云架构如何实施
  5. Vue HBuilder打包为app流程
  6. Node 03--在Node中使用模板引擎进行渲染
  7. Java可变参数Object... args
  8. C++利用 _findfirst与_findnext查找文件的方法
  9. 24基础指标、obv使用方法及分析技巧
  10. steam Depot 生成与应用脚本