EZCORP
Austin, TX, USA
Dec 09, 2019
Career Description The Microservices Architect will be responsible for defining an architecture that structures applications as a set of loosely coupled, collaborating services. The role involves interacting with Business Partners, internal IT Teams and external vendors to understand requirements, end to end business flow and deliver system solutions. Key Areas of Responsibility Define Microservices based architecture to support Digitization of existing POS system Design a complete back-end framework that is scalable and reliable with high availability Design solutions with ability to hot deploy releases/patches and maximizes on cloud PaaS features to enable system availability Champion best practices for Microservices (Domain Driven Design, Reactive Modelling) Design scalable caching strategies to optimize performance and identify the right tools for the architecture Identify and design API layer for service registry, management, throttling, routing etc. Design security and authentication features in compliance with company policies Design system with the right mix of Monitoring, Alerting and Tracing Define Templates for Development Teams and perform regular code reviews to ensure best practices are followed Design Integration layer using a combination of approaches (services, messaging etc.) to support downstream data flow and also work in concert with existing systems Develop architecture diagrams (conceptual, logical, system etc.) using tools like Visio Develop services using technologies like but not limited to Spring Boot, Spring Cloud Define strategy for Test Driven Development to ensure requirements coverage Prepare documentation where necessary, including training, process flows, system structure, etc. Critical and Essential Tasks Collaborate with managers, directors, project managers and project sponsors to identify potential system improvements and determine project scope and vision Conduct interviews and product analysis to gather user requirements via workshops, questionnaires, surveys, site visits, workflow storyboards, use cases, scenarios, and other methods Develop and utilize standard templates to accurately and concisely write requirement specifications Translate conceptual user requirements into functional requirements in a clear manner that is comprehensible to developers/project team Develop prototypes of interfaces and attributes based on findings Analyze and verify requirements for completeness, consistency, comprehensibility, feasibility, and conformity to standards Create process models, specifications, diagrams, and charts to provide direction to developers and/or project teams Develop and conduct peer reviews to ensure that requirement specifications are correctly interpreted Communicate changes, enhancements, and modifications - verbally or through written documentation to directors, project managers, sponsors, and other stakeholders Research, review, and analyze the effectiveness and efficiency of existing requirements-gathering processes and develop strategies for enhancing or further leveraging these processes Recommend practices and procedures that work towards the continuous improvement of the requirements process Chart existing business processes in order to define current business activities for the development of procedures and models Meet with decision makers, system owners, and end users to define business, financial and operational requirements and system goals Prototype new procedures for the purpose of enhancing business processes, operations, and information process flow Provide guidance and/or instruction to junior staff members Career Requirements Experience 12+ years of experience in Software Development preferably with Java and other open source technologies; A minimum of 3 years of experience architecting and leading teams on Microservices based solutions; Extensive experience with Java with a heavy focus on Spring based applications in the previous 3-5 years; Extensive experience with SQL writing complex queries for development/analysis and performance tuning of queries; Prior experience developing Integration Applications using a combination of services (REST, SOAP) and messaging frameworks (preferably Kafka); Experience leading teams technically with the ability to trouble shoot critical issues and recommend solutions; Prior experience with design and delivery of cloud native applications; Strong experience with cloud frameworks (AWS, Azure, Oracle Cloud etc.) Education Bachelor's degree or equivalent from a four-year college or university in accounting, business administration, computer science, finance, or information systems Technical & Professional Skills Job-Specific Knowledge, Skills, and Abilities Extensive experience developing applications using Java and Java Spring Boot Strong SQL development experience Familiarity with Best Practices, Designs and Patterns of Microservices Experience with developing web services (REST/Soap) and familiarity with JSON. Prior experience building applications using MEAN stack Good understanding of different architectural approaches for building integration applications (Microservices, SOA, Messaging) Good understanding of DevOps and coordinating with DevOps teams to setup CI/CD pipelines. Prior experience in utilizing Service Mesh (Istio), API Management tools (Apigee) and Messaging tools (Kafka) in building Microservices solution. Proven experience with business and technical requirements analysis, business and process modeling, system development methodology. Experience overseeing the design, development, and implementation of software and hardware solutions, systems, or products Strong analytical skills, ability to reconcile initiatives with business strategies and goals, competence with common financial analysis techniques Demonstrated ability to create requirements specifications in both technical and user-friendly language. Proven ability to exercise independent judgment and take action. Demonstrated analytical, mathematical, and creative problem-solving skills. Highly self-motivated and directed. Strong customer service orientation Proven ability to effectively prioritize and execute tasks while under pressure. Demonstrated strong verbal and written communication, listening and interpersonal skills; attention to detail and accuracy in work; and time management and organizational skills Demonstrated strong verbal and written communication and interpersonal skills; attention to detail and accuracy; and time management and organizational skills. Highly proficient in the use of MS Word, MS Excel, PowerPoint and Outlook Service Orientation This is a major area of importance. People who are successful in this position will be eager to help, committed to doing things right and always focused on the customer's wants and needs.Salary Range: NAMinimum Qualification11 - 15 years Associated topics: application developer, architecture, design, design pattern, develop, expert, java, project architect, senior, senior software developer