例如,在Web开发项目中,我经常会:
- 安装服务器
- 管理用户权限/访问服务器
- 执行备份
- 配置IIS / Apache
- 设置FTP站点
- 编写构建脚本
- 设置源代码管理工具/流程
- 可能还有其他一些我没有想到的事情
期望的收获?几乎没有,但是当你了解更多时,每个人都会非常高兴。
在编程的狭窄范围之外,你知道的越多,你就越有价值。
我遇到过的一些事情:
我认为在我的编程工作中,我最常用的非编程技能是写作。能够清晰地解释思想、设计和算法等非常关键,而且你不能总指望亲自解释(或者有时间)。在工作中,我花费了很多时间编写设计文档和其他文档,以便其他工程师能够理解我的代码和算法。所以我非常感谢我在学校里接受过好的写作课程,并且能够组织好句子。
可能取决于您所在公司的规模。作为主要在中小型企业工作的人,我还负责:
数据库创建、管理和调整 支持我启动的内部应用程序 管理网站证书 设置外部托管 当然还有更多
嗯,由于程序员的主要工具是计算机,我认为可以假定有一些相关专业知识。对于那些你描述的大多数事情,对于不熟悉计算机的人来说可能很难,但对于了解该领域并且知道如何查找和阅读文档的人来说,这些任务会变得相对容易(即使之前没有经验)。
在一个大型、组织良好的企业或项目中,我希望更熟悉这些行政工作的人来处理它们。然而,如果这些任务不足以支持一个全职工作,那么让任何有能力的人来完成这些任务是不过分的;而在这方面,程序员可能处于领先地位。
我意识到我从来没有被雇用来做实际的工作,而是作为一个问题解决者。无论是通过代码、软件还是网络上的某些东西找出问题所在并加以修复,这似乎是客户想要的主要印象。
这将根据您所处的位置而有很大不同。我曾与一些不懂这些知识的人和一些专家合作过。
了解这些将对您非常有帮助。通常最好了解您的代码运行环境。如果不了解上下文,您会感到无助。
此外,通常存在与代码无关但与配置相关的错误,例如由于Apache配置而未显示页面。如果您不了解环境,则在调试时非常受限。
在工作场所周围,人们可能会期望程序员成为他们的IT HelpDesk人员...这种情况在我身边发生过。唉。