学习软件开发,如何规划自己的人生?

学习软件开发,.NET方向,现在仅仅是初级阶段,想问下过来人,如何规划自己的人生道路。另外,我不想在五十多岁之前就失业,呵呵~

1、掌握某一技术的好方法就是去研读它的源代码,不断抽象出自己的东西。

2、进行浸入式学习,写一个有效的程序或项目出来,考核自己能否保质保量保进度完成。

3、要确立好自己的发展方向,拟定一个建设性的计划。从需求出发,融会贯通,随机应变。

4、闻道有先后,术业有专攻,要有自己的技术专长。

5、人工智能、数据挖掘技术也将成为现代软件工程师的核心竞争力。未来的产品将包括:硬件、软件、智件。

6、平常把握软件开发的核心技术和原理和加强实践,日后就很容易学习新技术与其他技巧。

7、编程也带有一种‘组合’艺术,用各种适合的东西一起开发出有效的软件,用组合代替继承。学习不同的编程方式(函数式、声明式、动态式)拓展思维。开发语言只是一种工具,通常应该选择恰当的一种(甚至是几种)语言工具去更好地完成开发工作。

8、分而治之,合而作之,专而破之。"Linux内核的创始人Linus Torvalds:在庞大的项目中,人们对不是自己开发的模块并不了解,能快速理解其他模块中函数的确切含义才能提高开发效率" --(类似于敏捷开发中的 结对编程,达到了解整个项目的目的,提高开发效率)。同时,程序员不要沉迷一些短暂的技术花式潮流,而忽略人际关系的成长以及核心竞争力的培养。

9、并行计算是提升运算效率,经过多年的发展,我国在并行算法的研究上也取得了显著进展,并行计算的应用已遍布天气预报、石油勘探、航空航天、核能利用、生物工程等领域,理论研究与应用普及均取得了很大发展。

10、做系统软件开发的时候,重要的是真正理解系统的运作方式和流程,那些漂亮的抽象手法和高级特性是次要的。若一旦涉及到面向对象编程的细节很多问题就开始出现。比如,对象由谁创建,谁管理,谁删除(对象模型:做什么?何时做?对谁做?);接口中应该有哪些方法,方法应该放到基类实现还是派生类;为什么接口应该有这些方法而不是那些。针对接口编程,使程序更普遍。

11、尽量参加多一点开源项目的开发、与朋友共同研制一些产品。

12、采用无所不用其极的方式进行单元测试,今早捕捉错误。用测试去驱动设计的改进。

13、与时俱进,举个例子:吸取MFC框架管理、面向对象和消息驱动等精华,然后可以选择放弃MFC,
倡导.net framework、java的精神:工程性、便捷性和安全稳定性。进行软件开发的时候,并不是什么功能都需要我们去重新开始实现,也就是经典名言所说的"不需要重新发明轮子"。我们应该站在巨人的肩膀上、充分利用软件工业化带来的成果。

14、其实如果你再深入点研究C/汇编,中国的软件一定会有希望!例如:操作系统、设备驱动、图像图形引擎。

15、全球数据大爆炸 YB时代已经到来
英特尔万亿级计算研究项目总监吉姆·海德(Jim Held)日前表示,当前全球数据存储每年以 60%的速度递增。海德称:“大量的数据,快速的增长,已经使我们无法处理。”。海德说:“我们已经进入ZB时代,并且很快将迈入YB年代。” (注:1ZB = 1,000,000,000,000 (10的21次方)GB,YB=10的24次方。)海德表示,互联网服务日趋稳定,智能手机的迅速普及,以及无数企业的巨大需求,使得全球数据呈爆炸式增长。在后端,以互联网为中心的云平台有大一统的趋势,甚至会整合家电、广播电视、媒体出版、电子商务等其他行业。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-02-10
学习编程语言,首先应该从最基础的开始掌握,虽然VB相对更容易入门,但是现在绝大多数的高级编程语言都是从C语言的基础上演化而来的,建议从C语言开始学起,掌握了C语言的使用,有助于学习其他的高级编程语言,而不同的编程技术需要的编程语言又不相同,在进一步的学习时,应选择合适的技术方向。