Senior Java Developer
As a Senior Developer, you will be a part of the software development team that will work on projects for critical core applications. You will be engaging with a project team that's comprised of business, analysis, testing, and infrastructure partners, all working together to enhance the capabilities of these systems.
Your work falls into four primary categories:
o Engage with Architecture.
o Partner with Enterprise Architecture to define technical solutions to complex business issues that align with target state architecture and conforms with corporate best practices.
o Provide technical guidance to the project team. Lead design and code reviews.
o Business Communication.
o Engage with the business to discuss issues and document or explain technical solutions in a simplified meaningful way.
o Understand Business Requirements, participate in Requirements Analysis, design applications based on System Requirements and Architecture, prototype if necessary, develop, unit test and deploy the application.
o Build Micro Services based solutions using Java/JEE frameworks, Docker and Open Shift. Newly created Micro Services will replace Legacy Java/JEE monolithic application.
o Comply with the department application standards and general industry based Java/JEE based application development principles, theories, concepts, documentation and techniques.
o Contribute in creating delivery pipelines for newly created Micro Services on Docker and Openshift platforms.
o Support building Micro Services practice within development group with objective to create standards, tools and training other developers.
o Support one of core applications in providing Level 3 support, which includes providing fixes to production defects.
o Quickly evaluate defects, investigate cause and come up with solutions to remediate.
o Production support is a Matrix-based organizational support, and the individual needs to clearly communicate progress and issues to Matrix manager.
Bachelor's degree in Computer Science or related discipline or an equivalent combination of education and experience from which comparable knowledge and skills may be acquired
2 or more years of experience working in Agile, Lean/Kanban, or Scaled Agile organization.
Demonstrated ability to use Lean/Agile delivery practices to improve teams, quality, and reliability
Experience applying TDD, BDD, and Static Code analysis to improve quality and reliability of delivery
5-10 years of experience in Design and Development of Applications and Web Services using the Java EE, JSP, XML, Weblogic 10, AJAX.
Ability to independently perform the all developer duties from Analysis to deployment to post production defect fixing.
5 years of experience in designing in enterprise grade applications using Object Oriented Analysis and Design.
Produce high quality design artifacts that cover all aspects of sound architecture.
Ability to review and comment on Jr Developers design.
5 years of experience in using JEE patterns.
Java presentation frameworks experience - STRUTS or Angular or similar frameworks, and JQuery
Integration experience using Web Services/REST and EJB preferably on Oracle/Weblogic or JBoss.
Experience in configuring and tuning applications on Weblogic Server or any standard JEE container.
Strong Back End experience to develop Data Layer using frameworks like Hibernate, JPA etc.
Experience in creating Back End frameworks is huge plus.
Experience in Data Integration, Messaging/Events and SOA using Oracle SOA Suite
Strong experience in using XML, JAXB, and XML persistence using XQuery.
Extensive use of Eclipse (commonly used plug-ins and debug techniques)
Experience in code delivery pipelines and adept in building Build and Deployment tools using - ANT, Shell script, Maven, ANSIBLE and Jenkins.
Expert in creating SQL, XQuery and Stored Procedures, performance tuning of Database queries.
Preferred experience but not necessary - Selling System, MISMO/Mortgage, DB2, Oracle DB, DevOPS and MicroServices are plus.
Key to success in this role
Works under minimal supervision. Able to provide technical guidance to the team.
Good communication and team player.
Strong written and oral communications skills.
Proactive in nature with customer satisfaction as primary goal.
Innovative in providing solutions, likes to take on challenges with calculated risk.
Quick learner of new technologies and tools.
Not a just developer, but a developer with a mindset to think holistically to build a reliable, flexible, and well performing system.
Top 3 Personal Competencies to possess
Customer Focus - Engage with internal Single Family business partners to learn and deliver on their needs
Partnership - Align with several IT partners, including the Architecture, Infrastructure, and Support teams in delivering easily maintainable solutions
Drive for Execution - Focus on results that meet the business and corporate needs and moves the company to its future desired state