高级全栈开发人员职位详情
部门:技术
工作地点:阿布扎比,阿拉伯联合酋长国
汇报经理:工程主管
职位目标:全栈开发人员必须具备API和微服务开发方面的强大技能,并能够在以软件为基础的产品为重点的跨学科敏捷开发团队中与开发人员、设计师和研究人员高效协作。高级职位提供技术领导力,与整个团队密切合作,确保高质量的代码按照项目目标和交付周期交付。该职位与设计师密切合作,为快速原型和高可访问性标准的生产代码提供支持。合格的候选人应能够展示对现代框架和语言的熟悉程度,以及诸如Clean Code、TDD、BDD、持续集成、持续交付和DevOps等工作实践。
主要职责:
职位特定职责
- 框架概念化
- 设计系统架构
- 创建应用和领域模型
- 系统与用户之间的协作
- 编写清晰的代码
- 与内部团队合作
教育、经验和所需技能:
教育背景:
- 计算机科学、软件工程或相关专业学位(优先考虑)
流程和实践:
- 敏捷开发
- Scrum/Kanban/Lean
- TDD/BDD
- CI/CD
- XP经验
- 至少2年
基本技能:
- 遵循Clean Code/Solid原则
- 使用TDD/BDD
- 开发高效、可读、高度优化/可维护和清晰的代码
- Scala、Play、Akka、Spray
- 微服务、Rest
- 消息传递(RabbitMQ、ZeroMQ、ActiveMQ等)
- 模拟测试(Mockito、ScalaTest Spock、Jasmine、Mocha等)
- IDE:Intellij或Eclipse
- 构建工具(SBT、Gradle、Maven等)
- SQL数据库(Oracle、MS SQL Server或Postgres)
- NoSQL数据库:MongoDB
- 确保所有软件具有健壮性和可扩展性
- 构建服务器端Web应用的经验
- 对前端Web开发(HTML/CSS/JS)有深入了解和经验
- 熟悉并有经验使用各种测试应用代码和系统行为和性能的方法(Selenium、Geb、Wiremock、Jmeter、Gatling、Sauce Labs等)
- 能够向非技术人员解释技术概念
- 对类Unix操作系统(如Linux和/或Mac OS X)有工作知识
- 熟悉git版本控制系统
- 能够快速研究和学习新的编程工具和技术
- 了解响应式Web设计的使用
- 深入了解无障碍标准,并开发可轻松使用各种辅助技术的Web产品
其他技能:
- 在非线性管理职位上指导和培训其他开发人员
- 帮助同事优化他们的代码的经验
- 熟悉关系型和非关系型数据库系统
- 系统管理和配置管理技能
- 其他JVM语言(Groovy、Scala、Clojure、Kotlin等)
- 在用户群、业务和同行面前展示工作的经验
- 建立和扩展高流量网站的经验
- 处理大数据集并扩展其处理和存储的经验
- 使用JavaScript库的经验
- 设计和维护公共API的经验
- 处理大数据集并扩展其处理和存储的经验
- Ruby
- 其他NoSQL数据库,如Neo4J、Cassandra、Redis等