Lead Java Developer Position Summary:A top-notch tech company that specializes in making the parking life easier and user-friendly is seeking to add a Senior Java developer to provide high quality solutions and mentorship to solve complex requirements. In this role, you will leverage your expertise with systems development methodologies and process improvement to implement best practices that improve the overall architectural efficiency and product quality. Innovative, results-driven, architecture, integration, implementation, and delivering cost effective, high-performance, high-quality solutions to meet business demands. Within this company you will be a part of a development technology team who will analyzes business requirements and problems and drives research to design quality technical solutions.Experience and Education:Bachelor’s Degree in Computer Science or equivalent work experience5+ years of hands-on software development experience using JavaExperience as software architectExperience building, debugging, and maintaining enterprise SaaS web applications using JavaExperience in designing, implementing, and supporting enterprise level applications and database designTechnology Skills and Strengths:Java (Java 8+)Software architectureSoftware designAWSPostgreSQLKotlinRabbitMQRedisAPIsWeb Services: REST, SOAP, XMLGIT Source ControlService OrientedMicroservicesMVC patternsDesign patternsTroubleshootUnit testingSCRUM/AgilePrimary Job Responsibilities:Assist in implementing and evolving application architectures based on the established roadmaps.Analyze and define the current architecture systemDesign scalable architecture systems for Java-based applicationsIdentify the current company’s hardware and software infrastructure to accommodate current/new architectural goalsTroubleshoot design flaws and system bottlenecksExamines new technologies for potential application to operational requirements and company missionDevelops models and performs validation tests to ensure architecture is flexible and capable of supporting large scale applicationsAccountable for ensuring the technologies used in a given solution work together; and designs are consistent, maintainable and flexible.Maintain a thorough understanding of application technology trends that impact the ability to service business priorities.Support critical business functions through the development, implementation, and maintenance of standalone Java applications and web application systems.Prioritize quality over quantity and speed when delivering solutions.Build-out the necessary documentation and development standards that guide future development.Ability to be highly flexible in a dynamic project planning environment.