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
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.)
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
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.
Leadership skills are of moderate importance. Successful incumbents will possess excellent communication skills and have the ability to interpret technical information to all levels of associates in a positive and motivational manner and so that they can understand. An emphasis on inter-personal relationships and 'results orientation' will ensure success in this position.
The person in this position will need to have keen analytical skills that will allow him/her to look at data and identify discrepancies and irregularities and determine the best solution to correcting the situation.
In order to be effective in this position, the incumbent must be able to manage multiple priorities and deadlines to better handle day-to-day and special situations.
Physical Demands and Work Conditions
The physical demands described here are representative of those that must be met by an associate to successfully perform the essential functions of this job. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential function. While performing the duties of this job, the associate is required to stand; use hands to finger, handle, or feel objects, tools, or controls; reach with hands and arms; and talk or hear; stoop, kneel, crouch or crawl; and climb or balance. The associate must occasionally lift and/or move heavy equipment. Specific vision abilities required by this job include close vision, color vision, peripheral vision, depth perception and the ability to adjust focus.
The work environment characteristics described here are representative of those an employee encounters while performing the essential functions of this job. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions. The work environment includes working with moving mechanical parts. The noise level in the work environment is usually moderate to loud as in and around computer room equipment.
EZCORP is an Equal Opportunity Employer.
EZCORP participates in the E-Verify Program (Department of Homeland Security) which electronically verifies the employment eligibility, identity, and Social Security number validity of all new hires and rehires.