程序员应该对系统管理员了解多少?我的意思是,显然越多越好。但是为了争论,程序员应该知道的平均值是多少?
我见过我的朋友(程序员)做数据库架构设计、数据库备份、数据库调优、数据迁移等。有时我想知道他是程序员还是系统管理员。
程序员应该对系统管理员了解多少?我的意思是,显然越多越好。但是为了争论,程序员应该知道的平均值是多少?
我见过我的朋友(程序员)做数据库架构设计、数据库备份、数据库调优、数据迁移等。有时我想知道他是程序员还是系统管理员。
对于程序员来说,拥有软件开发、部署、运行时环境、安全性和安全性各个方面的全局视图至关重要。
否则,可能会犯下“无辜的错误”,导致代价高昂的后果,最终的后果是生产力下降(或更糟)。
充分了解事物如何工作以满足您的环境的全局,但您不需要知道如何使它们工作。
拥有额外的技能总是有帮助的。
我认识非常强大的开发人员,他们无法在 Windows 中连接打印机。这有点好笑。
如果您打算进行网络编程 - 养成使用 ethereal/wireshark 并查看数据包的习惯。最终它会得到回报。
足够了解您可以解决问题并在您的软件工程工作中完成工作。不要知道太多,以至于人们将您混淆为系统管理员并开始打电话给您进行日常系统维护任务。关于你应该知道的一些建议:
显然,我在这里采用网络应用程序的观点。也许其他人可以提出更一般的建议?
这要看你在哪个领域!当我(直到最近)开发集群管理软件时,显然系统管理员和网络专家是我的主要“受众”,了解和了解他们的任务对我的工作表现绝对至关重要;既然我致力于开发商业智能软件,那么与理解业务分析师、经济学家、销售/财务/会计人员所面临的问题相比,所有这些丰富的 sysadm 知识(当然,远非无用;-)是相当低优先级的,并且战略层面的决策者。
这两个领域可能有点极端(但我在不到一年前确实从一个切换到另一个!-)但原则是成立的——如果不了解您所在的应用领域或计划,就无法给出好的答案搬进未来。
真的取决于你用哪种语言编程。我以前做过很多 c/c++,那里的管理员不多。
但是对于网络,感觉就像我的一半工作是学习如何成为一名系统管理员。只需对系统配置、服务器备份和 cronjobs 有一点了解,就可以在这里完成很多优化。
我们服务器的设置产生了更多的性能提升,然后我可以在代码中进行优化。花一天的时间作为系统管理员在整个站点上获得 100% 的性能提升,或者花一天的时间作为程序员在单个组件中获得 100% 的收益?任何程序员都会选择成为那天的系统管理员。
并且我们的站点部署、数据库设置/迁移是自动的。这可能是因为我们没有“真正的系统管理员”(初创公司 - 选择你自己的头衔!),但我看不出在没有系统知识的情况下如何编写好的/快速/可靠的 Web 应用程序在它后面。
并且必须说,凭借我最近获得的所有系统管理员知识,作为一名程序员,我开始看到新的可能性和解决方案。所以我的建议是,尽可能多地了解它背后的系统,它会有所收获。
我认为你知道的越少(或让人们知道你知道)越好。我记得在一家公司,有人来我们房间寻求计算机问题的帮助。我总是假装我不知道如何帮助他们,但我的一位同事总是帮助他们——他们得到了免费的 IT 支持,我认为那个人的工作方向不对。
就纯管理员知识而言,这是一个难题,我遇到的大多数管理员都不知道如何设置或配置应用程序服务器、数据库、ldaps。因此,要使这些工作具有良好的性能,您需要逐步指导他们做什么。这些知识真的很有用。
我不明白这类问题。就像“程序员应该对生活了解多少”。答案总是“尽可能”。
第一个问题:您喜欢系统管理并想了解更多吗?如果你喜欢它,那就学习吧!
如果系统管理让你呕吐,那么不要,学习别的东西。你想象吗?你非常擅长系统管理,但你不喜欢那样,你把它写在你的简历上,这样你就可以找到一份你承担这些责任的工作!
基本上,尽可能多地了解你有某种热情的事情!