全栈软件开发工程师(Java)

15个月前全职
Dice

Dice

location 洛杉矶
unsaved
Dice是技术专家在职业生涯的每个阶段的首选职业目的地。我们的客户,福特汽车公司,正在寻求以下职位。立即通过Dice申请! 职位描述 NA 架构: •小班教学,小方法,沟通代码: • Java / Kotlin-旧服务使用Java,新服务使用Kotlin • Pivotal Cloud Foundry-迁移到Google Cloud Platform •从端到端和组件级测试的测试运行动态生成的组件/序列图(活动序列图) •事件驱动的微服务架构-通常通过添加松散耦合的事件(RabbitMQ,Kafka)添加新的端到端功能; •实际的微服务-服务的逻辑适合半个屏幕(通常); •使用MacBook Pros和IntelliJ IDEA进行开发(两者都提供)出于安全原因; •基础设施即代码(在可能的情况下)-我们的基础设施通过代码和git版本配置。 实践: •用户故事(实际上是垂直的)-虽然我们主要实现API,但我们考虑第三方开发人员作为我们的用户; •用户故事映射-我们确定支持业务流程(活动和步骤)和商业目标(“发布”切片-尽管这是一个概念性概念,因为我们每天发布15-20次)的故事; •BDD / TDD(如果您真的是这样)-从外部和内部循环的场景驱动的外部开发,从端到端,CDC,组件(服务)测试,单元测试,变异测试; •基于主干的开发-没有功能分支,所有开发都在主分支/主分支上进行,采取小而安全的步骤; •持续部署-每次推送1-3个提交,然后进行自动化构建,然后测试该服务,然后与其他服务进行端到端测试,然后在20-40分钟后(取决于服务)自动将其部署到生产环境中使用蓝绿部署; •作为构建的一部分部署到主要和故障转移环境; •反向拉取请求-用于协作代码审查,即使许多提交已在生产中运行(只有当工程师表示对代码可维护性感到满意时,我们才算完成)。 经验和背景要求: •计算机科学或相关工程学位 •至少2年的主要Java开发经验(期望全栈)和测试驱动开发(TDD),使用JUnit,Mockito或相关工具 •需要有微服务经验。 •期望具备Kotlin经验,但不是强制要求 •英语熟练(书面和口头) •其他经验为加分项:极限编程技术,CI / CD,异步消息传递(Kafka,RabbitMQ,Pub / Sub),Jenkins,微服务架构,Pivotal Cloud Foundry(PCF),Google Cloud Platform(Google Cloud Platform) 能力和技能: •高度自治-特别是在开发方式和优先处理加速团队的工作方面。 •高度协作-配对,聚集,交换配对,每日技术知识共享会议-通过屏幕共享与团队成员持续合作,定期休息,每天进行多次团队范围的协作。 •优化流程,而不是利用率-基于拉的流程,没有冲刺/迭代,只是每隔几天完成一小片工作。 •不估计-我们有一个使用经验性吞吐量数据来预测范围完成的自动化预测工具。 •质量为中心-自然高测试覆盖率(90-100%),高内部代码质量。 •持续改进-在工作方式,技术和架构方面。