开发人员

捋一捋开发人员的必备技能

对于刚开始学习软件开发的新人来说,“必备技能”往往意味着一个长长的、标有重要度的学习列表,但是过长的列表通常会导致新人不知如何开始学习,压力倍增。

本文尝试列举出最重要的几个技能,也期望通过此列表能给新人一个比较明确的学习重点和路径。

1、深入学习一门编程语言

没有掌握任何一门编程语言,就不可能成为一名编程人员。

许多程序员试图在学习之初一次学习几种编程语言,以便应对他们第一份软件开发工作的需要。虽然我认为开发人员最终会学习多种编程语言, 但建议不要在开始时这样做。 因为同时学习多种语言只会导致混乱,也会分散学习其它技能的精力。相反,我建议深入的学习一种编程语言,这样也会对使用这种语言编写代码感到非常有自信。

2、如何组织代码

捋一捋开发人员的必备技能

专家 vs 多面手:你是哪种类型的开发者?

决定在一项编程技术上成为专家是很多开发人员不愿做的事,但这对成功的职业生涯极为重要。《软技能:软件开发者生存手册》的作者 John Sonmez 如是说。

本文摘录自 John Z. Sonmez 执笔,由曼宁出版社出版的《软技能:软件开发者生存手册 | Soft Skills The software developer’s life manual》。

你有雇过律师吗?你雇律师首先做的事是什么?要是你没有雇过律师,你认为你首先应该做什么?

如果你认为需要清楚要找什么样的律师,那么你是对的。你不想仅是雇个律师,你想要雇一个能处理你遇到麻烦的律师。律师有专门知识,他们通常一开始就以专业知识让别人知晓,比如刑事律师、交通事故律师、不动产律师等。

你不想要一位离婚律师代表你处理税务或不动产问题,所以专业化很重要。律师不是从律师院校出来,然后才决定要成为一名“律师”而已。但是很不幸,大多数软件开发者谈到他们的职业,就是这样子的。

专业化很重要

开发不改bug?给你支个招

在测试过程中,不免会遇到开发人员因为一些原因不想修改个别bug的情况。那一般遇到这种问题时,我们该如何去推进开发修改bug呢?

我们先来分析下到底会有哪些原因会导致开发不修改bug

1、 开发与测试对bug的定义理解不一致产生的问题,例如暴力操作、非常规操作出现的问题、问题路径深、服务器返回的数据不规范、竞品同样有的问题、个别机型问题等情况,开发可能会不愿意修改。

2、 工作流程方面的原因,例如开发有更高优先级的任务没有时间修改、上线时间紧急,来不及修改、开发不关注名下的bug、开发认为目前的实现比产品需求好等情况

3、 当然还有个人能力原因,例如找不到好的解决方案、影响范围大、找不到bug原因,没有解决方案、技术实现难,不知道怎么修改等等原因

4、 另外还有一些不可抗力的客观因素,例如系统问题,第三方应用问题等等

我的观点

开发不修改bug有这么多原因,但我们测试推动开发修改bug却只有一个原因~那就是责任。关子少卖,对策拿来~通过一个案例帮你分析解决方案~

小明来也~

小明测试输入法时发现,更换皮肤后,在某鹅应用中调起键盘并转屏,键盘会显示异常,无法正常使用。

找到最完美Web开发程序员的5个技巧

如果你想要找个自由开发人员协作开发项目,那么问题来了,该如何找到一个完美的开发人员呢?这是一个艰巨的任务。之所以用艰巨这个形容词,其实一点也不夸张,哪怕你有着再丰富的技术。话说,人们很容易只重视技术因素而忽略其他。即使是天才,要是不能与人合作,那么聘请他也是一个错误的决定。

本文将介绍几个可以确保你找到最完美的合作伙伴的方法。

1.看看他们的作品

可以要求看一些程序员已经完成的作品。花一些时间来研究他们的项目。指出你喜欢和不喜欢的地方。也许他们建立web应用是很快,却有一些奇特之处限制了用户密码。问问他们是什么导致他们做出这样的决定。

任何形式的软件开发,无论是web、移动app,都能找到最佳的折中方案。听听开发人员面临的各种权衡和取舍,以及他们解决问题的方法,这对你评估他们今后的表现是非常有价值的。

如果你自己本身对代码了解得不多,那么不妨挖掘一下开发人员的GitHub账户,看看他们写的代码,做过哪些项目。通过代码能让你从技术的角度确定他们是否是一个合适的选择。

什么样的代码为好代码?好代码的科学定义

你如何定义好的代码?本文通过咨询65个开发人员同一个问题从而得出了一个伪科学的答案。

首先我们相信写好代码是非常重要的。为什么呢?首先,好代码比差代码更有趣,成本更低。其次,代码好,就意味着你正在构建的产品有可能会更好。第三,也是非常关键的一点,写出好的代码是我们的职责:毕竟,我们的工作就是写代码。

方法

方法

由于此65名开发人员都是我们某个职位的应聘者,所以这意味着这些样品开发人员大多偏向于使用Java或Scala技能,并且通常有着5年及以上的工作经验。

问题统一:“怎样写好代码?你如何定义好代码?”并且在面试时由同一人(面对面或通过电话),历时约1年,从2014年1月至2015年1月,来执行此地调查。

梳理这些问题的答案之后,可以分为31个不同的类,每组至少有2个相似的答案。例如,下面这些答案通通归纳为可读一类:
可读。

人脑可阅读。

能自我解释。

人们能读懂。

很容易理解。

不用5分钟就能了解。

没有文档,你也可以阅读并理解。

编码人员,程序员,开发人员和软件工程师之间的差异

我们都听说过这些职位,但是你知道编码员,程序员,开发人员或软件工程师之间的确切区别吗?许多人声称,这种差异取决于他们的教育和他们在承运人中取得的成就。这可能是事实,但有些人声称你正在与之合作的公司决定你是程序员还是编码员。但是这使得它仅仅是一个职位的差异,而每个学期都有巨大的环境。

我们都听说过编码员,程序员,开发人员和软件工程师这些职位,但是你知道他们之间确切的区别吗?许多人声称,这种差异取决于他们受的教育和个人取得的成就,也有人认为是他们就职的公司决定你是程序员还是编码员。这不仅仅是一个职位的差异,他们之间甚至有着不可逾越的鸿沟。

让我们来看看编码员,程序员,开发人员和软件工程师之间的确切区别是什么?

1.编码员

编码员是负责编写代码并且能够使得程序正常运行的人员。编码员有能力编写代码来制作软件,他们不仅能够编写应用程序,还可以制作视频游戏和其他许多东西。但是编码员不能够单独开发软件,在制作软件的时候需要一定的帮助,例如设计和测试方面。编码主要就是负责编写代码,可能称他们为编码员,会有些冒犯的意思。

2.程序员

关于游戏的开发流程

游戏开发要经历很长的时间,小则半年,长则两三年的都有,在整个的过程中,需要非常多的人去分工配合的,比如一款大型的MMORPG,可能要花两三年的时间开发,开发人员有2到3百人,耗资2000多万。所以在这个过程中,有非常密切和复杂的合作关系,而且每一个环节都决定了后面的开发流程能不能顺利,所以了解游戏的开发流程可以让我们对游戏开发有一个总体的认识,认识了这个整体之后,这样每一个环节哪里出问题基本上都能预测到,就是有了一个全局观。另外一方面对于想进入游戏行业的新人可以找到自己的定位,自己适合里面的哪些工作,还是非常有好处的,游戏开发既是一门技术也是一门艺术,有非常多的人在里面去工作和配合,有的是创意类的人,有的是管理类的人,有的是技术类的人,这些人都适合去担任不同的工作。

游戏开发的流程可以归纳为两次固化

关于游戏的开发流程

不再需要传统运营了

译者注:为了更好地理解本文,请先了解 DevOps 的意义。

大约 10 年前,Amazon 的首席技术官(CTO) Werner Vogels 出色地揭示了公司怎样从传统的 web 运营主导部门转变为由开发人员部署自己的代码。

“传统模式是,一堵墙隔开了开发和运营,你把软件带到这里,扔到墙那边,然后就忘记了。不是在 Amazon。你开发软件,你运行软件,”他说。

现在,对于任何地方的 web 开发团队,他的话是仍然有道理。10 年前难以想象的一个工作流,现在正成为现代团队的标准,这是由于今天有着强大的、可靠的、以及易于使用的云基础设施服务。因为有了新的工具,比如 Amazon Web Service、Heroku、DigitalOcean、GitHub、托管的持续集成(CI)等,开发人员现在可以编写、测试、部署和运营大规模 web 应用程序,而不用和传统运营团队或系统管理打交道。

这是一片新领域,整个角色正在退出,开发人员需要快速获取新的技能组合来适应。和某个行业的任何巨大变化一样,那些无法适应的人将被抛在后面。

同步内容
--电子创新网--
粤ICP备12070055号