给有从事软件研发想法的在校大学生的一丝建议

版权声明:原创不易,转载请注明出处! https://blog.csdn.net/iamonlyme/article/details/83649531

        最近曾经大学的老师希望我们这些已经毕业多年的“过来人”为在校的学弟学妹提一些建议或推荐一些书籍。恰好也参加了公司今年的校园招聘,有一些感触,考虑到本人文字水平有限,遂结合网络资料整理一篇建议。所谓建议,只是建议,认可的人吸收有益的东西为自己所用,不认可人一笑而过。

        首先声明的是,本人既不是技术牛人,也不是管理达人,更非成功人士,只是一个工作年限长一些的IT工程师。

         参见多个城市多个大学的校园招聘,收到简历不少。从软件开发工程师岗位来看,即使来自x11的院校的学生,很多的水平都处于一个极低的位置,主要表现在——无想法、基础较差、无动手能力。所以作为过来人,并结合企业需求来看,给各位在校小伙伴们一些建议。

一、扩大视野,锻炼自身综合能力

        这一点比较虚,但是很实在,理解的人能够理解,不理解的人很难理解。但是想说的是,这一点很重要很重要,看悟性了。在这个方面有两点建议

1. 多读书,多思考,多总结

        关于这一点,不想多说,网上有很多文章,都是比较正确的。这里只说一点。

        书是指课外读物(但非快餐书籍,可以是史书、传记、哲学、管理学、美学、心理学等等),想读什么就读什么。可以形成自己的知识体系和世界观、方法论、思考方式,成为一个有想法的大学生。

        大学生毕业了,更多的时间会花在专业技能和专业书籍上。

2. 建议参加一些社团和实践活动

        此处的建议是参加“一些”,而非很多。

        只要是有意义的活动,都会有合作、有分工,有沟通,有交流表达等等。锻炼自己的这些能力是非常重要非常重要。

        比如:做到能把事情说清楚,把问题描述清楚。

注:在中学时代,天天为高考努力,很少与人打交道;在大学四年中,经常泡图书馆,走马观花地地看过哲学、史学、心理学、美学等、也看过演义、武侠等。实践方面,做过家教,兼职网站推广,做过班干。对于自己而言,虽然没有做的很好,但也有所收获——有了自己的想法,也提升了沟通能力、说话的能力等(虽然只是比自己的以前好了一些),做总比不做强。

二、软件技能方面

1. 基础要扎实

     也是网传李开复建议中“练内功”,内功包括:C/C++语言,数据结构、算法、操作系统原理、计算机体系结构、计算机网络等。但对于“Donald Knuth的Art of Computer Programmin”,能够解决其中大部分题目的学生,可以称之为优秀了,绝大部分人事很难做到。却是可以考虑将教科书中小程序全部实际练习一遍

     基础是任何公司的技术面试中必问的内容,基础是“必杀项”。基础不好,再高深的专业书籍也只是建在沙滩的高楼。

     重要的说三遍:基础,基础,基础

     相关的基础技能

linux基础 《鸟哥的私房菜》或
《linux命令行与shell脚本编程大全》
软件技术人员加分项,shell是必备项
C语言 教科书或者
Brian W. Kernighan<C程序设计语言>
基础,很重要,如果学不好C语言,那么什么高级语言都学不好。
数据结构 教科书<程序设计与算法语言>或咨询互联网 软件技术人员的必会必考
操作系统 教科书或咨询互联网 了解其基本知识和概念
网络通信 《计算机网络》或《Windows网络编程》或《Unix环境高级编程》 了解其基本知识和概念
Python 《python学习手册》或咨询互联网 目前很火很热,并且可以快速上手
JAVA 请咨询互联网  

2. 动手编程能力和项目能力

       软件技术人员,编程能力是一项很重要的能力,技术面试官考察两项:基础与动手编程能力?动手能力代表着能干活。

       练习动手能力的方法:看别人优秀的代码,自己写代码,debug,写代码,debug。

       练习动手能力最主要或者最让面试官喜爱的方法——参加项目

       (1)  兼职软件开发人员或者软件开发实习

        如李开复所说:有策略地“打工”。在不影响学业的前提下,寻找真正有意义的暑期工作或兼职。去找一个重视技术的公司,在一个好的“老板”指导下完成真正会被用户使用的程序。不要急于去一个要你做“头”而独挡一面的地方,因为向别人学习,是你的目的。打工和找工作一样,“不要只看待遇和职衔,要挑一个你能够学习的环境,一个愿意培养员工的企业,一个重视你的专业的公司,最后,要挑一个好老板。

       (2)  加入开源项目或者使用开源项目练习

           实在很难找到兼职或者实习机会,可以学习使用github,其中有很多开源项目、涉及python\JAVA\C\C++,涉及ABCD(AI,Block,Cloud,Data),难易均有,找一个练手,可以作为课程设计或者毕设。

    参考:《参与开源项目对大学生技术与职业发展有什么好处

                《为什么你应该参与到开源项目中

3. 常用工具

     多看看GIT,比SVN更常用。更多也可以考虑UML,VISIO、Jinkens等有助于研发效率,质量管理、设计能力的工具。

GIT 《Git学习指南》或咨询互联网 软件开发必备

4. 多看技术论坛、多总结

    学生大都会经常访问技术论坛,看看技术贴,可以扩大视野,如果能够分析总结,收获会更大。

   通过上面的实践后,可以多输出自己的博客。比如csdn,cnblog等

三、关于学习

      成绩可能是加分项,学分绩点超过3的面试官可能会更为关注,但也只是“可能”。

      记住一点,尽量不要挂科,切忌降级或不能按时毕业,不能按时毕业会导致简历筛选都无法通过。

      在没有更有意义实践的情况下,还是要把学业做好,毕竟考研还是一条出路。

四、其他方面

     就不在班门弄斧了。

五、参考

[1] https://blog.csdn.net/sanlei1616/article/details/49965861

[2] https://blog.csdn.net/ztguang/article/details/51011355

[3] http://blog.51cto.com/zhaoshilei/1894342

猜你喜欢

转载自blog.csdn.net/iamonlyme/article/details/83649531
今日推荐