Job Description :
Position : Java Architect
Location: Durham, NC
Duration: Long Term
Interview: Phone then Skype

"Must-Have Skills: (Stack rank in order of priority. Most critical skill listed first & what they need to be capable of doing with each technology)"
- Java (100% back end)
- Spring
- Cloud (AWS preferred, but willing to see any cloud experience)
- Oracle database or postgreSQL
Daily Responsibilities: re-engineer/architect existing apps to take them to the cloud and rebuild existing platform.
Additional Details: This person will be on a team of Architects and Engineers that deals with the Brokerage team. There is a team of Enterprise Architects that this person will work alongside for different apps.

Primary Responsibilities:
Lead the definition of system architecture and detailed solution design
Write concise and clear technical specifications based on analysis of complex business requirements
Coordinate multiple development work streams through integration and ensures architecture is scalable and extensible
Define, maintain and support development environment while adopting industry best practices and tools
Create working prototypes and proof of concepts for applications leveraging new concepts and technologies
Ensures code reviews, unit testing and integration testing is completed efficiently and effectively
Help coordinate the delivery of technical components across internal/external technical teams.
Work closely with business partners and management team in evaluating current systems and making decisions on future development.
Participate in development of long range planning for new projects and facilities.
Provide technical leadership on advice, training and technical support for various projects.
Provide technical leadership to more junior team members of the team

Education and Experience:
Bachelor''s degree or higher
10-12 years of software development experience
8-10 years of Java EE development experience
2-3 years of experience on Cloud architecture and cloud services
Investment/financial services experience is highly desired

Skills and Knowledge:
Good understanding on Cloud applications architecture and micro services model development including IaaS, PaaS, SaaS
Experienced with using Cloud Orchestration/Workflow Automation and building distributed scalable applications
Experienced with building framework for modern transactional and data processing applications
Ability to multi-task and stay organized in a dynamic work environment while meeting deliverables
Experience with Agile development methodologies such as SCRUM, Extreme Programming, TDD etc.
Strong verbal and written communications, must be able to actively engage other team members
Understanding of Agile systems development techniques utilizing Continuous Integration (CI)/Continuous Deployment (CD) and DevOps
Prior experience working with development teams in onshore-offshore model

Experience or exposure to a number of the following concepts and technologies is desired:
o Application development using Java EE, Spring framework
o Relational databases like Oracle, MariaDB as well as no-SQL databases such as MongoDB
o Experience building JMS-based asynchronous transaction processing services
o Expertise in building application in Cloud Platforms such as AWS, Azure and Google Cloud and leveraging native services
o Experience using Docker containers and Cloud PaaS and orchestration services such as OpenShift highly desired
o Understanding of and experience with Micro-Services Architecture concepts and emerging patterns such as APIs, JAX-RS, REST/JSON
o Event driven transaction processing using EAI, ESB and messaging patterns using technologies such as Kafka, WSO2, ActiveMQ, Tomcat etc.
o CI/CD tools such as Maven, Git/Stash, Jenkins, Nexus, uDeploy, Docker etc.