招聘优秀 DevSecOps 工程师的实用面试关注点

image

编程经验

     任何从事 DevSecOps 和 AppSec 的安全专业人员都必须了解代码。理想情况下,所有安全专业人员都应从程序员成长起来。你可能不同意我的观点,但 DevSecOps 和 AppSec 专家应该在某种程度上与代码打交道,无论是一些 YAML 清单、JSON、各种脚本,还是用 Java、Go 等语言编写的经典应用程序。如果一个安全专家不知道他要查找漏洞的语言,那就大错特错了。你不能看着扫描仪工具亮显示的一行就说:"是的,这一行确实是漏洞:"是的,的确,这一行在这种情况下可以被利用,否则就是假的"。你需要了解整个项目及其结构。如果你不是程序员,你根本无法理解这些代码。

image

积极主动

     希望我未来的员工能够积极主动--我指的是那些足够努力、能完成重大任务、有雄心壮志、希望取得成就并在具体任务上花费大量时间的人。我支持员工希望在自己的领域有所发展,在社会上有所进步,为自己寻找有趣的任务和项目,包括工作之外的任务和项目。如果简历中显示了相应的要点,我一定会将其作为加分项予以强调。

工作与生活的平衡

     非常重视这一点,在面试时我总是会谈到这一点。一个人有爱好和兴趣,说明他有能力从工作转向其他事情,有多面性,不会固守一份工作。兴趣爱好不一定是积极的运动、登山、散步等。最重要的是,一个人的生活中不仅有工作,还有生活本身。这意味着他不会在几年的不间断工作中倦怠。休息和分心的能力是长期工作关系的保证。根据我的经验,只有少数员工的生活中只有工作,没有其他。但我认为他们是独一无二的人。他们长期在这种节奏下工作,不会倦怠,也不会抑郁。这需要一定的耐力和性格。但在 99% 的情况下,过度劳累和无法休息是员工在两三年内离职和倦怠的保证。目前,他可以做很多事情,但我不需要每隔几年就像换手套一样换人。

学历 

     您应检查简历中注明的学历证书和文凭是否可用。通过证书确认学历可以说明所申报能力的真实性。学习五年并不容易,但与此同时,在学习的过程中,您不得不朝着正确的方向思考,分析复杂的情况,并开发出目前具有科学新颖性、将来可用于造福人类的东西。在这里,原则上也是一样:你与同事们结合共同的想法,创造出进步的 DevOps,从而进一步帮助人们;特别是在银行业的安全方面。

证明人和推荐信

    我要求申请人提供可以推荐其工作的前任雇主或同事的联系方式。如果一个人曾在信息安全领域工作过,那么通常会有一些共同的熟人,我也会与他们进行沟通,他们可以证实他的资历。

image

在面试中需要注意什么

    遗憾的是,并非所有方面都能在阅读简历时得到澄清。求职者可能会隐瞒一些事情,以便以更有利的姿态展示自己,但更多的情况是,在编写简历时根本不可能考虑到雇主所需的所有要点。通过与求职者交谈中的引导性问题以及他以前工作中的故事,我可以发现潜在员工是否具备以下素质。

阅读能力
      这听起来很有趣,但事实上,这并不是一种常见的素质。一个会阅读和分析的人几乎可以解决任何问题。我对这一点深信不疑,因为我自己就经历过不止一次这样的情况。现在,我尝试从多个渠道寻找信息,我积极使用相同的 ChatGPT 和其他类似服务,只为加快工作进度。也就是说,我自己推送的信息越多,我解决的任务就越多,相应地,我就会更成功。有时,我要求应聘者在网上找到一个复杂问题的解决方案,并为他提供分析材料,我看他能以多快的速度阅读并对所提供的文章进行定性分析。

分析思维
     有两个过程:分解和组合。程序员通常使用第二部分。他们进行组合分析,即从代码中组合出一些进一步工作所需的工件。信息安全分析师或安全专家则使用分解法。相反,他们会将工件分解成各个组件,并查找漏洞。如果程序员负责创建,那么安全专家则负责分解。在与他人代码如何工作相关的部分,需要分析思维。例如,在上世纪 90 年代,如果代码是用汇编语言编写的,我们就会讨论反汇编问题。也就是说,你有一个二进制文件,你需要了解它是如何工作的。如果你不分析程序员在这段代码中开发的所有入口和出口点、所有进程和功能,那么你就无法确定程序是否按预期运行。程序运行的正确与否可能存在许多陷阱和逻辑问题。例如,有一个函数可以传递一定量的数据。程序员可以将这个函数视为可以传递给它的一些输入数字数据,也可以通过一些序列或长度来限制这些数据。例如,我们输入卡号。卡号似乎有一定的长度。但同时,任何分析师和您都应该明白,输入的可能不是数字,而是字母或特殊字符,长度也可能与程序员设定的不一样。这一点也需要检查,所有的假设都需要分析,要比程序员编写的业务逻辑和思维更广泛地看待一切。

     如何了解应聘者是否具有分析能力?所有这些在与候选人 "交谈 "阶段就很容易弄清楚。您可以简单地提出以下问题 "有一个 X 流程的数据样本,其中包含 1000 个参数。您需要确定最重要的 30 个参数。这项分析任务将由 3 组分析人员共同完成。您将如何划分这些参数,以获得高效可靠的分析

应急情况下的工作经验
      申请者最好有在应急情况下工作的经验;例如,如果他曾在某种大型关键负载的服务器上工作并值班。通常情况下,这些都是夜班、晚班、周末,你必须紧急提高和恢复某些东西。这样的人非常宝贵。他们真正懂得如何工作,并亲身经历过不同的 "痛苦"。他们随时准备与你一起救火,最重要的是,他们极有可能比其他人更加小心谨慎。我曾在一家公司工作过,那里有很多没有经验的学生。他们经常会弄坏很多东西,之后,就需要把这些东西都提出来。当然,这在一定程度上是指导的结果。你必须帮助、培养学生,让他们成为专家,但这并不能否认纠正错误的 "痛苦"。在你和他们一起经历这一切之前,他们不会变得冷静。如果一个人参与了这些过程,并有力量和能力去提高和纠正,这就非常酷了。你需要为自己挑选和接受这样的人,因为他们显然知道如何工作。

如何避免被求职者愚弄
       求职者可能会夸大自己的成就,但这很容易核实。如果一个人拥有必要的经验,你需要问他一些没有实际经验难以回答的实际问题。例如,我会询问 DevSecOps 中某项实践的实施情况,即他曾在哪个协调器中工作过。例如,应聘者应该用几句话写出在哪项工作中实施了这一切,以及他使用了什么工具。您甚至可以从这个漏洞扫描仪中提出一些关键字,并询问您会使用哪些关键字以及在哪些方面使一切正常。只有从事过这方面工作的专家才能回答这些问题。在我看来,这是检查一个人的最好方法。也就是说,您需要给出可以快速解决的小型实际任务。

      并不是所有应聘者的工作经历和工作内容都和我一样,他们可能有更多的经验和知识。那么,找到一些共同的问题和我们一起工作过的接触点就很有意义了。例如,只需列出信息安全领域的 20 件事,询问应聘者熟悉哪些内容,找到共同点,然后详细介绍。当应聘者在面试中夸夸其谈时,最好也问一些具体的问题。如果应聘者毫不犹豫地告诉你他实施了什么,你还可以问他一些关于每个项目和方向的小细节。例如,您是如何实施 SAST 验证的,使用了哪些工具?如果他说得很详细,可能还附带了一些与特定扫描工具设置有关的细微差别,并且符合总体概念,那么这个人就是这样做的,并且使用了他所说的东西。

image

行业中DevSecOps的JD示例

Job Summary
     We are seeking a passionate and experienced DevSecOps Engineer to play a crucial role in embedding security throughout our software development lifecycle (SDLC). You will be responsible for integrating security practices into our DevOps processes, ensuring the delivery of secure and compliant applications.
The DevSecOps Engineer plays a crucial role in bridging the gap between development, security, and operations teams to ensure the seamless integration of security practices throughout the software development lifecycle. This position focuses on implementing and maintaining security measures in all stages of the development process to safeguard organizational assets and data.
Competence
? Deep understanding of security principles, practices, and tools.
? Develop, implement, and regularly update security policies to ensure alignment with industry standard and regulatory requirements.
? Strong knowledge of DevOps methodologies and tools, particularly CI/CD pipelines.
? Expertise in infrastructure as code (IaC) tools like Terraform or Ansible.
? Experience with cloud platforms (AWS, Azure, GCP, Huawei Cloud, Tencent Cloud and AliCloud) and containerization technologies (Docker, Kubernetes).
? Experience with Active Directory Scripting and Automation tools.
? Excellent scripting and automation skills (Python, Bash, PowerShell).
? Strong problem-solving and analytical abilities.
? Excellent communication and collaboration skills.
Essential Duties and Responsibilities
1. Security Integration: Collaborate with development and operations teams to integrate security measures into the DevOps pipeline, ensuring security is a fundamental part of the development process. Troubleshoot and resolve AD-related issues, that may impact user authentication, access or system performance.
2. Automation: Develop and maintain automated security processes, including vulnerability scanning, code analysis, and compliance checks, to enhance the speed and efficiency of software development while maintaining a high security posture. Skill in PowerShell and other scripting languages are valuable for automating repetitive tasks and managing AD environments effectively.
3. Risk Assessment: Conduct regular risk assessments and security audits to identify and address vulnerabilities in applications, infrastructure, and processes.
4. Incident Response: Play a key role in incident response activities, including analysis, containment, eradication, and recovery from security incidents. Work closely with incident response teams to improve overall incident handling processes.
5. Continuous Monitoring: Implement and manage continuous monitoring solutions to detect and respond to security events in real-time, ensuring proactive identification and resolution of potential threats.
6. Security Training: Provide guidance and training to development and operations teams on secure coding practices, security best practices, and emerging threats.
7. Compliance: Ensure that systems and applications comply with relevant security standards, regulations, and industry best practices. Stay updated on changes in compliance requirements and implement necessary adjustments.
8. Tooling and Technology: Evaluate, implement, and manage security tools and technologies that enhance the organization's security posture, such as intrusion detection systems, firewall configurations, and encryption protocols.
Candidate Requirements
? Bachelor's degree in Computer Science, Information Security, or a related field.
? 3+ years of experience in a DevOps or security engineering role.
? Hands-on experience with security tools and technologies (e.g., SAST, DAST, WAFs, IDS/IPS).
? Experience with scripting languages and automation frameworks.
? Strong understanding of cloud security best practices.
? Proven track record of DevSecOps achievements
? Excellent communication and interpersonal skills.
? Passion for security and a desire to stay ahead of the curve.
Additional Considerations
? Experience with a specific programming language (e.g., Java, Python, Go).
? Certification in security (e.g., CISSP, CEH, OSCP).
? Experience working in a regulated industry (e.g., finance, healthcare).

总结

        以上就是在寻找新人时注意的所有要点。希望这些信息对我的团队领导同事和求职者都有用,他们会知道自己需要培养哪些素质才能顺利通过面试。


今天先到这儿,希望对云原生,技术领导力, 企业管理,系统架构设计与评估,团队管理, 项目管理, 产品管管,团队建设 有参考作用 , 您可能感兴趣的文章:
领导人怎样带领好团队
构建创业公司突击小团队
国际化环境下系统架构演化
微服务架构设计
视频直播平台的系统架构演化
微服务与Docker介绍
Docker与CI持续集成/CD
互联网电商购物车架构演变案例
互联网业务场景下消息队列架构
互联网高效研发团队管理演进之一
消息系统架构设计演进
互联网电商搜索架构演化之一
企业信息化与软件工程的迷思
企业项目化管理介绍
软件项目成功之要素
人际沟通风格介绍一
精益IT组织与分享式领导
学习型组织与企业
企业创新文化与等级观念
组织目标与个人目标
初创公司人才招聘与管理
人才公司环境与企业文化
企业文化、团队文化与知识共享
高效能的团队建设
项目管理沟通计划
构建高效的研发与自动化运维
某大型电商云平台实践
互联网数据库架构设计思路
IT基础架构规划方案一(网络系统规划)
餐饮行业解决方案之客户分析流程
餐饮行业解决方案之采购战略制定与实施流程
餐饮行业解决方案之业务设计流程
供应链需求调研CheckList
企业应用之性能实时度量系统演变

如有想了解更多软件设计与架构, 系统IT,企业信息化, 团队管理 资讯,请关注我的微信订阅号:

image_thumb2_thumb_thumb_thumb

作者:Petter Liu
出处:http://www.cnblogs.com/wintersun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 该文章也同时发布在我的独立博客中-Petter Liu Blog。

posted on 2024-04-21 10:45  PetterLiu  阅读(82)  评论(0编辑  收藏  举报