职位概述:
软件工程师负责按照解决方案的定义功能基线,设计、开发和测试软件组件。软件工程师在后端软件设计和开发方面具有高度的技术熟练度,同时,他/她也愿意灵活、积极主动地学习新的领域、新的概念和技术。软件工程师将在敏捷团队中负责新的、创新的云原生平台的关键组件的开发,构建世界领先的技术。
他/她的优势和发展兴趣将集中在核心Java、低延迟编程、实时软件、微服务、云原生应用和开源技术,部署在云中的复杂应用环境中。
职责:
· 成功解释和转化功能/特性需求为可证明的软件实现设计,利用现有和/或行业最佳实践框架
· 为团队负责人分配的特性/组件编写高效的软件代码和自动化软件单元测试
· 在敏捷的跨职能跨国团队中工作,积极参与支持团队的成功
· 提供高质量的最佳实践的干净代码
· 跳出传统思维,为解决复杂技术问题做出贡献,并与团队其他成员合作,建立共享的方法共识
要求:
教育背景
· 软件工程、计算机科学或信息技术学士学位,至少5年经验
· 在高度复杂的工程环境中工作的经验
基本技能/经验
· 具有软件设计和开发方法的强大技术知识和实践经验
· 熟悉CORE JAVA,Java 8
· 熟悉常见的集成模式(包括云原生,如微服务,以及流式处理,如lambda和kappa模式)
· 成功开发和部署使用REST、RESTful Web服务和API网关等表示和部署的Web服务的公共API
可选技能/经验
· 熟悉云技术和云原生架构,用于系统设计和交付。特别是对Kubernetes等特定云供应商平台服务的了解
· 了解消息代理中间件/商用软件包(如Kafka生产者/消费者和Kafka Streams)
· 了解云技术、架构和部署领域的网络安全概念(例如,连接方式和潜在风险区域)
· 了解虚拟化和容器化部署,并最好了解Linux基础知识
· 先前接触和使用过几种用于CI/CD和自动化软件测试的工具,并具有实际的软件设计和开发经验。
· 有效使用I/SDE和Gitlab(或等效)环境,并能够快速构建软件项目,在受限环境中高效进行调试和项目增量交付。
· 了解实时软件开发和安全关键系统
· 了解几种语言(如Kotlin、Go、TypeScript、Ada或Java 6)或框架(React、Swing)
· 先前在大型数据存储和分析平台(Datalake)以及数据处理工具(如Kibana、Elasicsearch、LogStash)上的经验
· 先前在AI/ML框架上的经验
· 熟练使用基本操作系统(Linux)的命令行界面和Shell脚本,以加快个人和团队的工作成果。
软技能
· 具有学习能力、灵活性和积极主动性
· 适应敏捷的团队合作和客户沟通