团队介绍
百度工程效率部(EE)是致力于打磨先进的研发工具链产品,推动百度研发工程效率的提升,实现万人以上规模的协同开发,包括万人规模的企业代码管理、评审工具集(类似GITHUB,GITLAB),持续集成系统,编译系统,DevOps工具,项目管理平台,敏捷开发管理平台等
代码搜索C++ / JAVA工程师(上海)
代码搜索团队是属于部门智能软件开发方向的团队,借助当前学术界最先进的研究,在企业内进行落地应用。具体业务主要分为数据、服务和产品:数据包括海量代码相关数据的分析、计算与存储,产生索引化的数据和知识图谱;服务是基于数据提供各种服务,比如百亿行代码治理,代码变更的影响分析等等;产品包括正在打造的代码搜索与代码跳转等类似部分 web IDE 功能的产品。
团队用到的技术很多,比如代码分析,涉及代码抽象语法树的解析、编译技术等;数据主要涉及ETL、分布式、Elasticsearch、图数据库等;服务涉及微服务等;产品除了产品设计外,技术上包括性能,SLA 等。技术可选择性比较广。另外,团队也承担了落地软件开发智能化的任务,可以接触国内最一流的研究,在百度内落地软件开发中机器学习相关技术。
我们正在招聘 Java 和 C++ 工程师,工作地点在上海百度研发中心。
职责
- 作为工程师,承担数据、服务等后端需求的开发,并且日常使用自己研发的系统,发现相关功能、体验的问题,进行修复和改进,不断优化整体产品及平台。
- 与其他工程师进行配合研发,通过高标准的代码评审、设计评审等环节,保持代码质量的稳定可靠。
- 与产品、前端、测试、用户等多种角色互动,推荐功能落地,如前后端通信规范、测试方法、产品使用方法等。
- 追踪学术界和工业界软件开发相关最前沿的理念、技术、产品,致力于使团队研发处于行业的领先地位
环境
- 编程语言主要是Java 和 C++,分别是不同的业务,C++ 更多是负责百度的基础库,Java 是代码搜索等业务开发,因此,熟练掌握 Java 或者 C++ 的都可以。
- 团队始终保持学术界和工具软件开发最前沿技术的敏锐嗅觉,智能化软件开发是百度承担的国家科技部重点专项,团队需要落地其中相关的技术。这也是部门的重点 KPI 之一。
- 团队拥有高度可复用的研发工具,包括代码检查、项目调试、系统构建、部署等功能,可一键完成相关工作,无需耗费大量精力在重复性劳动上。
- 团队对代码质量要求严格,拥有对质量和可维护性绝不妥协的信念。所有代码必须有同行进行评审,不定期进行架构、设计、代码的分享与讲解。
- 具备可执行的培训机制,包括入职后的基本技术能力培训、工作过程中导师1对1的辅导跟进,以及团队持续的分享与培训,也可通过提出主题来获得他人的分享。
要求
- 最少是毕业 1 年以上,希望换工作不要太频繁,计算机相关专业的优先考虑
- 扎实的 Java 或者 C++ 功力,设计模式精通就更好了
- 熟悉常用的算法和数据结构
- 其他技术都不是必须的,比如是否具备分布式经验,是否熟悉 Elasticsearch 等等,都不重要
- 作为一个团队成员,希望你是乐观积极向上,习惯正向思维,保持开放心态,拥有团队合作精神,并且对技术研究和应用有浓厚兴趣,有强烈的上进心和求知欲,善于学习和运用新知识
联系方式
可将简历发送至:liuzhiwei03@baidu.com
JAVA研发工程师(北京)
职位职责
- 与产品经理沟通,充分理解产品需求,进行模块设计,实现产品需求
- 基于公司统一编码规范,完成代码编写和单测编写,养成良好编码习惯
- 承担部分线上运维工作,包括上线部署,线上问题定位,保证服务稳定性
- 研究学习先进的软件工程方法与实践、业界竞品,结合用户反馈打磨先进研发工具
任职要求
- 具有扎实的Java编程能力,熟悉Dubbo和了解微服务相关知识
- 技术栈是Java、Spring/Hibernate/ Mybatis、Solr/Zookeeper
- 能够熟练应用mysql、redis,拥有优秀的数据库设计能力
- 很强的代码质量意识和工程能力意识
- 熟练使用Linux系统的常用命令(less、more、awk)
- 优秀的团队合作、自驱力、学习力和理解能力,乐于接受挑战
- 对国内外研发领域的工具优先,构建工具(Gradle, Maven, Bazel, Buck, Xcode),流水线工具 (Jenkins, Bamboo, TeamCity...),测试自动化充满热情(UI功能测试,测试分级, 覆盖率分析),云基础架构 (AWS, GCE, Azure, Kubernetes, Docker)
联系方式
可将简历发送至:jianglifen@baidu.com