学习软件开发的心得

  一、结缘计算机

   我在小学五年级就开始使用计算机,不过那时候的我只能称得上是玩电脑,算不上用电脑。连简单的复制、粘贴、剪切等操作都不会,迷迷糊糊玩了几年游戏。后来高考填志愿也是因为喜欢计算机,而且该行业就业前景比较好,所以就填报了该专业。其实进入大学前对计算机一无所知,连最简单的cmd命令行都没有接触过。进入大一后,最开始学的是C语言。那时的我还是“闭关锁国”,一个人在默默地学,不会利用网上的各种资源。就这样马马虎虎地学了一年,倒也学懂了一些,指针、链表、结构体、队列、树等都写过,后来学聪明了,加了个群,开始和外面的人交流学习经验。直到现在,开始关注公众号,混迹于各种社区(如CSDN、博客园,Github就谈不上了,水平远远不够),还加了个阿里大神的群,随时会和各种人交流经验,讨论技术问题。这2年来。从对计算机一无所知到现在掌握windows的基本知识和操作,能独立解决各种问题。我个人还是很喜欢这个行业的,喜欢学习新技术,喜欢捣鼓计算机。擅长的话,也算不上,但也掌握了计算机的一些基本知识,学了不少语言,就是感觉对底层了解不够,需要多看看。和这些博主比,我至少是科班出身,有系统的课程可以学习,还有各种实践课,条件还是很不错的。

    二、在计算机系的学习

                  吐槽的话,我们学校就是个普普通通的二本,没有很好的学习资源,上课讲的东西很浅很浅。就拿大一的指针来说,总共讲了不到2节课。(这算是C语言的核心)。实践作业比较少,手写作业倒是一大堆,感觉没什么意义。学软件需要多实践,多上机。每周一次上机,之后就没有什么实践作业。期末课程设计也有很多人蒙混过去,百度的代码也能过(PS:要抄袭也去Github溜达溜达嘛)。我所想象的大学应该是:理论课可以少点,很多东西可以让学生去自学,培养学生的自学能力,毕竟以后去了公司没人会教你,但是IT行业是不能停止学习的。一旦你停止学习,你就随时有被辞退的危险,或是只能做个码农,平庸地生活着(这和搬砖差不多)。老师应该多布置些实践作业,让学生多上机操作,培养学生的编程能力。国内的老师教软件基本都是照本宣科,不能脱离教材去创新,多实践。可以模仿国外的老师,让学生分组做项目,学一个知识点解决一个问题,期末的成绩加上项目成绩,这才是真正的计算机系学生的能力,卷面成绩并不能说明一切。国内老师照本宣科,造就了很多高分低能的学生。虽然卷面分数高,但是一写代码就卡壳了,没有书本就不会写了,更别说解决问题了。至于说为什么国内大学不能像国外大学那样,这应该是中国教育的通病,从小学到大学都是这样。中国的家长更加看重学生的分数,而不是实践能力。他们把分数看得比什么都重要,以助于学校也用考试来衡量一个学生的能力。

        要说写了多少代码,我还真没算过。除了学校的课程设计,平时也会写一些小程序,算起来也有个4k行左右吧。做过比较复杂的系统应该就是一个公交查询系统(确实如此,不是抄袭其他人的),对于有向图了解得更加透彻了。因为大一时学得有点迷糊,一直围着C转,也不会自己去网上找项目做。大二下期才开始接触java。所以准备这学期搭建ssm框架,做个项目练练手。

         综上所述;国内老师缺少创新,只会照本宣科,很少结合实践。(并不是针对我们学校的老师,说的是整个中国的现状)。对于培训机构,我是有想法的。现在国内培训机构丛生,什么北大青鸟、传智、达内、尚硅谷等培训机构一大堆,学生往往培训个半年基本就可以上岗了。他们还让学生伪造2年经验,然后用各种面试题一包装,更有甚者还将学历造假,企图骗过面试官。在群里经常看见这样的人,真的是。。。很无语。他们就会写代码,但是自己解决问题的能力很差,遇到问题不会自己去Google,有时一个很简单的问题都在群里问,譬如下载软件去哪里下、去哪里找jar包。另外,他们缺少基础课程的学习,对算法、计算机的基本知识一无所知。有些英语也很差,很简单的报错都看不懂。总而言之,国内的培训机构把整个互联网行业玩坏了。学习知识是一个循序渐进的过程,不可能速成。而科班出身的学生系统地学习了基础课程,了解了计算机的基本知识,也掌握了基本的算法以及软件工程的一些基本知识,对英文文档的阅读能力比较强,比培训机构的学得更系统,更全面。

   三、职业规划

        说到职业规划的话,我个人想在明年开始在企业实习,将自己所学的应用到公司的实际项目中,锻炼自己的实践能力。大概的想法就是先在长沙实习,有了经验后就去沿海城市找工作。最大的野心就是去杭州Alibaba总部工作(野心是不是太大了)。工作后想开始学习大数据,慢慢转做大数据。至于36岁之后的事,还没想过。

         准备的话,目前已经学完了Java se和Java web基础知识以及spring,本学期打算学习下设计模式和算法,接着学完ssm剩余框架,自己做个简单的ssm  项目,刷刷牛客面试题和算法题,看看各种面试题,准备明年的实习。如果有时间的话,还准备学习下Linux ,毕竟很多Java服务器都部署在Linux系统上。(或许是因为它比windows安全吧)。后面还想研究下 Java 的jvm、多线程、并发。毕竟了解底层对写程序有帮助。

        我个人还是想去企业实习。不仅可以接触实际的项目,还可以较早地融入社会,了解企业的各种待遇,薪资等等,对以后就业有帮助。至于实习经验,肯定是很重要的,特别是对应届生来说。如果没有任何实习经验是很难找到工作的。但是也不要急着去企业实习。在掌握了一定的知识和有了一些项目经验后再去实习会大有裨益。

        我想说的就是这么多了。总而言之,学习软件就是要多实践,另外要培养自己的自学能力。

   

         

posted @ 2017-09-12 22:13  rm_rf  阅读(2316)  评论(9编辑  收藏  举报