程序员应该了解多少系统管理知识?

发布于 2024-07-26 07:13:15 字数 136 浏览 3 评论 0原文

程序员应该了解多少系统管理知识? 我的意思是,显然越多越好。 但出于争论的目的,程序员应该知道的平均水平是多少?

我见过我的朋友(程序员)做数据库架构设计、数据库备份、数据库调优、数据迁移等。有时我想知道他是程序员还是系统管理员。

How much should a programmer should know about system admin? I mean, obviously the more the better. But for the sake of argument, what is the average a programmer should know?

I have seen my friend ( a programmer) does database schema design, database backup, database tuning, data migration etc. Sometimes I wonder whether he is a programmer or a system admin.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

德意的啸 2024-08-02 07:13:15

对于程序员来说,对软件开发、部署、运行时环境、安全和保障的各个方面有一个全面的了解是至关重要的。

否则,可能会犯下“无心错误”,从而产生代价高昂的结果,而最终的结果就是生产力下降(或更糟)。

足够了解事物如何运作以满足您的环境的总体情况,但您不需要知道如何使它们发挥作用

It is critical for a programmer to have a Big Picture view of all aspects of software development, deployment, runtime environment, safety, and security.

Otherwise, "innocent mistakes" can be made that have very costly results, and the net effect is one of diminished productivity (or worse).

Know enough about how things work to satisfy the Big Picture for your environment, but you do not need to know how to make them work.

把时间冻结 2024-08-02 07:13:15

拥有额外的技能总是有帮助的。

我认识一些非常强大的开发人员,他们无法在 Windows 中连接打印机。 这有点有趣。

如果您打算进行网络编程 - 养成使用 ethereal/wireshark 并查看数据包的习惯。 最终它会得到回报。

Having extra skills always helps.

I knew very strong developers who could not connect a printer in windows. Which is kind of funny.

If you plan to do network programming - develop a habit to use ethereal/wireshark and look at packets. Eventually it will pay off.

揽月 2024-08-02 07:13:15

足够了解您可以在软件工程工作中解决问题并完成工作。 知道的太多以至于人们会误认为您是系统管理员,并开始打电话给您进行日常系统维护任务。 关于您应该了解的一些建议:

  • 如何登录部署系统
  • 访问日志
  • 在部署系统上安装/重新启动您的应用程序
  • 了解您的生产部署拓扑并能够在您的开发计算机上安装近似版本
  • 安装和部署您的应用程序数据库和其他基础设施服务(例如 JMS),以及基本的监控和故障排除

显然,我在这里采取的是 Web 应用程序的观点。 也许其他人可以提出更一般的建议?

Know enough that you can solve problems and get stuff done at your Software Engineering job. Don't know so much that people confuse you for a sys admin and start calling you for routine system maintenance tasks. A few suggestions on what you should know:

  • How to log into the deployment system
  • Access logs
  • Install/restart your application on the deployment system
  • Understand your production deployment topology and be able to install an approximation on your development machine(s)
  • Install and deploy your database and other infrastructure services (such as JMS), as well as basic monitoring and troubleshooting

Obviously I'm taking a web-app point of view here. Maybe others can make more general suggestions?

2024-08-02 07:13:15

这取决于你从事什么领域! 当我(直到最近)开发集群管理软件时,显然系统管理员和网络专家是我的主要“受众”,了解和学习更多关于他们的任务对我的工作绩效绝对至关重要; 现在我正在开发商业智能软件,与理解业务分析师、经济学家、销售/财务/会计人员所面临的问题相比,所有这些丰富的 sysadm 知识(当然,远非无用;-)的优先级相当低。战略级决策者。

这两个领域可能有点极端(但不到一年前我确实从一个领域切换到另一个领域!-)但原理是成立的 - 如果不了解什么应用程序,就无法给出好的答案您正在从事或计划将来从事的领域。

It depends on what field you're in! When I worked (until recently) developing cluster management software, obviously system administrators and network specialists where among my main "audiences", and knowing and learning more about their tasks was absolutely crucial to my job performance; now that I work developing Business Intelligence software, all that wealth of sysadm lore (while far from useless, of course;-) is quite low-priority compared to understanding the issues facing business analysts, economists, sales / finance / accounting folks, and strategic - level decision makers.

These two fields may be a bit extreme (but I did switch from one to the other less than a year ago!-) but the principle holds - no good answer can be given without some understanding of what application fields you are in, or plan to move into in the future.

倾听心声的旋律 2024-08-02 07:13:15

我不明白这类问题。 就像“程序员应该对生活了解多少”一样。 答案总是“尽可能多”。

第一个问题:您喜欢系统管理并想了解更多吗? 如果你喜欢的话,那就来学习一下吧!

如果系统管理让你呕吐,那就不要了,学点别的东西吧。 你想象吗? 您非常擅长系统管理,但您不喜欢那样,您将其写在简历中,这样您就可以找到一份承担这些职责的工作!

基本上,尽可能多地学习您有某种热情的事物!

I don't get these kind of questions. Its like "how much a programmer should know about life". The answer is always "as much as possible".

First question : Do you like system administration and would you like to know more? If you like that, then learn about it!

If system administration makes you throw up, then don't, learn something else. Do you imagine? You're very good at sys admin but you don't like that, you write it on your resume so you get a job where you get those responsibilities!

Basically, learn as much as you can about things for which you have some kind of passion!

最冷一天 2024-08-02 07:13:15

我认为你知道的越少(或者让人们知道你知道)越好。 我记得在一家公司,人们来到我们的房间寻求计算机问题的帮助。 我总是假装我不知道如何帮助他们,但我的一位同事总是帮助他们 - 他们获得了免费的 IT 支持,我认为那个人从事了错误的工作。

就纯粹的管理知识而言,这是个难题,我遇到的大多数管理员都不知道如何设置或配置应用程序服务器、数据库、LDAP。 因此,为了使这些工作表现良好,您需要逐步指导他们做什么。 这些知识真的很有用。

I think the less you know(or let people know you know) is better. i remember in one company that people came to our room to seek help with computer problems. i always pretended that I dont know how to help them, but one of my co-workers always help them - they got free IT support and i think that guy was in wrong line of work.

as far as pure admin knowledge thats hard question, most admin i met dont know how to set up or configure application servers, databases, ldaps. so to make those work with good performance you need to give them step by step instruction what to do. that knowledge is really usefull.

○愚か者の日 2024-08-02 07:13:15

真的取决于你用哪种语言编程。我以前做过很多c/c++,那里没有太多管理。

但对于网络来说,感觉我的一半工作是学习如何成为一名系统管理员。 只需了解一些有关系统配置、服务器备份和 cronjobs 的知识,就可以在这里完成很多优化。

我们服务器的设置带来了比我在代码中优化更多的性能增益。 作为系统管理员花一天时间在整个站点上获得 100% 的性能提升,还是作为程序员花一天时间在单个组件上获得 100% 的性能提升? 任何程序员都会选择成为那一天的系统管理员。

并且可以自动部署我们的站点、数据库设置/迁移。 这可能是因为我们没有“真正的系统管理员”(初创公司 - 选择你自己的头衔!),但我不知道如何在不了解系统的情况下编写良好/快速/可靠的 Web 应用程序在它后面。

必须说,凭借我最近获得的所有系统管理知识,我开始看到作为程序员的新可能性和解决方案。 所以我的建议是,尽可能多地了解其背后的系统,这是值得的。

Really depends on which language you program in. I did alot of c/c++ before, not much admin there.

But for web, it feels like half my work is to learn how to be a sysadmin. So much optimizations can be done here with a little knowledge about system configs, server backups and cronjobs.

The setup of our server yielded more performance gain then I ever could optimize in code. Spend a day as a sysadmin for 100% performance gain all over the site or a day as a programmer for 100% gain in a single component? any programmer would choose to be a sysadmin for that day.

And the there is automatic of deployment of our site, database setup/migration. This might be this way because we don't have a "real sysadmin"(startups - choose your own title!), but I can't see how I can program good/fast/reliable web applications without the of knowledge about the system behind it.

And must say, with all the sysadmin knowledge I gained recently, I'm starting to see new possibilities and solutions as a programmer. So my tip is, learn as much as you can about the system behind it, it will pay of.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文