能理解也深深体会过。 假设楼主有志于软件研发,我就个人的大学经历和职业生涯提供一些建议吧, 因为我自己是java程序员出身,所以学习也以java为主线,事实上java也是最好的学习语言,因为java世界充满分享精神,拥有许多伟大的思想和伟大的开源软件。
大学的时候我就热爱编程,但是由于学校地处落后省份且老师们对最新的技术掌握也有限,所以无法接触一些最新的技术,更重要的是,当时几乎没有互联网,信息闭塞。 所以我把一半精力放在了基础课程的学习,以及做一些C的游戏。当时由于缺乏有效的指导,一个俄罗斯方块写得惨不忍赌,3000多行代码代码结构混乱。
后来出了大学后有机会接触牛人以及互联网,发现自己什么都“不懂”如饥似渴的补充营养。在2~3年内技术知识的广度、深度有了很大的提高,期间最大的提高是编码能力。
现在的大学生的条件好多了无论是互联网、受教育环境、圈子都比我们那时候大多了。因此我建议如下
1、大学里最重要的不是培养专业技能,而是培养一种好的积极向上的人生观! 这个比任何东西都来得重要。超越一切硬知识是一种绝对的软实力。这个你去看看我分享的课程走入软件人生。也许能提供一点点帮助。
2、牢牢掌握基本知识比如操作系统原理、数据结构、算法等课程这些课程在可以预见的将来都会给你提供充足的思想基础。如果是软件技术专业的应该还有一些课程,你未必要成为这些课程的专家,至少你了解这些课程介绍的思想,是打算解决什么问题的,以备后查。
3、学一门当下流行的软件框架比如spring+hibernate+strutsmysql,会写简单的例子掌握一门脚本语言php or ruby or python, 会基本的linux操作。
4、熟悉面向对象编程可以看thinking in java了解设计模式了解spring表达的ioc和aop了解什么是orm,了解什么是mvc。
5、写一个简单的应用程序如购物车之类的。深入了解http的工作原理 了解网络通讯的技术原理。以上3,4,5都是为了求职做准备。
6、学习并深入分析一个好框架的源代码,在学习源代码的时候,要不断提醒自己这源代码解决什么问题。建议struts的xwork模块junit。 看不懂没关系多去找一些源代码分析文章看。
7、多订阅优秀的博客,不要去看论坛,除非你自己发的帖子或者关注的问题,论坛里的知识点支离破碎。
8、找到一个好的师傅这条是可遇不可求的谦虚、好学、努力是大部分师傅喜欢的。据我观察大部分人受第一个职业导师影响非常大,很多人因为没有好的导师导致职业路走弯路很大。
9、6,7,8是高级话题如果这块做好了会提前走入高级技术人员的阶段。
但愿这些能提供一点点帮助。