在许多大公司中,安全考虑意味着开发人员不具有安装自己软件所需的系统权限,这可能导致生产力下降。 Google这样的公司是如何以创新和开发为中心来解决这个问题的?
开发人员应该始终作为机器的普通用户开发两个(可能更多)的原因:
我开发使用用户帐户。 我有一个用于安装软件或configuration计算机的pipe理帐户(Windows或Unix,没关系)。 我(和我的雇主)最后需要做的事情是花一两天的时间擦拭并重新安装我的电脑(即使这包括恢复备份),因为我以pipe理员身份login时出现了一些混乱的情况。
我在一家大公司,我没有pipe理员权限到我的电脑。 一切都必须要求和批准。 起初我有点恼火,但现在只是这个过程的一部分。 我得到了我的Visual Studio,记事本+ +,等等文件审批后,我甚至提到了netbeans / java sdk,以防万一一件工作需要它。 首席信息官和同事想要保持对他们networking的控制,并且由于工作types而有严格的软件准则。 他们明白,虽然我是开发人员,我需要比其他办公室人员更多的访问。 我从IT领域进入软件开发领域,所以我一直习惯于全面的机器访问。 我的工作越多,事情就没有我想象的那么重要了。
到目前为止,我还没有做任何需要pipe理员访问用户机器的软件,所以它还没有出现问题,但是将来可能会遇到问题。
我记得几年前读过一篇关于Google工程师的文章。 他们被允许使用他们需要的任何工具来帮助他们的任务,这是相当不错的。 我敢肯定,如果你在谷歌search你的查询,他们将会是一些描述他们工作环境的文章。
大多数作为开发人员的公司(懂软件)在软件方面有一定的灵活性,因为许多程序员对他们自己的工具非常特别(vim vs. emacs; textpad vs. notepad ++等等) 。 最常见的是对本地机器的pipe理权限。 正如所料,正常的安全权限(密码,组等)适用于本地工作站以外的机器,如分段和生产环境。 所以pipe理员到本地是伟大的,有限制访问数据库,networking,消息传递等服务器是可pipe理和可以理解的。
通常开发人员可以在开发环境中免费统治。 我把它比作玩沙盒。 舞台应该模仿生产,但要由less数领先的开发商严格控制。 而且生产环境通常是不受限制的。 发展变化 – >升级到升级 – >升级到生产(待定testing课程)。 现在,我意识到这种方法是理想的 。 这并不意味着每个人都这样做。 谷歌是如何做到这一点的。 但是,如果它与这种方法相似,我不会感到惊讶。
这真的取决于办公室和场景。
我倾向于发现,在大多数办公室里,他们的开发人员和其他一些angular色通常拥有在networking/域上的权限有限的机器,但是他们通常拥有本地pipe理权限,因此他们可以安装并执行任何他们想要的任务。
其他一些有严格政策的办公室,往往会给员工一个locking机器,用于他们的工作networking相关的东西,如Outlook,然后另一台机器,在一个单独的networking上,只有互联网接入。
如果只需要使用less量的程序,则提供电话销售或支持完全pipe理访问是没有意义的
小公司很适合让你做这样的事情。 我曾在几家小型IT公司工作过,不仅是你自己的机器,而且还能在所有的机器上获得成功。 🙂
在一家小公司中,如果开发人员离开公司,开发人员可以自由select工具,则可能会造成问题,而且没有其他人使用该工具。 有一条学习曲线,如果开发者和其他人一样使用,就不需要了。