职位描述
作为Golang开发工程师,您将负责设计和实现支持交易所服务器核心功能的高性能系统。该职位需要深刻理解系统架构原则,包括可扩展性、并发性、可用性和延迟优化。您将与跨职能团队紧密合作,将业务需求转化为技术解决方案,确保系统满足功能性和非功能性要求。
理想的候选人将专注于现有系统的持续改进,识别优化和重构机会以适应不断变化的业务需求。这包括深入分析系统瓶颈、开发创新解决方案应对复杂技术挑战,以及实施提升系统效率和可靠性的性能优化措施。
您还将参与软件开发的完整生命周期,从需求收集到部署和维护。这需要强大的分析能力来评估业务需求、设计可扩展架构,并创建指导开发和运维团队的技术文档。
主要职责
- 使用Golang开发和维护高性能交易所服务器系统,确保满足可扩展性、高并发和低延迟要求
- 设计并实现支持高可用性且能与现有平台无缝集成的分布式系统架构
- 对现有系统进行性能分析,识别瓶颈并实施优化策略以提高系统效率和可靠性
- 与产品经理和利益相关者合作,将业务需求转化为技术规范和系统设计
- 编写和维护技术文档,包括API规范、系统架构图和部署指南
- 参与代码审查,确保遵循最佳实践并在整个开发生命周期中保持代码质量
- 监控部署后的系统性能,排查问题并提供持续改进建议
- 关注新兴技术和行业趋势,确保团队采用创新解决方案进行系统开发
职位要求
- 计算机科学、软件工程或相关专业本科及以上学历
- 至少3年Golang开发实战经验,有构建可扩展高性能系统的成功案例
- 深入理解分布式系统、微服务架构和云计算平台(如AWS、Azure、GCP)
- 精通数据库设计和优化,包括SQL和NoSQL技术,确保高效的数据处理和存储
- 具备性能调优经验,如负载均衡、缓存策略和异步处理,以实现低延迟和高并发
- 出色的解决问题能力,能分析复杂技术挑战并开发创新解决方案
- 优秀的沟通能力,能与产品经理、QA工程师和DevOps专家等跨职能团队有效协作
- 熟悉CI/CD流水线、容器化(Docker)和编排工具(Kubernetes),实现高效软件交付和部署
- 具备敏捷开发环境工作经验,熟悉迭代开发和冲刺规划
- 了解系统监控和可观测性工具(如Prometheus、Grafana、ELK堆栈),确保系统可靠性和性能追踪
- 具有API开发和集成经验,包括RESTful API和gRPC,实现系统间无缝通信
- 注重细节,能编写符合行业最佳实践的整洁、可维护代码
- 乐于学习并适应新技术,积极主动提升技能和推动创新
- 既能独立工作又具备团队协作精神,以合作心态达成项目目标
优先条件
- 具有高频交易系统或实时数据处理平台开发经验
- 了解区块链技术或分布式账本系统,用于高级交易所服务器开发
- 熟悉安全协议和加密标准,确保系统完整性和数据保护
- 精通DevOps实践,包括基础设施即代码(IaC)和自动化工具(Ansible、Terraform)
- 具备性能测试工具(如JMeter、Locust)使用经验,验证系统可扩展性和可靠性
- 理解云原生应用的容器编排和微服务部署模式
- 能够设计并实现具有高可用性要求的容错系统
- 熟悉版本控制系统(如Git)和协作编码实践
- 掌握构建可扩展、可维护架构的系统设计模式和最佳实践
- 强大的分析能力,能评估系统性能指标并进行相应优化