Fannie Mae provides reliable, large-scale access to affordable mortgage credit in communities across our nation. We are the leading source of funding for housing in America, which means more people can buy or rent a home. We are focused on sustaining the housing recovery, improving our company, and leading change to make housing better.
Join our diverse, high-performing team and make a difference as we work together to enable access to a good home.
For more information about Fannie Mae, visit http://www.fanniemae.com/progress
Use modern tools, techniques, and methods to develop, modify, or update applications used by business units or infrastructure units. Lead, or play lead technical role in development teams' efforts to determine unit needs and business processes that are automated by the application. Participate in or review all of the steps in the software development life cycle to create and modify the software.
KEY JOB FUNCTIONS
* Collaborate with software engineering team members to enhance and implement application functionality in support of enterprise-level development initiatives.
* Serve as mentor to less-experienced software engineering team members.
* Collaborate with other teams involved throughout software development lifecycle to ensure successful delivery of design & integration from end-to-end.
* Be an advocate for innovation across team by researching, learning, and presenting new technologies for utilization and drive change through collaboration with others.
* Employ design thinking methodologies with a passion for designing and building a user-friendly product, both in visual presentation but also in technical architecture and code elegance.
* Adopt to change and effectively lead change management activities in a fast-paced environment.
* Serve as a senior-level or lead resource for an Agile team and actively participate in all Agile ceremonies, participating in all team ceremonies including planning, grooming, product demonstration and team retrospectives.
* Leverage Fannie Mae DevOps tool stack to build, inspect, deploy, test and promote new or updated features.
* Bachelor's Degree or equivalent required
* Bachelor's degree in Computer Science/Engineering or related field desired
* Prior experience working in secondary mortgage applications would be a plus
* 4 years of related experience required
* 6 years of related experience desired
SPECIALIZED KNOWLEDGE & SKILLS
* At least 6 years' experience in software engineering using Java, J2EE, and the Spring Framework, Spring Boot.
* In-depth understanding of OOP, design patterns, and data structures.
* Strong experience w/ Spring (Core, MVC, Security, Boot) framework, Hibernate ORM framework, and Web Services (REST).
* Strong knowledge of REST architecture (Java, Spring boot, Swagger/API Specs); Experience working in microservices-based architecture.
* Experience working with Java applications deployed in a Linux/Unix environment.
* Strong knowledge of relational Databases, Oracle SQL required.
* Experience with CI/CD Tools (Jenkins, Artifactory, Nexus) & Build Tools (Maven, Git, npm, SVN).
* Experience with Agile Development Methodologies and Practices such as Scrum, Kanban, etc.
* Knowledgeable in the principles of CI/CD, Blue/Green, and other DevOps practices & tools.
* Experience in Automation Testing: Selenium, Cucumber, Karma, TestNG, Automated Performance and Regression/Functional Testing.
* Experience in developing APIs using Spring Boot framework, ideally with Docker container or OpenShift Cloud Platform (OCP).
* Experience with UNIX, LINUX scripting.
As a condition of employment with Fannie Mae, any successful job applicant will be required to successfully complete a background investigation.
Fannie Mae is an Equal Opportunity Employer.
About Fannie Mae
Fannie Mae provides reliable, large-scale access to affordable mortgage credit so people can buy, refinance, or rent homes.