本文分享的内容根据我平时积累,同时综合了很多领导的经验,以及同行中优秀人员的共同点软件知识体系整理,请各位耐心阅读。
身边可以看到的高频率现象:
1、高考的学生,越来越多以毕业后高薪资,走向人生巅峰,迎娶白富美(嫁给高富帅)为诱惑,报考了软件、计算机专业;
2、毕业的大学生,不好找工作的,短期培训软件课程后,实现快速就业;
3、工作了几年发现支撑不起自己和另一半,甚至家庭开销的,也纷纷踏入软件行业。
最终导致了几个一线大城市的各种交通工具里经常听到“SQL”、“bug”等行业词汇。
这个物种变得越来越热闹,导致了浩大一个群体中渺小的我,也经常被人问起:
“做开发这么久了,转管理怎么转?”,
“哥,我快毕业了,现在学的有点蒙,后面怎么学能找高工资?”,
“我开的培训班,你过来给学生讲讲,一线项目怎么运转,到时候让学生无缝接轨企业,好找工作,好面试!”。
所以,我分享的文字,也是希望这部分即将起航或准备再出发的人,能有一个大概的方向以及结合实战所需的知识框架,可以做到“学以致用”。
因为我从较早的行业应用软件科技公司的研发,一直到项目管理,再转战到现在的互联网公司做项目管理。一直以软件领域的技能支撑保险行业的业务,以至于,2017后半年开始攻读保险学硕士学位。
所以,后续的分享,我也会围绕着以下几点:
1、软件专业学生,实战建议;
2、想踏入或已踏入项目管理的同行探讨;
3、保险行业IT建设相关;
4、保险学课程学习分享。
今天第一篇文章,我们就先探讨计算机专业从事软件行业个人所要具备的整体知识框架,也是我一直在完善并不断补充的知识体系,后续的文章,根据大家的兴趣点,我们再针对某一块,优先进行展开。
整个完善过程的出发点,就是如何能适应市场的发展,不断学习、汲取别人的经验,能让自己形成磁场,为周围人赋能,不断提升自己,与别人形成网络协同效应,最后具备事业合伙人的素质。
每个人也可以针对自己的发展路径,给每项自己需要的技能加权,但不要忽略多方面能力的培养。
知识体系图
对外反馈能力
从以往家长、老师教育,到媒体上强调的与人相处,与人沟通,团队协作能力,其实给出了很多与人合作的重要性还有指导性纲领,其实到了今天市场对人才的要求,我们每个人都需要不仅仅能对外产生沟通,更得产生工作间的化学反应,所以,单从自己角度出发,去掌握一些沟通技巧,会显得空洞,事实上,也很难应用起来。我的总结分这么几点:
1、文字组织能力
小学时期总结文章的中心思想, 套用老师教的几种固定语法格式,然后对于那些总是可以把中心思想写满答题线最后一行甚至超出的同学,我是打心底里佩服。
我们在工作当中,文字组织能力,其实是软件行业同学们的弱项,我见过很多需求文档、邮件书写上都出现过基本叙事都讲不清楚的情况。
文字组织能力的本质是要对我们工作中的某件或者某些事情对目标人进行介绍、描述,产出的成果,一定要考虑到给谁看,通过什么渠道给对方看,比如,文档、邮件、社交网络等。
所以,小伙伴们在组织文字的时候,不仅仅要考虑一些方法,还要考虑到受众的感受,比如,古代大臣们给皇帝走奏折,得揣摩皇帝看后的感受,一定要在文字组织的时候,拿捏好。
2、行业领域知识
行业用语,行业语言模式,每个圈子都有各自说话的特点,选择了这个圈子,就要说大家听得懂的话,所以,最有效的沟通反馈,就是水平线统一,这背后就是对与行业领域知识的积累和认知以及灵活应用,用个极端的例子,谈恋爱的两个人,成天不说情话,你说他们的关系会怎样?
3、英语熟悉度
有很多人说,软件行业,不懂英语,也可以,
其实在话的最后,丢了两个字,正确的说法应该是:软件行业,不懂英语,也可以凑合。
因为在行业中,一方面,对应的程序编写,大量采用英语的语义、词汇等,另一方面,西方的学习材料,很多没有翻译,我们需要看英文原版材料。
4、为他人赋能
社会、市场发展至今,新型的团队组织,绝不仅仅再是层级汇报,各扫自家门前雪。而是要学会通过自己的知识、成果为他人赋能,让别人的决策、执行更加积极且有效,如果是管理者,则要通过组织的赋能,让团队成员感受到背后是一个团队,他的行为,是有一个团队去支撑。比如,美国的伊拉克战争期间,一线的战斗人员,可以决策导弹的投放位置、战机的巡航线路等,背后的一系列支撑,则由整个团队去完成。
上面四点,不仅仅只是提升自我,更是把利他的思想也合并到整个的知识结构里面,也只有这样,我们的对外反馈能力,才能在具备同理心的基础上,不断优化人与人之间的合作关系。
技术能力
不管你想一辈子以技术吃饭,还是想以技术为台阶去进入行业然后做其他选择,可以丝毫不用怀疑的就是技术的基础学习,整个职业生涯的硬技能,行业思维建立,行业专业性纵深,靠的就是最初的学习阶段,扎实的计算机基础以及各项应用技术。我总结以下几方面:
1、基础学科
包含本科阶段的几门关键课程:数学、操作系统原理、数据结构、算法等。
如果你不想一踏入门槛就看到天花板,就一定要从枯燥中找到乐趣,把基础类科目掌握扎实。
2、编程思想
主要就是“面向过程”和“面向对象”,整个软件的设计,全部都是灌入了设计人员的编程思想,如果说写代码的能力是招式,那编程思想就是内功,会升华你的整体编程逻辑和最终成果物。
3、业务建模能力
很多软件,其实都由国外发起,开始,国内的很多企业还都是直接引进,逐渐有了经验和一些教训后,大家都逐步开始学习国外的业务领域建模思路,这才是我们学到的外来精华。
所以,从业务需求到软件设计,中间的业务模型建立,抽象,数据和算法的落地应用,都是我们融汇了以上三点所有方面,才能让业务系统适用、实用!
4、 数据库技术
数据结构的实现,就是数据库技术,从业务建模推进到数据建模,数据库技术就是这种模型的最主要工具。是我们最终业务数据落地的大仓库。
5、前端展现技术
不论是2B还是2C的系统、产品,尽管对于前端界面的要求不一致,但是交互界面基本都是必须项。软件系统、产品的美观、布局要从需求分析阶段到最终用户使用阶段做好不间断的美化、精益求精。
6、开发语言和环境
这就是上面讲到的学功夫,学的招式,也是最快上手的,所以,也就是培训机构最擅长的,让学生快速上手,对接企业,不得不提醒这部分学生,尤其是非计算机专业的,后面想不断进阶,靠培训期间的揠苗助长学到的知识,远远不够!
7、软件架构能力
除了要考虑业务场景演进的架构,还要尽可能考虑商业、组织的变革。淘宝从单纯的功能性电商网站,转型成为大数据平台支撑的搜索、推荐引擎,背后架构的转型之复杂、痛苦,我们可想而知。
管理能力
管理的重要性,我在这里不用多讲,其他地方,已经快讲烂掉的知识,我这里只说,别以为你是只想搞技术,就两耳不闻管理事儿,一心只想写代码。
你只需想想,管好自己,可以从一条虫的执行力变成一条狼,管好一堆人,可以让一堆沙子,凝聚成一座城。
1、管理知识
这里可以先从个人管理,然后拓展到项目管理,最后,如果有平台发挥,最好纵向深入的研究并实施一下工程管理,各个过程模型(XP、SCRUM)和方法学,都是针对不同项目适用的办法,这将为以后项目成功率的提升,提供很好的科学保障。
2、情商的训练
把情商放入到管理这一部分,其实也是提醒我自己,要把情商这一项,当成一个硬指标、可以训练的项,有意识的去做训练。
软件的研发、项目组成员的管理、客户间的沟通等等,若想保证每个环节都成功,就需要有一定思想方面的培养,如果能认识自己和他人的感受,自我调节,那对于结果的预期和市场、客户满意度的提升,都是可以起到很大的作用。
3、心理学导向
我们不提心理学的细分类,只学习培养有助于自我职场成长并成为合伙人的几个要素:责任感、尊重、主动性、开放、沟通。这些点,都是从别人心理出发,以好的结果为导向,涵盖到自己的整体能力之中。
自我优化及思维提升能力
1、深度了解业务领域及市场
职场走到一定的阶段,或者软件进化到一定的阶段,我们不能一味的以机器的思维方式去思考问题,我们要以行业背景为依托去形成合理的设计、建议、咨询等。这也就是我现在去读保险专业的硕士的目的。
2、提升个人结构化思维能力
所有的知识,作用与实战后才是真正属于你的知识。结构化的思维,有助于提升知识的吸收能力以及实用性,我们要把冷冰冰的知识和你自己捆绑在一起,变成你身体的一部分,了解哪些知识做纵向深入,哪些知识做横向扩展,以及各知识的连贯性和自身的优劣势结合,不断完善、补充自己的知识体系。
以上四方面能力,整理了需要去不断完善的学习领域和方向,最大的作用就是为即将毕业或者有意愿完善自己知识体系的同行,提供一些思路。