软件开发工程师将负责使用各种编程语言、框架和技术开发、设计和实施软件应用系统和工具。该个体将与跨职能团队密切合作,以确定项目需求,编写干净高效的代码,并解决和调试软件问题。
职责:
• 使用各种编程语言、框架和技术(如Java、Python、JavaScript、AWS、Azure、Google Cloud等)设计、开发、测试和部署软件应用系统和工具。
• 与跨职能团队合作,收集项目需求,了解业务需求,并将其转化为技术解决方案。
• 编写干净、高效且文档完整的代码,符合行业标准和最佳实践。
• 参与代码审查,为整体代码库的改进做出贡献。
• 解决和调试软件问题,找出根本原因并实施解决方案。
• 与DevOps团队合作,确保软件应用系统的顺利部署。
• 保持对新技术、编程语言和行业趋势的了解。
• 遵循敏捷、Scrum、看板等软件开发生命周期过程和方法。
• 与其他开发人员、工程师和科学家合作,开发和实施满足业务需求的软件解决方案。
• 确保软件应用系统的安全性、可扩展性和符合行业标准。
• 记录软件开发过程、架构和设计决策。
• 不断学习和提高软件开发技能和知识。
要求:
• 计算机科学、电气工程、信息技术或相关领域的学士或硕士学位。
• 至少3年软件开发、软件工程或相关领域的经验。
• 熟练掌握一种或多种编程语言,如Java、Python、C、JavaScript等。
• 有使用Spring、Django、React、Angular、Vue.js等软件开发框架、库和工具的经验。
• 对计算机科学概念、算法和数据结构有深入的理解。
• 有使用关系型数据库(如MySQL、PostgreSQL、Oracle、SQL Server等)进行数据库设计、开发和优化的经验。
• 熟悉云计算平台,如亚马逊网络服务(AWS)、微软Azure、谷歌云平台(GCP)等。
• 有敏捷软件开发方法(如Scrum、看板等)的经验。
• 具有解决问题的能力、注重细节,并能独立工作或作为团队的一部分。
• 出色的英语书面和口头沟通能力。
• 有使用Git、SVN等版本控制系统的经验。
• 熟悉Docker、Kubernetes等容器化技术。
• 有使用Jenkins、Travis CI、CircleCI等持续集成/持续部署(CI/CD)流水线和自动化工具的经验。
• 对安全协议和实践(如SSL/TLS、OAuth、JWT等)有了解。
• 熟悉基础设施即代码、监控、日志等DevOps工具和实践。
优先资格:
• 计算机科学、电气工程、信息技术或相关领域的硕士学位。
• 至少3年软件开发、软件工程或相关领域的经验。
• 有前端和后端开发等全栈开发经验。
• 熟练掌握多种编程语言和框架。
• 有大数据处理、数据分析、机器学习或人工智能的经验。
• 熟悉移动应用开发、物联网或增强现实/虚拟现实技术。
• 有微服务架构、面向服务架构或事件驱动架构的经验。
• 熟悉区块链技术、加密货币或去中心化应用。
• 有无服务器计算、函数即服务或事件驱动计算的经验。
• 熟悉可观察性、监控和日志工具,如Prometheus、Grafana、Elasticsearch等。
• 有身份和访问管理、身份验证、授权和权限管理的经验。
• 熟悉监管合规、数据隐私和安全标准,如HIPAA、GDPR、PCI DSS等。