开发人员可以在像谷歌这样的公司安装自己的软件吗?

开发人员可以在像谷歌这样的公司安装自己的软件吗?

在许多大公司中,出于安全考虑,开发人员没有安装自己软件所需的系统权限,这会导致生产力下降。像谷歌这样以创新和以开发人员为中心而闻名的公司是如何解决这个问题的?

答案1

开发人员应该始终以机器的普通用户的身份进行开发,原因有二(可能还有更多):

  1. 开发人员也是人。他们会尝试访问不受信任的网站。他们会不小心删除东西。如果他们的日常帐户没有管理权限,那么他们会尽量减少暴露。
  2. 如果他们使用最终用户应拥有的权利进行开发,那么他们的代码肯定会按预期运行。

我使用用户帐户进行开发。我有一个管理员帐户,用于安装软件或配置机器(Windows 或 Unix,无所谓)。我(以及我的雇主)最不需要做的事情就是花一两天时间清除并重新安装我的计算机(即使这包括恢复备份),因为我以管理员身份登录时出现了问题。

答案2

我在一家大公司工作,但我没有电脑的管理员权限。所有操作都必须经过请求和批准。起初我对此有点恼火,但现在这只是流程的一部分。在提交所有文件批准后,我顺利获得了 Visual Studio、notepad++ 等软件。我甚至提到了 netbeans/java sdk,以防某项工作需要它。由于工作类型,CIO 和同事希望控制他们的网络,并有严格的软件指导方针。但他们确实明白我是开发人员,我需要比其他办公室员工更多的访问权限。我从 IT 领域进入软件开发领域,所以我一直习惯于完全的机器访问权限。不过,我处理的事情越多,这个问题就没那么严重了。

到目前为止,我还没有开发过任何需要管理员访问用户机器的软件,所以目前这还不是一个问题,但将来可能会成为一个问题。

答案3

我记得几年前读过一篇关于谷歌工程师的老文章。他们被允许使用任何他们需要的工具来完成他们的任务,这非常好。我敢肯定,如果你在谷歌上“谷歌”你的查询,他们会找到几篇文章描述他们的工作环境。

最多我曾作为开发人员工作过的公司(了解软件)确实允许在软件方面有一定的灵活性,因为许多程序员对自己的工具非常挑剔(vim 与 emacs;textpad 与 notepad++ 等)。最常见的是本地机器的管理权限。正如预期的那样,正常的安全权限(密码、组等)适用于本地工作站以外的机器,例如暂存和生产环境。因此,拥有本地管理员权限非常好,并且对数据库、Web、消息传递等服务器的访问限制是可管理和可理解的。

通常,开发人员可以在开发环境中自由发挥。我将其比作在沙箱中玩耍。暂存应该模仿生产,但由少数主要开发人员严格控制。生产环境是通常禁止进入。更改进入开发 -> 提升到暂存 -> 提升到生产(当然等待测试)。现在,我意识到这种方法是理想的。这并不意味着每个人都会这样做。我不知道谷歌是如何做到这一点的。但如果它与这种方法类似,我不会感到惊讶。

答案4

小公司很适合让你做这样的事情。我曾在几家小型 IT 公司工作过,你不仅可以获得自己机器的 root 权限,还可以获得所有机器的 root 权限。:)

相关内容