Backend Developer

  • Seattle, WA
  • Posted 14 days ago | Updated 14 days ago

Overview

On Site
$50 - $60
Contract - W2
Contract - 12 Month(s)

Skills

Java
Kafka
Kubernetes
NOSQL
design patterns
Devops
high level design
Docker
Caching
microservice

Job Details

  • Develop REST based API & Services that power our Salesperson to customer selling in stores.
  • Assist in mentoring a team of skilled engineers while you get direct mentorship and support to grow your career to the next level.
  • Design and Prototype. We love individuals who like to make things real. In writing the code, we often realize the more significant implications. Seniors typically set the path and standards for the team.
  • Think in terms of telemetry and operations. Senior Engineers are thinking about more than just the code they are writing today but also whether that will be maintainable, testable, or supportable. And we build our applications to be easily monitored to catch potential issues before they impact our customers.
  • On-call support - We care about our customers, so we build and support. We also care about you and ensure we have scheduled on-call rotation in our team. We are all human and need rest.
  • Take a business problem and come up with the technical strategy (push vs pull etc real time vs batches sync vs async) within the team high level design and lead the implementation.
  • Need minimal directions or guidance and collaborate with other engineers across teams working on the same or similar business problem.
  • Ensure design or architectural deficiencies are addressed.
  • Consistently lead delivery of valuable features
  • Help elaborate requirements where necessary.

Skills:

  • Java 8+, Spring Boot, Spring, Docker, Kubernetes, GIT, API Gateway technologies, load balancer configurations, AWS services, CI/CD tools, API best practices, API security, microservice patterns etc.
  • Experience of Kafka, SQL and NOSQL will be preferred.

Education:

  • Technology Understanding & Programming (Must be very Strong)
  • Demonstrate in depth knowledge of IDE language and toolset in language of choice.
  • Implement critical path components in a large or complex or project.
  • Demonstrate excellent understanding of language & framework and a good working knowledge of the abstraction layer underneath,
  • Profile and optimize code.
  • Understand threads threading model and concurrent programming.
  • Comfortably test drive any feature/comfortable with TDD cycle.
  • Demonstrate a good knowledge of other programming languages & paradigms and when to apply them.
  • Comfortably debug/find complex problems.
  • Should have a wide range of technical exposure.
  • Understand advanced HTTP features (Caching appropriate use of verbs).
  • Deep understanding of distributed architecture scaling replication and sharding concepts and their applicability to the product being developed.

Design (Must be very Strong)

  • Identify and apply appropriate design patterns to problems.
  • Comfortably develop large features
  • Demonstrate a good understanding of cohesion SOLID and how to apply.
  • Understand importance of domain model and can coherently model a problem domain within a given context.
  • Anticipate medium term (3-6 month) vectors of change and designs and abstracts accordingly.
  • Understand and appreciate simplicity and the value of removing code.
  • Understand design patterns such as CQRS and eventual consistency.
  • Understand how to design for performance at all levels.

Development Practice

  • Automate everything by default.
  • Build a CI/CD pipeline.
  • Automate security scanning and performance testing as part of build.

Infrastructure

  • Demonstrate a good grasp of multiple operating systems.
  • Demonstrate a good grasp of scripting techniques.
  • Demonstrate expertise in one database & good grasp of multiple data storage paradigms and when to apply other technologies.
  • Understand and can automate PaaS technologies.
  • Understand when to apply appropriate infrastructure technologies.

Security

  • Write secure code by default.
  • Use tools to perform deep security probes.
  • Understand server hardening.

Nice to Have: DevOps, Strong Design Patterns