![从软件开发人员转行做系统管理员是一个好选择吗?](https://linux22.com/image/516984/%E4%BB%8E%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E4%BA%BA%E5%91%98%E8%BD%AC%E8%A1%8C%E5%81%9A%E7%B3%BB%E7%BB%9F%E7%AE%A1%E7%90%86%E5%91%98%E6%98%AF%E4%B8%80%E4%B8%AA%E5%A5%BD%E9%80%89%E6%8B%A9%E5%90%97%EF%BC%9F.png)
我刚刚毕业,现在面临一个艰难的选择:继续做一名(普通的)软件开发人员还是转行做系统管理员。我有一些编程经验,但这还不足以让我成为一名优秀的开发人员。
关于我自己:我认为我擅长发现问题并解决问题。我学得很快,但只记住主要思想,我经常忘记细节。我也对优化很感兴趣。
这里有没有人从软件开发人员转行做系统管理员?你满意吗?你对我有什么建议?
太感谢了。
答案1
你更喜欢做什么:编写代码还是管理系统?
这些工作并不完全正交。优秀的系统管理员会花时间编写工具来帮助自动化他们的工作。优秀的开发人员会了解系统的运行方式并编写相应的代码。
就我个人而言,我发现编写/好的/代码需要一定程度的专注和集中,我不能轻易放弃。我很少对自己编写的代码完全满意,并且会不断尝试改进它。这对我的个人生活产生了负面影响。
我发现做系统管理员没那么强迫症。(总会有东西出问题,这没关系)但是做系统管理员也会通过值班等有趣的事情侵占你的个人生活。
从根本上讲,你需要做让你开心的事。祝你好运。
答案2
我把这些作为评论,但仔细想想,我认为它们更像是我的答案。
如果你刚刚毕业,你将会成为一名普通(或可能低于平均水平)的开发人员。你也会成为一名低于平均水平的系统管理员。成为普通甚至更优秀的人需要积累经验和犯错。
仅仅因为这里的其他人做出了改变并且喜欢它(或讨厌它)并不意味着它适合你。这完全取决于你有多喜欢这些陷阱。而且这个领域不仅仅是解决问题或技术......它非常政治化。如果不是因为用户因为这不是他们喜欢或偏爱的东西而犹豫不决,我无法计算有多少解决方案可以完美地解决问题,所以我们必须努力满足用户的需求(他们怎么敢!)
现在换工作也不妨碍你同时做这两件事。你可以继续兼职写代码,或者以后再转行(如今这已经很常见了)。
坐下来,权衡一下对你和你所申请或得到录用机会的公司而言的利弊;在 Acme Widgets 做一名管理员并且热爱这份工作、热爱与你一起工作的人是完全有可能的,但是在 Willy Widget Works 做管理员简直就是地狱。
归根结底,做你早上起床就能做的事情,并且不讨厌每天花 10 多个小时做...
答案3
大学毕业后我自己就做出了这个选择,在做了一段时间这份工作后,我更能体会到这份工作为什么适合我。当我花几天时间敲打某个大型升级的复杂脚本时,这是我这些天最接近真正的编程的时候,时间过得飞快,我回到家时很恼火,因为问题还没有解决,或者不知何故让我很烦恼。我发现长期的压力很难承受。
相比之下,系统管理员的工作压力更大,可以说压力更大,压力会持续几个小时,问题解决后压力就会消失。我们确实遇到过一些持续压力的情况(升级需要一周时间,备份环境中的硬件故障导致备份/灾难恢复不可靠),但一般来说,这些只是例外,而不是常态。对我来说,保持平衡更容易。
正如 Joel K 所说:
这些工作并不完全正交。优秀的系统管理员会花时间编写工具来帮助自动化他们的工作。优秀的开发人员会了解系统的运行方式并编写相应的代码。
我发现,了解系统如何运行实际上对我作为系统管理员非常有益。只是我需要知道如何运行的系统大部分都是现成的商业软件。我经常将此归咎于我的计算机科学学位,因为我对软件如何运行有很好的理解作品这让我更容易弄清楚它在哪里休息。顺便说一句,这也是我成为一名优秀 QA/Beta 测试员的原因。
在我看来,编程背景为系统管理员工作的软件故障排除方面提供了非常坚实的基础。你必须处理的部分是硬件故障排除、操作系统故障排除(除非你的开发工作涉及操作系统或驱动程序,此时你就胜任了),以及简单的最佳实践。最佳实践大部分是在职培训,尽管你可以通过认证获得其中的一些。
答案4
每个人都必须自己评估自己想做什么。我的专业是计算机科学(软件开发),但我的大部分职业生涯都集中在系统管理上(尽管我现在管理两个学科的员工)。对我来说,决定取决于个性和人。当我看到我认识的程序员时,他们大部分时间都呆在自己的小隔间里,戴着耳机,喝着自己选择的几罐苏打水,一连好几个小时。而管理员则花更多的时间与用户互动,解决问题;虽然系统管理员可能非常紧张,但当出现问题时,需要立即修复,无论问题是否在你控制的事物上。对我来说,管理方面似乎更有回报。请注意,随着你在任何一个领域的进步,你会变得更像一个经理,这意味着有更多的时间参加会议,更多的时间打电话,更多的时间培养人才,更少的编码/系统管理。