如何选择Web应用程序软件工程师?[关闭]


10

我应该如何选择Web应用程序软件工程师?

(永久)位置是重写现有桌面客户端服务器应用程序的客户端。页面不会在服务器上动态生成,但是服务器将以所需的任何方式(例如JSON RPC调用)公开完整的API,并使静态文件可用。它将取代人们必须下载和安装的客户端,因此需要具有合理设置(例如启用JavaScript)的体面浏览器就可以了。几乎所有用例都用于台式机。搜索引擎将无法访问它(它是企业应用程序)。

我们可以将整个内容写到一个页面中,但是不必这样做。几乎所有内容都将由有问题的Web应用程序软件工程师编写。在合理范围内,确切使用的开源库还取决于工程师。

我特别希望在面试中寻求/验证哪些资格的建议,因为通常选择Web应用程序软件工程师只是一个广泛的话题。

编辑-该职位将完全是浏览器中的JavaScript编程(并负责HTML和CSS)-其他开发人员将开发服务器,但此职位可能要求使用API​​进行外观设计。没有Ruby,ASP,JSP等,因为Web服务器层非常薄,仅将调用转换为业务层API,并将它们返回为JSON(或其他形式,但JSON最简单)。


仅供参考-这不是重复programmers.stackexchange.com/questions/105114/...,这是相当具体到电子商务网站,并更具体询问的关键问题应该是:“自己有你,或者用一个或两个合作伙伴将产品推向市场?我不在乎产品是成功还是失败,但请告诉我。”
psr

我将标题固定在您链接的问题中,因为所提问题非常具体。不幸的是,这不是。从常见问题你的问题,应合理范围的。如果您能想象一整本书都能回答您的问题,那么您提出的要求就太多了。
罗伯特·哈维

如果我将其限制为这种情况,那么它通常没有用吗?
psr

您最迫切的担忧是什么?我可以概括一下,例如不要过分担心此人的简历中有TLA。根据您描述的职位,他们需要成为问题解决者,并且需要一点点通俗易懂的知识,他们不仅需要构建CRUD应用程序,还需要更多的知识。如果他们具备这些素质,他们就可以解决您遇到的技术特定问题。它还取决于这是正在进行的全职职位还是临时合同。
罗伯特·哈维

真的,如何聘请Web应用程序软件工程师。具体来说,我想在面试中寻找/测试什么资格
psr

Answers:


2

作为主要从事与遗留系统打交道的企业应用程序工作的Web开发人员,我可以就成功的秘诀提供一些建议,希望对您有所帮助。

我不确定您是在寻找临时/咨询的情况来为您提供一个应用程序,还是在寻找FTE来开发和维护这种长期服务,但是我认为这两种情况都应该适用。

  • 我主要使用Ruby。这使得快速原型制作变得非常快速和容易,并且Rails使得引导新项目变得简单。现在,我不知道您的环境如何,是否对语言,平台,工具有机构性要求,但是如果您可以聘请精通现代,灵活的语言/框架(使编写DSL来处理)的开发人员,国外API相对快速简便,这是一个加号。基本上,具有Lisp性质的任何语言在这方面都将是优越的。另外,必须雇用精通开放源码库生态系统语言的人员来处理常见抽象。
  • 如果您发现有人用来处理遗留系统并抽象化其特质,那么这种情况很少见,您应该进行探索。大多数开发人员习惯于从头开始构建项目(或被引入以维护现有项目),并且构建新的东西来与旧的东西交互需要一定的……本质上不是技能,而是方法。
  • 当您说“服务器将以所需的任何方式公开API”时,这是相当模糊的,但是我猜您的意思是说现有的开发人员可以在服务器上实现API?我将明确指出,该职位将涉及与那些开发人员一起指定API。如果您可以举例说明所需的互动类型,并询问应聘者关于如何实施互动的初步想法,那也许可以说明问题。我认为您最初的想法是JSON RPC,这表明您正朝着正确的方向发展,因此请当心任何对复杂XML和XSLT交互有了解的人。
  • 如果可以期望得到不错的浏览器JavaScript支持,请寻找有JS框架(如Backbone.js,JavaScriptMVC等)经验的人员。在这种情况下,您可以(基本上)在浏览器中完成整个应用程序,并可以与Node.js或其他服务一起使用...因此,请期待优秀的JS开发人员。如果他们说他们喜欢用CoffeeScript编写JS,那么他们可能是更好的JS开发人员。

只是根据我在战trench中的经验得出的一些想法,但是如果我的部门正在招聘新的开发人员,这就是我要告诉他们的东西。

我希望我的部门有其他开发人员的预算...


该服务器已存在,其他开发人员(新开发人员除外)将使该API生效。不会接触遗留系统或负责特质-其他人会这样做,尽管该开发人员可以要求特定的外观。没有红宝石,因为没有动态生成的页面-这个开发人员将是纯粹的浏览器内JavaScript编码(还负责HTML和CSS)。如果我们最终不雇用其他开发人员,那么我实际上将自己使用JSON RPC在Backbone.js中进行操作,因此感谢您的验证。
psr

1

注意:这只是我的意见,所以不要把厨房的水槽扔给我;)

我认为您正在考虑两个截然不同的职位的名称(这可能会造成一些混淆)。

软件工程师:工程师。一位擅长解决不一定与任何特定平台相关的抽象问题的人。对设计模式,算法(已知的算法以及算法设计和分析)有很深的了解,对线性代数有一定的了解,可能还有一些微积分。过去雇用软件工程师时,我没有像他们解决复杂问题的能力那样担心他们的特定领域知识。

Web应用程序开发人员:知道构建Web应用程序的来龙去脉的人。了解服务器与客户端架构以及如何在两者之间进行有效通信。熟悉W3C标准,包括已完成状态和WIP状态。了解数据库如何工作以及在必要时如何进行优化(查询优化,数据库缓存,索引编制等)。还了解缓存的不同机制以及优化其应用程序的其他方法。也了解语义约定。

当我想到它们时,可能缺少一些我可能会填写的东西。

从您正在寻找的内容的描述中,听起来我根本就不需要软件工程师。您正在寻找Web应用程序开发人员。

因此,我要做的第一件事就是确定您要寻找的人以及对候选人的期望是什么。可能会帮助您很多。


programmers.stackexchange.com/questions/45681/... -写工作要求的Web应用程序开发。那是名字的来源。我希望Web应用程序开发人员仅在浏览器端工作(正如我已经说过的)。因此,没有数据库相关的东西。软件工程技能会。
psr

真?您希望有人在理解数据库和服务器端内容的Web系统上工作吗?esh
Demian Brecht

更不用说了。客户端Web应用程序开发人员很少会需要了解这一点,例如如何首先遍历树的宽度,或者如何确定给定算法或实现的最坏情况下运行时间是多少。密码系统。只是说。话虽如此,如果您正在为Google或Amazon招聘,我可能会撤回这一言论。
Demian Brecht
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.