在当前以人工智能、大数据和云计算技术为代表的“ABC时代”,从事IT行业是个不错的选择,虽然当前IT行业正在进行结构性调整(裁员消息比较多),但是IT行业的基本面还是不错的,未来产业互联网的发展前景还是非常值得期待的。
IT行业经过多年的发展有很多细分岗位,其中程序员就是一个比较庞大的群体,其实不论是应用级程序员还是研发级程序员,往往都是从CRUD(增删改查)开始了解程序设计的,而CRUD也是出现频率比较高的操作,因为大部分的业务逻辑操作几乎都离不开数据库的支撑,而针对于数据库的操作无非就是增删改查。所以从CRUD开始了解程序设计,进而了解IT行业是没有问题的,也是比较常见的途径。
当然,从技术研发的角度来说,只了解CRUD是远远不够的,因为CRUD通常代表的是应用级开发,也就是完成具体功能的实现(现在不少科技公司已经把CRUD等实现过程外包给专门的公司来完成,以降低开发成本),软件研发还有一个核心的环节就是设计,设计才是软件研发的核心。
软件的设计部分包括三个核心内容,其一是结构性设计(架构设计),其二是接口(API)设计,其三是功能设计。对于技术积累比较扎实的公司来说,往往都会有平台研发能力,随着行业的不断发展来逐渐拓展平台功能,而对于一些技术积累比较薄弱的企业来说(跟规模无关),通常会采用第三方商业平台或者是开源平台(开源平台广受欢迎)。
在平台之上就是接口设计,接口的设计往往与具有的应用场景(通常以行业来划分)有一定的关系,接口设计属于平台研发的延续,是平台功能输出的主要方式。当然,一个平台可以根据场景的需要定制多套接口以满足不同的要求。举个例子,卫星定位系统就像是一个平台,而根据用途的不同,会设计出两套接口,一套是面向精读非常高的军事领域,而另一套是面向精度没那么高的民用领域。
最后是功能设计,功能设计则与具体的业务场景有密切的关系,功能设计通常是产品经理、架构师共同完成的,具体的实现则由应用级程序员来完成。通常来说,这部分的开发工作主要就是通过调用平台的接口来完成各种功能的具体实现,也就是通常所说的CRUD。
最后,如果想在软件开发的道路上走得更远,一定要从应用级开发岗位逐渐向研发级岗位发展。
偶从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,偶会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注偶,相信一定会有所收获。
如果有互联网方面的问题,或者考研方面的问题,都可以咨询偶,谢谢!