程序员新人如何提升自己

by kevin 30. 三月 2019 18:06 >
因为工作的原因,经常接触一些程序员新人。所以也经常被提问,作为程序员新人,要如何提升自己。 可能是被问多了,这里做个整理。 首先,应该想清楚提升自己的目的是什么,这个我就不说的太直白了,大家都懂。我想说的是要朝着提升编程产出的方向来展开。 那么,增加编程产出,要么增加编程时间,要么提升编程效率。增加编程时间,这个大家都知道怎么做,那么我就说一下如何提升编程效率。 先说说要做哪些事情。 1. 更有效的使用编程工具。目前的编程工作,主要使用的工具有IDE,搜索引擎和辅助软件来完成。怎么提升IDE的使用水平就不说了;搜索引擎的话,使用google(别跟我说google访问不了),不要使用百度(不要问为什么);辅助软件那就很多了,代码生成工具,数据库设计器,抓包工具等等,就算是截图工具,记事本,也尽量选择适合自己的,有能力的话,也可以自己开发一些小工具。 2. 通过管理来提升编程效率。时间管理,这个是必须的;文档资料管理,怎么管理都可以,就是要做到方便检索;项目管理和团队管理,对于新人来说,这个好像关系不大,只要写代码的时候,想想如果你是项目管理者或者团队管理者,你希望能看到什么样的代码。 3. 技术层面的提升。这个能做的就多了,但也是最难把握的。我建议先把系统的把基础知识学习一遍。编程语言(java、php、C#、nodejs等)->数据库(索引很重要)和SQL(SQL语句的执行顺序)->js、css、html(如果是web相关开发)或者andorid、ios(如果是移动端相关开发)->网络基本原理、计算机组成原理、数据结构和算法等等(如果你不是相关专业毕业或者刚毕业就忘光了)。   再说说,具体要怎么做。 1. 安排固定的学习时间。上班前,下班后半个小时,午餐前、午餐后15分钟,一定要有固定的时间就对了。 2. 实际开发过程中,如果碰到问题,先尝试自己解决,顺便通过搜索来拓展一下相关问题的知识面。 3. 开发过程中,尝试使用新学会的技术来解决问题,比较新技术使用前后,解决方案的差异。   关键点: 1. 控制好时间。简单的做法就是,设置一个最后期限。不管是学习,解决问题,还是使用新技术,到最后期限之后,就要放弃,不要影响原来的计划。 2. 学会开口问人。你只是一个新人,没有什么不好意思开口的,而且一定比你更厉害的人可以帮助你。   举例说明: 1. 学习新的知识和技术,碰到一直没弄懂的要怎么办?->多给20%的时间,还不懂就跳过,按照原先的计划,先完整学习一遍。 2. 如何平衡研究新技术来解决问题可能会带来需要更多开发时间?->如果是新的问题,直接开口问,是否有新的技术可以解决,如果是旧的问题,多花20%的时间来设计解决方案,超过20%的时间就放弃。   要达到什么样的效果: 1. 优化一段代码,让它更快的执行。 2. 可以更少的使用复制粘贴来实现。   非常有效果的两种做法: 1. 记录自己每天工作和学习的结果。不用在意自己以后看不看,只管记。 2. 完成一个具体的开发工作后,重现查看一下自己的代码,是不是跟自己设想的一样的。   思考一个问题,编程是在做什么? 1. 电脑通过执行你的代码,可以实现一些功能。 2. 和一群人一起,在一段实际内,完成一个(有意义的或者没意义的)项目或者系统。 3. 创造一个虚拟世界。 4. 纯粹的乐趣,用于打发时间。 5. 钱。

[转载]程序员能力矩阵

by kevin 6. 九月 2015 10:42 >
计算机科学 Computer Science 软件工程 Software Engineering 程序设计 Programming 经验 Experience 学识 Knowledge 原文地址: http://sijinjoseph.com/programmer-competency-matrix/

Tags: ,