资深软件工程师
Staff software engineer
负责软件工程师是我们的工程团队的重要成员,负责创新软件产品的设计、实现、测试和维护。成功候选人需要能够快速学习现有系统和组件,积极参与设计和实现新组件,使用新兴技术开发新产品,有交付面向用户产品的经验,能在大型代码库中工作,设计和开发具有安全性、可扩展性和高可用性的功能,管理并指导一个小的开发团队。
职责
- 参与定义产品级架构,并负责设计组件级架构。
- 负责主要功能和组件的开发。
- 与产品经理和领域专家合作,明确需求并转化为清晰的软件开发任务。
- 指导初级开发人员并进行代码和设计评审。
- 进行软件应用和组件的动手开发和维护。
- 维护和支持现有系统和持续项目。
- 编写单元测试和集成测试。
资格要求
- 需要信息体系、计算机科学、工程或相关领域的学士学位。
- 六年以上 Java 的实际编码经验;最好经过多个完整的开发周期,从规格说明到软件交付。
- 两年以上团队领导经验优先。
- 精通 Java 17。
- 精通 Spring 框架并有实际经验。
- 有多线程编程、分布式系统、开发高性能和可扩展应用程序的经验。
- 有诊断和解决内存和资源瓶颈的经验。
- 精通任意 RDBMS 并有 Docker 实际经验。
- 熟悉 OAuth 2.0 认证流程。
- 熟悉各种设计模式。
- 有 JMS、Elasticsearch/OpenSearch、Kafka 经验者优先。
- 了解 AWS 或其他云平台者优先。
- 有 CI/CD 经验者优先。
- 能够快速学习并有效应用新知识,表现出对新兴技术的关注。
- 强大的分析能力、解决问题的能力和细致入微的注意力。
- 有敏捷开发和持续集成经验。
- 优秀的书面和口头沟通能力。
最初发布于喜马拉雅山
查看英文原文
Overview
The Lead Software Engineer is an integral part of our engineering team, responsible for design, implementation, testing and maintaining of innovative software products. The successful candidate must be able to quickly learn the existing systems and components, actively participate in designing and implementing new components and developing new products using emerging technologies, have experience in shipping user-facing products, working in large code bases, designing and developing features for security, scalability & high availability, managing and mentoring a small team of developers.
Responsibilities
- Contribute in defining product level architecture and be responsible for designing component level architecture.
- Take ownership and manage the development of major features and components.
- Work with Product Managers and SMEs to clarify requirements and convert into clearly defined software development tasks.
- Mentor junior developers and perform code and design reviews.
- Perform hands-on development and maintenance of software applications and components.
- Maintain and support current systems and ongoing programs.
- Write unit-tests as well as integration tests.
Qualifications
· • BA/BS in Information Systems, Computer Science, Engineering, or a related field required.• 6+ years of hands-on coding experience in Java; preferably through several complete development cycles from specifications to software delivery.• 2+ years of experience as a team lead preferred.• Strong knowledge of Java 17.• Strong knowledge and hands on experience on Spring Framework.• Experience in multi-threading programming, distributed systems, developing highly performant and scalable applications.• Experience diagnosing and fixing memory and resource bottlenecks.• Strong knowledge and hands on experience with any RDBMS and Docker.• Good understanding of OAuth 2.0 authentication flows.• Good Knowledge of various design patterns.• Experience with JMS, Elasticsearch/OpenSearch, Kafka is a plus.• Knowledge of AWS or any cloud-based platform is an added advantage.• Knowledge of CI/CD is a plus.• Able to learn quickly and effectively apply new knowledge, demonstrating the desire to stay in touch with emerging technologies.• Strong analytical skills, problem-solving ability and attention to details.• Experience with Agile Development & Continuous Integration.• Excellent written and oral communication skills.
Originally posted on Himalayas