程序员能力

程序员如何高效提升保持学习动力?

為{幸葍}努か 提交于 2020-02-26 01:53:16
相信对于很多程序员来说,最初接触编程的初衷还是来源于兴趣。爱因斯坦有句名言:“兴趣是最好的老师。”古人亦云:“知之者不如好之者,好知者不如乐之者。” 所以兴趣真的很重要,兴趣是你成为程序员的一个内在驱动力,这种力量很神奇,可化不可能成可能,可化腐朽为神奇。不断的、创造性的给自己一些个好奇心,欲望无限,你的动力就无限。 无论是不是计算机专业的科班出身,想成为程序员一定要有一份兴趣,一份对未来日新月异技术的兴趣,一份主动探究知识奥秘的兴趣。这对激发你的学习兴趣对提提升你程序员素质至关重要且十分有效。 那么对于那些梦想成为程序员的新手,或是已经进入程序员行列的初级程序员来说,该如何学习练习才能保持对编程长久的兴趣呢? 如何保持学习的动力呢? 01被工作倒逼 这是很常见的一种情况,工作中有搞不定的事情,通过学习来掌握;这种方式倒逼自己学习,压力最大但是效果最好,所以如果领导分配给你一些看起来不可能完成的任务,不要当做“看你不顺眼”,而是“最好的挑战”。 02追求更高收入 谈钱难免会让人觉得俗气,但是相信大多数人工作都是一样“俗气”;但是这种“俗气”小渡觉得并没有什么错,提高自己的挣钱能力,让自己和家人能生活的更好,想一想坚持学习一年,明年说不定涨薪30%,是不是就有动力了呢! 03监督与督促 长时间坚持学习确实很难坚持,比如坚持一年;不像学生时代,还有老师和家长的督促

构建之法阅读笔记02

家住魔仙堡 提交于 2020-02-24 16:13:10
单元测试由最熟悉代码的人来写。 结果应该重复一致、要快,且覆盖所有路径 个人开发流程: 计划:估计任务需要花费多长时间 开发: 需求分析,生成文档,设计复审,代码规范,具体设计,具体编码,代码复审,测试 记录用时、 测试报告 计算工作量 事后总结 提出过程改进计划 时间顺序:从hello world 开始 数值计算->字符串运算->实用工具床架一个Windows程序 工作的细分 个人在团队中也有着独立的流程 高级工程师 数据的记录对一个程序员来说很重要,记录了一个软件工程师的技术和能力 成长的方面:软件开发的相关知识,积累领域知识、经验、对通用的软件设计思想和软件工程设计思想,要提升职业技能,区别于技术技能,实际成果。。 编程速度的稳定性,是很重要的一个因素,对于一个程序员来说。 来源: https://www.cnblogs.com/Megau/p/5342909.html

如何招到一个靠谱的程序员

戏子无情 提交于 2020-02-23 03:34:00
如何招到一个靠谱的程序员 作者: 技匠 来源: 简书 发布时间: 2018-08-25 16:11 阅读: 32062 次 推荐: 59 原文链接 [收藏]   我的上一份工作是在一家世界500强金融集团担任架构师,当时,公司的IT团队规模将近2000人。与其他IT公司一样,程序员的流动性也比较高,而作为架构师,我需要为所在的部门招聘各个层级的开发人员,当然也包括外包。在这长达5年时间里,我面试了大约400名程序员。我并没有参加过任何人力资源方面的培训,也没有正式研究过如何面试程序员,但是我通过对大量程序员的面试,以及录用后效果的观察,得出了一套自己的面试策略,去找到那些真正靠谱的程序员。   1. 简历看人   阅读简历永远是面试的第一步。好的简历一定是 正确、清晰并且能够体现候选人最有价值一面的 。我首先会过滤掉那些包含错别字,文句不通或没有逻辑性的简历,因为 如果一个程序员连自己的简历都不愿意去仔细检查并完善的话,很难想象他写出来的代码质量会如何 。接着,我便会重点阅读简历中的项目经验部分,在这里我能够看到面试者的开发经验,技能栈,并且判断他们熟悉的技术框架、工具是否与目前公司要求相匹配。   这里,我还会特别关注面试者是如何来写这部分项目经验的,你需要用尽可能简练的文字来描述项目的背景,你在项目中承担的角色、参与项目的时长,你用到的技术、以及你在项目中的亮点等信息。

偶然性不可重现BUG怎么处理?(转帖)

若如初见. 提交于 2020-02-20 23:08:47
一、一定要提交!! 1. 记得有这么个缺陷,以后再遇到的时候可能就会了解发生的原因。 2. 尽力去查找出错的原因,比如有什么特别的操作,或者一些操作环境等。 3. 程序员对程序比测试人员熟悉的多,也许你提交了,即使无法重新,程序员也会了解问题所在。 4. 无法重现的问题再次出现后,可以直接叫程序员来看看问题。 5. 对于测试人员来说,没有操作错误这条.既然遇到,就是问题。即使真的操作错了,也要推到程序员那里,既然测试人员犯错误,用户也可能会犯同样的错误。错误发生的时候,Tester最大。 二、程序不是测试人员写的,出问题也不是测试人员的原因。 至于无法重现,可能的原因很多,因为测试人员看到的只是程序的外部,无法深入程序内部,所以把责任推给测试人员是不对的。 测试人员的任务只是尽力重现问题,而不是必须重现!! 三、下次再遇到的时候,拉他们来看就可以了。 因为问题如果无论如何无法重现,程序员确实也没有什么好的解决方法。 而且此类问题即使程序员说修改了,测试员也没有好的方法去验证是不是。 : ) 四、你可以告诉程序员,测试过程是没有错误的。 测试人员只是检查程序中可能存在的问题,虽然测试人员使用一定的手段方法努力去覆盖所有的情况,但这些都是理论的推测。在实际中,可能因为人员、环境、配置等种种原因出现各种各样的问题,在测试人员这里发现问题是公司内部的事情,程序发到外面可就是公司的形象问题了

程序员,怎么就成了一碗青春饭?

不想你离开。 提交于 2020-02-19 10:55:40
青春饭,这个现象在许多行业都存在,但在程序员身上显得尤为突出,大龄程序员普遍会遭遇晋升天花板,薪酬待遇上涨乏力,在就业市场散失竞争力。在经济周期、贸易战等因素的影响下,经济增长放缓,行业泡沫破裂,资本寒冬降临,大龄程序员突然成了不受人待见的老菜帮子。 刚过去的 2019 年缩编裁员新闻不断,阵阵寒意袭人,同为程序老兵的我感受非常真切,身边不少朋友都经历了裁员风波,到底是什么原因让程序员变成了青春饭呢?探讨它不是为了贩卖焦虑,而是设法弄楚问题背后的原因,唯有这样才能消除焦虑、冷静应战,最终化解问题,否则就只能坐以待毙了。结合过往的真实经历,接下来老兵哥将跟大家来聊一聊青春饭背后的原因: 1. 行业就业人口净流入 1.1 入口流量大的原因 行业人才需求量大:相对于他行业,IT 属于朝阳产业,前后也就几十年发展史。从个人电脑的诞生开始,到互联网的普及,再到互联网+ 变革赋能各行各业,虽然中间发生过泡沫破裂,但行业基本上都处于上升期,发展需要大量的人才。尤其在云计算、大数据、区块链、人工智能和物联网等热点的推波助澜下,这些年诞生了一批巨无霸和独角兽,学校、培训机构往 IT 行业输送了大量人才,同时也催生了无数泡沫。 薪酬待遇相对较高:供不应求下 IT 行业的薪酬比其他行业高不少,水往低处流,人往高处走,高收入吸引着年轻人源源不断地加入。老兵哥当年跨专业考研加入码农大军,除了对 IT

程序员十个糟糕的行为

*爱你&永不变心* 提交于 2020-02-16 05:02:20
字号: 大 中 小 1) 情绪化的思维 如果你开始使用不同颜色的眼光来看待这个世界的话,那么你可能会成为一个很糟糕的程序员。情绪化的思维或态度很有可能会把自己变成一个怪物。相信你经常可以看到很多很糟糕的程序会使用下面的这些语句: 我的程序不可能有这种问题。 Java就是shit。 我最恨的就是使用UML做设计。 需求怎么老在变,没办干了。 受不了这些人,他们到底懂不懂啊。 …… …… 这些带着情绪化的思维和态度,不但可以让你成为一个很糟糕的程序员,甚至可以影响你的前途。因为,情绪化通常都是魔鬼,会让你做出错误的判断和决定,错误码率的判断和决定直接决定了你的人生。 2) 怀疑别人 糟糕的程序总是说:“我的代码一定是正确的,我怀疑编译器有问题”,“我这应该没有问题吧,STL库怎么这么难用啊”。我曾经见过有程序员这样使用 STL类:map<char*, char*>,当他发现这样放入字符串后却取不出来,觉得那是STL库的BUG,然后自己写了一个map!我的天啊! 某些时候,过早的下结论是一个很不好的习惯,任何事情都有其原因,只有知道了原因,你才能知道是谁的问题。一般来说,总是自己出的问题。 3) 过多关注实现,陷入问题细节 有些时候,当我们面对一个问题或是一个需求的时候,糟糕的程序员总是会马上去找一个解决方案或是实现,这是一个很不好的习惯。设计模式告诉我们,“喜欢接口,而不是实现

一位专业程序员的高级程序员考试经验谈

隐身守侯 提交于 2020-02-13 07:47:36
中专一年级的第二学期,我决定选择电脑作为我的主攻方向。最开始我选择计算机等级考试作为检验自己能力的一种手段。计算机等级考试只是一种能力的证明。它不与任何职称、待遇挂上勾。二年级的时候,我通过了全国计算机二级考试;同时这一年,我决定选择软件开发作为我今后的道路。三年级的时候,我通过了全国三级(B)。 后来我和老虎了解到国家有一个软件水平与资格考试。它由是软件行业最权威的考试,通过率极低,当时每年的通过率仅在10%左右。不知现在有没有变化。并且它的通过与职称评定相结合。也就是现在常说的以考代评。当时软件水平考试通过的级别与职称的关系是这样子的: 初级程序员 技术员 ;程序员 助理工程师;高级程序员 工程师;系统分析员 高级工程师  通过全国三级(B)以后,我们原打算再报考全国四级的。但了解到软件水平考试后,我们决定放弃全国四级,参加软件水平考试。--正是由于它极低的通过率与相关的待遇吸引了我们去挑战。 买来大纲,研究一番后,我们决定先考程序员。也就是相当于助理工程师一级。那时我们刚18岁,也不知天高地厚。买来几本参考书,一阵乱啃。然而老天呀,没有任何人给我们上过计算机课,编译原理里的那些什么形式语言/制导翻译、数据库原理中的什么模型定义/函数依赖,一开始就把我给弄得昏头转向。但这关总要挺过的。于是我把书看过一遍又一遍,书都翻烂。周六周日就到省图书馆去参考大学计算机专业的教材

编程技能的层次

 ̄綄美尐妖づ 提交于 2020-02-09 10:42:25
程序员的编程技能随着经验的积累,会逐步提高。编程技能可以分为一些层次,这些层次指的程序员设计和编写程序的能力层级。 第0层——非程序员 初学编程者,遇到问题,完全是懵懵懂懂,不知道该怎么编程去解决问题。也就是说,还是门外汉,还不能被称之为程序员。计算机在他面前还是一个神秘的黑匣子。 第1层——基础程序员 学习过一段时间的编程后,接到任务,可以编写程序完成任务。这一层次编写出来的代码,正常情况下是能够工作的,但在实际运行中,碰到一些特殊条件就会出现各类BUG。也就是说,具备了开发Demo软件的能力,但开发的软件真正交付给客户使用,恐怕会被客户骂死。 虽然程序是写好了,但到底为什么它有时能正常工作,有时又不行,程序员自己也不知道。运行中遇到了bug,或者需求改变,需要修改代码或者添加代码,很快程序就变得结构混乱,代码膨胀,bug丛生。很快,就连最初的开发者自己也不愿意接手维护这个程序了。 第2层——数据结构 经过一段时间的编程实践后,程序员会认识到【程序=数据结构+算法】这一古训的含义。他们会使用算法来解决问题。进而他们会认识到,算法本质上是依附于数据结构的,好的数据结构一旦设计出来,那么好的算法也会应运而生。 设计错误的数据结构,不可能生长出好的算法。 第3层——面向对象 再之后,程序员就会领略面向对象程序设计的强大威力。大多数现代编程语言都是支持面向对象的。但并不是说

程序员的职业发展

半城伤御伤魂 提交于 2020-02-08 20:31:43
选择公司 刚毕业时,如果你是计算机专业本科,并且进入了做互联网产品的技术团队,那你很幸运。如果没有,要么进企业,要么进外包。如果进入企业,是没什么所谓的开发团队,技术人员就你一个。所有的活都是一个人,遇到问题没有可以交流的人,而且见识比较局限。好处是工作比较轻松,任务较少,想要提升可以自学;如果你进入了外包公司,就得跟随公司领导、客户的脚步,如果公司管理制度计划好些,项目不会太乱,客服、运维、各种材料不用你管;如果没有外包不单是流水线而且是交叉的流水线,各种客户沟通、资料准备都要负责。还有承受不断的催促和无尽的加班,再加上找房租房的琐事和开支。好处是能更快速的成长,见识到更多东西。各有利弊,如果基础能力较差一般会去企业,可以充裕的时间自学;如果你心态较好,身体也比较好,而且有其他语言的编程基础,思维比较活跃可以选择外包公司。 关于求职 求职前最好清楚一下三点: 我会干什么   你的技术水平能胜任什么样的工作,可以开发什么样的项目,可以解决项目中的哪些问题。 我能干什么   你没有做过某些开发,你有足够的自信可以完成你未遇过的问题。 我想干什么   有些工作你已经轻车熟路了,没有必要重复造轮子或者每天粘贴复制。你想做些能让你能力有所提升的工作,有点挑战性,但难度跨度不是太大,一下把你打垮的那种,是你想办法就能够解决的工作。 计划很好,可是现实并非如此,很多时候我们并不清楚自己的能力

《大量编程带来的快乐和烦恼》(2010/06/20)

亡梦爱人 提交于 2020-02-06 19:58:13
程序员成长阶段面临的工作就是编程而且是大量编程。这和以往自娱自乐式的编程是完全不一样的。这个时候的编程是职业的,是和薪水以及被用户认可的软件联系在一起的。编程少了则无法深入体会到各种快乐和烦恼。 程序是程序员创造出来的产品。当然程序越多,说明程序员生产能力越强。据统计,一到三年之间,程序员一般可能要编写 5 万到 20 万行代码(包括编写后删除了的)。很多程序员都不太清楚自己从业后到底编写了多少行代码,如果真的有心统计一下,自己绝对会被吓一跳。从代码行数来说明程序的工作量还只是机械的统计方法,很多程序代码很少,但是花的时间却是很多,含金量很高。 程序员马不停蹄、加班加点编制了大量的程序,他们快乐吗?如果没有快乐,难道他们真的只是为了薪水这样不快乐的工作吗?如果有快乐,他们难道真的以乐为苦,故意喊着工作劳累以博取别人的同情吗? 以我几十年编程经历来看,编程是快乐和苦恼相互交织的一种工作,而且是一种挑战性的、超越自己的工作。对于我来说,其快乐要远大于苦恼,否则,我早就弃它而去了。 编程会给程序员带来快乐。这种快乐有时只能是意会的,是无法用言语、文字表达的。那么编程会给程序员带来什么样的快乐呢? 1、 成就感 我问过很多程序员同样的话题,“编程的最大快乐是什么?”首选的回答几乎都是“成就感”。成就感意味着自己做了一件了不起的事,做了一件非常有用的事,做了一件有价值的事