Software Architect (Java)

 (8+ years exp)
$90k – $110k • No equity
Published: 1 month ago
Avatar for TSS Paratransit

TSS Paratransit

Game-changing software for productive and reliable paratransit

Job Location

Job Type

Contract

Visa Sponsorship

Not Available

Relocation

Allowed

Skills

Java
Queueing systems — RabbitMQ Kafka
JPA/EclipseLink/Hibernate
Spring Framework

The Role

An established USA transportation software development company is looking for a motivated Principal Software Engineering Lead / Architect. Our software serves more than 1.5 million trips per year, utilizing experience and knowledge accumulated during the company’s 22 year existence as well as modern technologies.

This is a full-time remote position.

Base Qualifications

  • 10+ years of software engineering covering all stages of the product and service lifecycles
  • 7+ years of experience in software development using Java
  • Computer Science fundamentals in system design, data structures, algorithm design, and complexity analysis
  • Strong background in OO design
  • Working knowledge of enterprise application patterns
  • Experience with at least one well-known ORM framework
  • 5+ years of experience in working with relational databases
  • 2+ years of experience in Spring Framework or in one of the Spring products based on it
  • Knowledge of inversion of control design principle and experience with Dependency Injection frameworks
  • Knowledge of CI/CD best practices
  • Understanding of containerization technologies
  • Experience releasing products with 24x7 availability
  • Code reviews, design reviews, automated testing, whiteboard discussions
  • Experience mentoring junior software engineers to improve their skills, and make them more effective

Preferred Qualifications

  • Bachelor’s Degree in Computer Science or a related field
  • Experience with evaluating different architectural approaches and solutions
  • Comfortable with reactive stack (Webflux, Reactor, etc.)
  • Hibernate or EclipseLink
  • Spring Cloud
  • Experience with monolithic and microservices architectures
  • Experience implementing and consuming RESTful APIs (Spring RESTful)
  • OpenAPI (Swagger)
  • Experience with distributed caches (e.g. Infinispan, Terracota, Hazelcast)

Responsibilities

  • Become an expert in all aspects of the software developed by the company, including legacy applications
  • Be a role model and coach for the software development team
  • Estimate and plan task execution
  • Perform hands-on development, prototyping
  • Lead code reviews and design reviews
  • Communicate with users, other technical teams, and senior management to collect requirements, describe software product features and technical designs if needed
  • Deploy new releases or assist in deployment
  • Document solutions and software code according to best practices
  • Report team progress to the company leadership
  • Participate in discussions on how to improve and optimize internal processes and practices
  • Mentor team members