简答‘软件报’读者问

简介:
下面是一软件报的一位读者朋友写给‘软件报’编辑的信:
。。。。。。。。。。。。。。。。。(删)




感谢软件报杨编辑对我的信任,她委托我就上面这位读者朋友的提问给出一些答复。

其实,我本人尽管是一位90年代初的计算机软件专业本科毕业生,但是由于当时计算机尚处于刚刚普及,再加上本人没有确定好长远的发展方向,结果到头来也是成绩平平地毕业了。


还好,自大四始我乍开始感觉到计算机软件专业的重要性,所以自毕业至今一直没有间断对于各种软件技术的自学。但仅能说有一点心得,所以,我想就上面这位同学提到的第七个问题即“第七,编程能力不高,就业不理想,该怎么办?软件要学到什么程度以适应就业?都需要具备哪些方面的知识?(确实想提高编程能力,有些冒昧,确实很着急)
第八,研究生的编程能力与水平比本科生强在哪里,请您指教。软件编程要学到什么程度(包括深度和广度)以适应就业?硬件都有哪些技术学后可以适应就业?对于该专业就业没有门路您有哪些建议?对于初入行者您有哪些建议?IT行业做一定时间后向哪个方向转较好?”说说自己的一些看法。

    尽管现在计算机系的同学条件大多比较好了,听说基本是人手一台电脑,但是要想全面深入地掌握到本科四年所学的所有计算机专业知识基本是不可能的。
    还好,有了自己的电脑或者充分利用学校开放的机房,可以心情地巩固和钻研学校开设的课程。这无论是对于以后的考研或是直接走上就业岗位都是极有好处的(比起我们当时的条件可以说是天地之别)。
    对于立志于在软件行业有大的发展的同学来说,大一时的英语和数学课是非常重要的。数学且不必说,但说英语吧。如果连四级英语都过不了,这样的人基本上不适合做软件开发,因为无论你是使用什么工具开发软件,在攻关问题时一般都会搜索国外网站往往才最终得到有关启示。我在这一方面可谓受益非浅,相信绝大多数的程序员也有同样的 认可。
  其次,学微机原理时的汇编语言也是比较重要的。记得《加密与解密》(段钢 编著)一书中说过,任何一位称职的程序员,了解一定的反编译技术是非常有必要的。当时,在WINDOWS平台上做开发的话,还需要结合WIN32汇编,再学习一下。但这些内容在大学时是不可能一下学到手的。如果能够学到手的话,你很可能是只精通这种汇编开发(因时间有限),但即使如此,你也非常成功了。因为要精通WIN32汇编开发,要涉及到WINDOWS底层的许多内容,绝对不只是一个汇编所能概括的。

大二时的数据结构最为重要,这也许是许多计算机系学生考研必考内容的主要原因。做软件开发,没有一定的算法思想和基本的数据结构概念是难以想像的。但这门科乍看起来简单,其实学起来绝对不那么容易。我们当时学习的是清华严蔚敏编写的,还附有一本练习册,这是一套宝书。前几年到书店时就发现已经有了新的C++版本,那更好了。如果能够对C++语言有较深入的了解,那么,这样的同学在将来的就业方面将大有发展前途。

  对于以后的编译原理、操作系统、算法分析与程序设计以及软件工程等课程都要尽量下功夫学习,尽全力充分利用手头的电脑。可以想像,如果能够在大学期间能够做出一两款小型软件的同学在将来的软件业生涯中肯定是会大有作为的。因为一款软件的研制,自始至终,会涉及到方方页面的知识,不是一门课程所能概括的。

    软件专业有一个我认为是最大的特点,就是它的自学特征。只有树立和培养自己强烈的自学意识和自学能力,才能适合将来做软件开发。而这,绝对不是大学中的四年学校教育所能简单实现的。一句说,大学四年主要学习理论,如果充分利用自己的电脑深入掌握一至两门语言(主要是一门,最好是做一二款中小型软件),这样的毕业生是公司的“抢手货”,何愁没有就业门路?!

    另外,看了杨编辑给我的读者信,我有些疑惑:这位同学提到了那么多的问题,是否也与我当初那样’想得很多而真正做到的极少‘?这样的话是比较危险的。

   总之,我有一句真实的教训或小经验奉告这位同学:尽量弄一台属于自己的电脑,深入学习一门语言,可以是汇编,C或C++,VB,或JAVA,甚至是你自学的PHP/RUBY,并努力试着做出一到两个软件。这样的话,你的大学已经可以成功毕业了。等将来还是深入学习和使用这一语言工具,须知:万事万理都是一通百通的。等你达到一定火候,自会感觉到其他任何工具也不过尔尔了。

  学习软件专业是非常艰苦的,加班加点是经常便饭,但是等学到一点深度,你也会乐在其中的。你的所有梦想都会一步步实现。说到此,想起当时我们系共有70名同学,但是至今还在做软件的有几人?也不过是7-8个人罢了。

  就业难吗?说难也难,说不难也没有什么难的。尽管现在大学生数量上多了,但是质量方面未必就是想像的那么多。能够在大二前后确立好自己的发展方向并执着地走下去的同学,这样的人怎么会没有发展前途呢?

  因为实在没有太多的时间,请这位同学原谅给你上述一个草草的回答。如果还有问题,可以在这篇文章的后面继续提出,我尽量会与您共同讨论的。

  最后,祝这位同学学有所成,一步步走向成功!

                                     (山东潍坊)畜牧兽医职业学院  朱先忠
















本文转自朱先忠老师51CTO博客,原文链接: http://blog.51cto.com/zhuxianzhong/71391,如需转载请自行联系原作者



相关文章
|
Linux
finalshell编码问题
finalshell编码问题
171 0
|
Android开发 数据格式 XML
Android学习之保存用户登录信息
版权声明:本文为博主原创文章,转载请注明出处http://blog.csdn.net/u013132758。 https://blog.csdn.net/u013132758/article/details/50206887 ...
1907 0
|
11月前
|
Java
Java关键字 —— super 详细解释!一看就懂 有代码实例运行!
文章详细解释了Java关键字`super`的用途,包括访问父类的成员变量、调用父类的构造方法和方法,并提供了相应的代码实例。
779 5
Java关键字 —— super 详细解释!一看就懂 有代码实例运行!
|
Ubuntu
ubuntu 换源 阿里源
ubuntu 换源 阿里源
1652 0
|
10月前
|
机器学习/深度学习 传感器 人工智能
智慧无人机AI算法方案
智慧无人机AI算法方案通过集成先进的AI技术和多传感器融合,实现了无人机的自主飞行、智能避障、高效数据处理及多机协同作业,显著提升了无人机在复杂环境下的作业能力和安全性。该方案广泛应用于航拍测绘、巡检监测、应急救援和物流配送等领域,能够有效降低人工成本,提高任务执行效率和数据处理速度。
611 2
智慧无人机AI算法方案
|
11月前
|
传感器 物联网 网络虚拟化
物联网卡怎么取消区域限制
物联网卡(IoT SIM卡)通常用于连接物联网设备,如智能城市设备、工业传感器、车载设备等,以实现数据的远程传输和设备的远程管理。物联网卡通常会有区域限制,即只能在特定的地区或国家内使用。取消物联网卡的区域限制并不是一个直接的操作,因为这通常取决于服务提供商的政策和合同条款。不过,以下是一些可能的步骤和建议,可以尝试来解除或绕过这些限制:
|
机器学习/深度学习 API 异构计算
7.1.3.2、使用飞桨实现基于LSTM的情感分析模型的网络定义
该文章详细介绍了如何使用飞桨框架实现基于LSTM的情感分析模型,包括网络定义、模型训练、评估和预测的完整流程,并提供了相应的代码实现。
|
网络协议 Linux 网络安全
Linux命令hostnamectl:掌握系统主机信息的利器
`hostnamectl`是Linux系统管理的关键工具,用于查看和设置主机名、内核信息等。它集成在`systemd`中,通过修改配置文件交互。命令特点包括综合显示多种信息、简单语法和设置功能。例如,`hostnamectl status`显示系统详情,`sudo hostnamectl set-hostname NEWHOSTNAME`用于更改主机名。使用时注意权限、备份配置、更新网络和重启相关服务,避免频繁更改。
拥抱不确定性:在技术世界中平衡创新与稳定性
【4月更文挑战第8天】 在快速迭代的技术领域,创新与稳定性之间的拉锯战不断上演。本文探讨了如何在追求前沿技术的同时维持系统的稳定性和可靠性。通过分析技术创新的风险与回报,提出一种平衡策略,旨在帮助技术决策者在不断变化的环境中找到合适的发展路径。
247 0