Compañía

Ford Motor CompanyVer más

addressDirecciónMéxico
CategoríaTecnologías de la información

Descripción del trabajo

Responsibilities for Internal Candidates

ARCHITECTURE:

  • Small classes, small methods, communicative code :
    • Java/Kotlin – Older services are in Java, new services use Kotlin
    • Pivotal Cloud Foundry – migrating to Google Cloud Platform
    • Component/Sequence Diagrams generated dynamically from test-runs of end-to-end and component-level tests (Living Sequence Diagrams)
  • Event-Driven Microservices Architecture – new end -to-end functionality is usually added by adding microservices that are loosely coupled by events (RabbitMQ, Kafka);
  • Actual Microservices – the logic of the service fits on half a screen (usually);
  • Development on MacBook Pros with IntelliJ IDEA (both supplied) for security reasons;
  • Infrastructure as code (where possible) – our infrastructure is configured via code and git versioned config.

PRACTICES:

  • User Stories (that are actually vertical) – while we mainly implement APIs, we do so with the 3rd Party developer in mind as our user;
  • User Story Mapping – we identify stories that support the business process (Activities & Steps) and the commercial objective ("Release" Slice – although this is a notional concept since we're shipping to prod 15-20 times per day);
  • BDD/TDD (as if you really meant it) – outside-in development, driven from scenarios with outer and inner loops from e2e, CDC, component (service) tests, unit tests, mutation testing;
  • Trunk Based Development – no feature branches, all development done on Master/Main with small safe steps;
  • Continuous Deployment – 1-3 commits at a time are pushed, resulting in our automated build then testing that service and then end-to-end with other services, automatically deploying it to production with blue-green deployment 20-40 minutes later (depending on the service) ;
  • Deployment to primary and failover environments as part of the build ;
  • Reverse Pull Requests – for collaborative code review even though many commits are already running in prod (we're only done when engineers say they're happy the code is maintainable).

EXPERIENCE & BACKGROUND REQUIREMENTS:

  • Engineering degree in Computer Science or related
  • 3-5 years of experience primary in Java (Full Stack desired) and Test Driven Development (TDD) working with tools such as JUnit, Mockito or related
  • Experience with Microservices is required.
  • English proficiency (both written & verbal)
  • Additional experience as a plus: eXtreme Programming techniques, CI/CD, Asynchronous Messaging (Kafka, RabbitMQ, Pub/Sub), Jenkins, Microservice architecture, Pivotal Cloud Foundry (PCF), Google Cloud Platform (GCP)

COMPETENCIES & SKILLS:

  • High degree of autonomy – particularly on how development is done and on prioritizing work that accelerates the team.
  • Highly collaborative – pairing, mobbing, pair swapping, daily technical knowledge sharing sessions - working with team mates continuously via screen sharing, regular breaks, multiple team-wide collaborations per day.
  • Optimize for flow, not utilization – pull-based flow, no sprints/iterations, just small slices of work taken to do every few days.
  • No Estimating – we have an automated forecasting tool that uses empirical throughput data to forecast scope completion when appropriate.
  • Quality centric – naturally high test-coverage (90-100%), high internal code quality.
  • Continuously improving – in ways of working, technology, & architecture.


Refer code: 1056311. Ford Motor Company - El día anterior - 2024-03-22 15:48

Ford Motor Company

México

Compartir trabajos con amigos