软件工程毕业,想自我提升一下,我应该如何进行深一层的学习?

用户8328945825930


我是做大数据开发的,分三个阶段说说我的经历,希望能够有所启发。

第一阶段

09年开始工作的时候主要是做java web开发,那时候还是SSH2架构,做了一年,10年内部调岗就开始做BI了,那时候数据统计大部分都是用的关系型数据库,我们当时用的oracle。刚开始的时候遇到了好多问题,因为对数据库了解不是特别多,各种基础函数、高级函数都不知道,存储过程也写不好,工作经验也少,也不懂怎么优化。

其中印象最深的一个问题,数据同步,从mysql同步业务数据到oracle,十几个G的数据同步几个小时,当时部门内都解决不了,这个问题就一直存在。

工作中一直要用oracle,平时也不断的学习,那时候还不像现在九点多下班是正常,基本六点下班就回家了,就是加班也是一阵阵的。所以就有很充足的时间学习,随着积累的多了,后来我就解决了这个问题,几分钟数据就同步完了,那是非常的有成就感,非常兴奋。

之后的两年一直坚持学oracle,优化,数据库的体系架构,数据库的管理。看官网的文档(英文阅读水平也有了提升),网上免费的视频,看书,还有群交流。那时候就梦想成为一个DBA大牛。这期间还关联着系统的学了下linux。

第二阶段

13年的时候换了家公司,做金融保险行业,不像上家公司,数据团队比较小,就几个人。新公司这边,所在的部门就是专门的数据团队,有一百多人,分成不同的团队,每个团队负责不同的项目,有数仓、crm、用户画像、理赔、经营分析等等,大家共同协作。

在这家公司工作三年成长是最快的,数据仓库建模、数据建设体系、数据治理、数据质量把控、团队建设、项目管理(带了一年多团队)、带新人、沟通能力、产品思维等都得到了非常大的提升,因为接触的项目多,眼界开阔了。

总结这三年,是从一个开发成为一个真正的数据领域的专业人士。

第三阶段

16年后,就是hadoop技术体系了。其实13年也接触过,但是没有应用到项目上,所以也就没有系统学过。

近几年企业使用数据的意识越来越强,采集的数据种类也越来越多,数据量也就上去了,传统的关系型数据库在处理大数据这块就显得有些吃力了,在金融保险早就改用Td或gp。

hadoop技术体系内,主要学习了批处理计算框架mapreduce、spark SQL ,流计算框架spark streaming、flink,资源管理器yarn,hive,hbase等。这些也是工作中日常用到的,还有java,python,有时间了还会看看AI算法方面的,虽然现在工作中不怎么用吧。

平时没事还会看看数据结构和算法方面的东西,每次看都会有新的收获。

总结下:个人认为技术最终是要服务于生产的,学好学精是为了提供更好的服务,产生更多的价值,终极目标就是想尽一切办法出色的完成工作。

提升技术,除了书本上的东西,最主要的还是靠项目来提升,尤其是大的项目。

另外我觉得很重要的一点,就是深度的思考,思想上不要懒惰。


小伙戚儿


软件工程这个专业就是针对以后从事软件开发而开设的课程,里面很多课程都是从理论层次建设一个体系,唯一欠缺的是实际编程能力,软件工程的学生面临一个很现实的问题,如何在掌握理论的基础上,提高自己的编程能力,编程能力主要包括两个方面,基本的代码编写能力,编程思想的提升,这两种能力都很难直接在学校里面弄得很熟练,毕竟这些都属于实际的项目实战才能产生本质的提升。

学习软件不要抱着什么快速提升的这种意识,这种基本不靠谱,哪有什么快速的通道,现在市面上的书本动不动30天精通什么编程语言,为了博眼球多卖点书而已,而且真正经典的编程书籍哪有什么多少天达到什么标准之类东西,抱着快速的心态这种对待编程只能会摔得很惨,编程是一个需要长时间积累的过程,功到自然成效果,不可能一步到位,没有一个积累过程想快也不可能。

在校大学生,特别是软件工程专业的如何提升编程能力?

1.先把学校开设的专业的基础弄扎实,没有基础想着提升编程能力,几乎就是一句空谈,代码编程能力的学习需要锁定一门编程语言,选择自己一个最感兴趣的编程语言进行全力出击学习。把这门语言的具体细节扎扎实实的搞一遍,搞代码编写的基础。基础的学习过程往往都是枯燥无味,而且以在校学生的理解程度,要想完全的掌握的确还是需要实践磨练才可以,起码可以做到概念清晰,所以先问下自己能不能守得住寂寞,安安静静读懂一本基础编程书,很多在校大学生,学习的C语言基本上就懂点概念,基本的结构体很多人都不懂,更不要说涉及到更加复杂一点的指针,按照这种学习水准远称不上达标。

2.要让在校大学生磨练编程思想,这个有点困难,思想的锤炼主要依赖项目实战,因为平时试验的项目主要还是点到为止,真正的项目需要解决实际的问题,解决不了客户就会不乐意,所以无论想什么办法首先要解决问题,真正的项目实战,一定要达成某种效果,所以会不停的挖掘潜力,压力产生动力,把之前可做可不做的事情要达成必须要做到的效果,即战力自然会提升,一些编程思想模式自然就能涨的快,如果在学校期间对一些问题较真去搞也能一样达成效果,所以想要近距离磨练编程思想还要借助开源社区。

3.提升如何找到合适的实战项目,是每个在校大学生都面临的问题。最直接办法就是找个实习的地方从打杂的开始练手开始,但并不是所有的公司都会给毕业生机会。还有一种是在网上找到如何做东西的视频,跟着去做去学,一步步的去搞,这种需要很重要的一步来变通,跟着弄完之后需要独立找个项目进行操作,不然只是跟一遍基本上没戏。

编程一件需要长期积累的技术活,不可能一日之内,也没什么快速方法,真要说是方法就是打好基础,然后多做真正的项目,做完会后做好总结,然后重复反复的操作。时间长了能力自然就上来了



分享到:


相關文章: