编程开发技能梳理

编程开发本质是运用程序和计算机来解决现实中的各种问题,因此,编程开发人员的才智发挥载体是计算机或者说计算设备,直接武器是程序。程序员用来进行编程开发所需要的技能,归结起来主要如下:

1.  理解计算模型和框架: 顺序计算、并发计算 (并行计算、分布式计算); 理解应用所基于的计算模型和框架是非常重要的。传统应用通常基于顺序计算,而现代商业应用,比如云计算,通常基于分布式计算架构; 大规模的科学计算应用, 比如基因序列计算, 则基于并行计算。

2.  高效的数据处理:熟悉常用数据结构和算法设计,能够针对计算目标设计高效的数据结构和算法并实现之, 满足性能需求。

3.  大容量的数据管理与检索:至少精通一种主流数据库, 从数据处理中分离出的一种专门针对大量应用数据实时检索要求的技术。

4.  系统底层机制: 进程、信号、 内存、API 等, 理解相关概念及背景知识。

5.  程序的网络通信: TCP/IP socket , RPC 等, 在互联网时代, 掌握网络程序设计开发应该是必须的要求。

6.  编程语言: 面向过程、面向对象、脚本语言、函数型、浏览器语言等,最好每种类型语言掌握一种(例如,C/Java/Python/Lisp/Javascript)

7.  正则表达式:灵活地操作文本和字符串

8.  代码阅读、改进与管理:  参见 《代码阅读:开源视角》一书。

9.  错误处理技术: 异常机制、 返回值与全局变量、 直接退出或重续 等; 建造稳固可靠的应用的必要基础。

10.  网络搜索:  寻求有益资源、远程协作伙伴及有效解答。

11.  程序质量: 保证程序的时间性能、空间性能、安全性、可靠性、可用性、 可扩展性、可读性、可维护性、可移植性、用户体验。

12.  设计模式:  解决实际的设计开发问题, 在现有项目的基础上扩展功能模块时应该会经常用到。

13.  设计原则与应用架构:  用于子系统的设计, 需要项目经验积累

14.  处理大数据量:  通常基于分治策略, 比如分布式计算架构。

15.  选用可靠的工具及软件库、包:   首先必须确定具体需求,深入了解各种工具、技术与框架及其优劣,然后根据需求选择最适合的那种。

16.  诊断和修复计算机或程序的故障:  上网搜索已有解决方案;根据原理进行推断和验证猜想; 排查缩小范围; 对比分析; 打印信息。

18.  除了编程的其它使用计算机解决问题的技术和方法: 比如使用现有的软件。

针对每个问题,将自己掌握的技术和方法整理出来,并使用示例来说明,基本上就可以了解自己的技术水平了,同时亦可备日后用。积微知著。人们常说的那些“大技能”,其实可以分解为大量的微技能,而积累越多的微技能,在处理问题时便有了越多的选择和思考余地。

时间: 2024-11-05 12:26:51

编程开发技能梳理的相关文章

软件开发之技能梳理

编程开发本质是运用程序和计算机来解决现实中的各种问题,因此,编程开发人员的才智发挥载体是计算机或者说计算设备,直接武器是程序.程序员用来进行编程开发所需要的技能,归结起来主要如下: 1.  理解计算模型和框架: 顺序计算.并发计算 (并行计算.分布式计算): 理解应用所基于的计算模型和框架是非常重要的.传统应用通常基于顺序计算,而现代商业应用,比如云计算,通常基于分布式计算架构: 大规模的科学计算应用, 比如基因序列计算, 则基于并行计算. 2.  高效的数据处理:熟悉常用数据结构和算法设计,能

自学编程开发,从入门到放弃是种什么体验

文/上嵌科技(简书作者) 原文链接:http://www.jianshu.com/p/537ef1046cec 著作权归作者所有,转载请联系作者获得授权,并标注"简书作者". 最近有几本书很火,看看你肯定会有感觉. 几本心痛的书 C/C++,Java这些开发语言,在大学计算机专业.理工类专业大多学习,Android,iOS也有不少同学买书或下载视频学习,但是最后都是没有结果. 一方面程序员成为最有"钱途"岗位,需求量见涨,另一方面很多计算机专业,理工类专业的同学,在

程序员如何持续提升自己的开发技能

这个世界唯一不变的就是变化,IT圈子不外如是.计算机领域一直在改变,从基础框架到计算设备,还有几乎每天都涌现出的新技术.因此,作为一名程序开发人员,我们更要通过不断的学习来提高自己的技能. 如何选择读物 程序员需要的技能改变是如此之快,尤其是那些热点的/快速演变的领域,找到这些领域合适的阅读材料有时不那么容易.几点建议: 利用好关注该类技术的那些网站.比如,在我学习iOS的过程中,我一直关注 RayWenderlish.com 和iOSDeveloperTips.com,它们都有定期较新的内容发

关于编程开发的最小系统学习法

文/向右奔跑(简书作者) 原文链接:http://www.jianshu.com/p/c340c2d3c152 著作权归作者所有,转载请联系作者获得授权,并标注"简书作者". 今天中午与成长会shawn童靴见面,他在陆金所做Java开发,自学Python一年多了,能坚持下来很不容易.现在已经具备了一定的生产力. 不过,他说没有用py做过什么项目.我说,刚好有个想法,一个月前也试了试,不知道是不是感兴趣,用Java和py都可以做.最好是py,需要js熟悉一些. 我说,我想追踪一下现在成长

做个犀利的码农:如何持续培养/更新自己的开发技能

我们的圈子,改变是生存的必备要素之一.计算机领域一直在改变,从基础框架到计算设备,还有几乎每天都涌现出的新技术,这些要求我们必须持续学习新东西.这里将介绍一些技巧,以使你可以在这从未停止的学习之旅更加轻松. 如何选择读物 程序员需要的技能改变是如此之快,尤其是那些热点的/快速演变的领域,比如本博关注的那些领域,还有移动开发等.找到这些领域合适的阅读材料有时不那么容易.两点建议: 1.利用好关注该类技术的那些网站.比如,在我学习iOS的过程中,我一直关注 RayWenderlish.com 和 i

编程开发必读书籍:每个Web开发人员都应该阅读的10本书[图]

编程开发必读书籍:每个Web开发人员都应该阅读的10本书[图]:当开发人员问我他们应该阅读哪些书籍的时候,我通常都是告诉他们:让你读的下去的书.许多开发人员会阅读其他人的代码,实际上你提升自己最好的途径就是阅读,你的读书效率越高,那么你在日常工作中的效率也会越高.本文我们将来讨论:每个Web开发人员都应该阅读的10本书:1.<与爱因斯坦月球漫步>为什么推荐一本记忆力训练相关的书籍呢?因为现在的绝大多数开发人员都没有想过要提高自己的记忆能力,结果全部依赖于移动设备,实际上,现如今的程序员很难在脱

少年学习java等编程开发课程是一种愚蠢的时尚[图]

少年学习java等编程开发课程是一种愚蠢的时尚[图]:这篇文章仅仅代表一种不同的发声,不代表大部分人的意见,让孩子坐在电脑前面敲打键盘,掌握他们父母梦寐以求的技能.God,没有什么比教会我们的孩子写编码,这种想法更让人向往了."未来的大多数工作都与写编码有关系"英国邦创新.科学.经济发展部部长Navdeep Bains向大家展示了他们最近拍摄的一张照片:房间里面坐满了正在写代码的少年儿童.Navdeep Bains宣布了一项耗资5000万美元的计划,向年轻人教授如何编程. "

大数据好学习吗?如何快速掌握大数据开发技能

大数据好学习吗?如何快速掌握大数据开发技能?经常被学员问到:大数据好学吗?想学大数据怕学不会等问题.我想说的是,大数据在当下是个非常热门的话题,大数据在深刻的影响着这个世界,在促进传统行业升级改造.引领新兴产业和新兴应用蓬勃发展.提升社会运行和管理效率等方面,大数据正引发新一轮革命.大数据是时代潮流,如果学一下就会了,那大数据行业现在恐怕已经被挤破门槛了吧,想学大数据还是得下苦功夫才行. 想学大数据,先把这几个技能学会再说: Apache Hive2.1 Hive是建立在Hadoop上的数据仓库

掌握Spark机器学习库 大数据开发技能更进一步 高清无密

掌握Spark机器学习库 大数据开发技能更进一步 "大数据时代"已经不是一个新鲜词汇了,随着技术的商业化推广,越来越多的大数据技术已经进入人们的生活.与此同时,大数据技术的相关岗位需求也越来越多,更多的同学希望向大数据方向转型.本课程主要讲解Spark机器学习库,侧重实践的讲解,同时也以浅显易懂的方式介绍机器学习算法的内在原理.学习本课程,可以为想要转型大数据工程师或是入行大数据工作的同学提供实践指导作用.欢迎感兴趣的小伙伴们一起来学习. 第1章 初识机器学习 在本章中将带领大家概要了