我今年 26 岁,在一家软件咨询公司工作了四年。我的时间有一半用于开发,另一半用于简单的系统管理任务。任务包括:设置 Apache、MySQL、更改 DNS 区域配置、使用 Nagios 管理 200 台设备、更新 Debian/BSD 系统、运行备份等等。我可以在那里做一份全职工作。
在开发工作(主要是 Python)和系统管理员工作中,我更喜欢系统管理员工作,因为需求更容易定义。我认为我更喜欢将外部软件拼接在一起并摆弄硬件,而不是开发软件。在我工作的地方,新软件没有规范(由于无能),其余工作是对业务逻辑进行无休止的调整。
因此,根据我所见,我想我应该偏向系统管理员这一行,并最终找到一份全职工作。我满怀热情地阅读了《系统和网络管理实践》,觉得这本书很有趣。然而,我可爱的女经理不想让我做软件开发以外的任何事情。
我觉得在申请全职系统管理员工作之前,让自己变得更加全面(即学习更多 Linux 系统管理员领域的知识)是一个好主意。例如,我计划扩展我对邮件系统(仅限于配置 Postfix)和 LDAP 的知识。我对网络知之甚少(除了 CIDR、子网掩码等),所以我正在考虑学习 CCNA 材料并可能参加考试。
这种变得更加全面的想法总体上是一个好主意吗?有人对学习哪些主题或如何学习它们有什么看法吗?
答案1
获取各种系统的经验是一个好主意;并不是因为你最终会每天都使用它们,而是因为:
- 它们是简历上的流行语(如果你不幸去了一个公司,而这家公司的招聘广告上列着一长串“必需”和“期望”的技术,他们实际上会根据这个列表来筛选简历);
- 它让你养成快速掌握、评估和部署技术的习惯,这对于系统管理员来说是必备的技能 #1。
我没有什么特别推荐学习的东西;更重要的是要对学习和做很多事情有很好的感觉。不过,我认为在开始新工作之前,你不需要花很多时间学习;你应该能够凭借你现有的经验在任何一家相当有头脑的公司担任初级系统管理员的职位,然后你就可以在工作时间完成你想做的所有额外的技术学习。
答案2
我想为我的团队聘请的系统管理员必须知道:
- 布尔逻辑熟练掌握;
- TCP/IP/以太网堆栈的级别允许他像操作电视遥控器一样轻松操作 Wireshark;
- 选择的操作系统:启动顺序(什么、何时、为什么)、FS 布局、标准守护进程/服务、资源管理;
- 详细说明在大多数环境中可以找到的每个标准守护进程/服务,了解它们使用的协议并能够配置它们。
这是基础,无论职位细节如何,基础都是一样的。
看起来你已经掌握了这些知识。补上你还未掌握的知识,尤其是网络。从这里开始,我建议你选择几项你感兴趣且在市场上有价值的技术,并好好学习它们。看看招聘信息,试着了解需求,决定哪些对你来说听起来很有趣。
在我的世界里,如果你了解 vSphere、存储技术、Red Hat/CentOS 和各种集群,你就会做得很好。但那只是我的世界。
我建议不要听从 Womble 关于选择流行语的建议:如果流行语对于你的简历被某个特定职位选中是必要的,那么最好完全跳过这种雇主。(当然,如果你现在没有一份收入丰厚的工作,我就不会这么说了。)不要去考 CCNA:很多东西对系统管理员来说都不重要(你不会关心 WAN 技术或动态路由协议)。CCSP 轨道会是一个更好的选择。
答案3
我想补充第三点沃姆布尔多样性原因列表:
- 它将帮助您了解系统之间的共性 - 即使是 Unix/Linux 和 Windows 这样截然不同的系统。一旦您掌握了基础知识,您就可以在例外模式下操作。“我需要做 A。我知道如何在系统 X 上做这件事。我知道如何在系统 X 和系统 Y 上做 B。我需要知道 A 和 B 之间以及 X 和 Y 之间的区别吗?”真正的生产力来自于知道如何修剪决策树以解决问题。
答案4
我最初是一名开发人员,后来成为一名系统管理员。我发现——老实说,那是在 1999 年左右——获得微软认证系统工程师证书的效果非常好。在获得证书之前,我找了两个星期的工作,但毫无进展。拿到证书后,我走进一家中介机构,4 小时后就找到了一份工作。
也许现在的认证已经改变了,这是有可能的,但我花了很多精力去学习不同的考试,学到了很多东西,这些东西在面试时非常有用,在工作中也非常有用。当然,有很多东西不在考试范围内,比如应用服务包和产品的顺序,考试也没有涵盖你必须知道的所有错误修复,这需要花费大量的时间才能弄清楚,但我觉得我熟悉了很多概念,而我周围的人却花了很长时间才弄清楚。
相关领域的证书并不会使您成为该领域的专家,但它确实有助于将您与简历中写明“我了解很多有关系统管理的知识”的其他候选人区分开来。