Fannie Mae Careers

Software Engineer II (Java/J2EE)

Herndon, Virginia
Information Management

Job Description


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


As part of our Multifamily Technology team, the Sr. Software Engineer will be supporting our eServicing application using Java, J2EE, and the Spring Framework along with other modern tools, techniques, and methods. They will also be responsible for migrating our legacy applications to a modern platform. The Sr. Software Engineer will also be responsible for collaborating with subject matter experts in those units to determine unit needs and business processes that are automated by the application.

  • Work with product owners and other development team members to determine new features and user stories needed in new/revised application.
  • Participate in code reviews with peers and managers to ensure that each increment adheres to original vision as described in the user story and all standard resource libraries and architecture patterns as appropriate.
  • Serve as a technical analyst for an Agile team and actively participate in all Agile ceremonies. Participate 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.
  • Respond to trouble/support calls for applications in production in order to make quick repair to keep application in production.
  • Create or Update documentation in support of development efforts. Documents may include detailed specifications, implementation guides, architecture diagrams or design documents.
  • Mentor less experienced staff.
  • Set up and configure a continuous integration environment.
  • Intermediate proficiency in unit testing as well as coding in 1-2 languages (e.g. Java, etc).
  • Intermediate proficiency in Object Oriented Design (OOD) and analysis. Intermediate proficiency in application of analysis/design engineering functions. Intermediate proficiency in application of non-functional software qualities such as resiliency, maintainability, etc. Intermediate proficiency in applying behavior-driven testing techniques.
  • Bachelor's Degree or equivalent required.
  • 4+ years of related experience.
  • 5+ years of experience developing, designing and analyzing applications using Java, J2EE, and the Spring Framework, Spring Boot.
  • Experience working with Java applications deployed in a Linux/Unix environment
  • Experience with JBoss, JMS, WebServices (Restful or SOAP), and JUNIT.
  • Some front-end development experience (JSP, JavaScript).
  • Ability to absorb data/information from multiple sources, apply strong analytical skills, and provide thoughtful, strategic recommendations to deliver tangible business value 
  • Exposure to CI/CD Continuous integration tools like Jenkins, Test Automation, Build tools like Maven/Ant.
  • Experience with version control tools like SVN and/or Git.
  • Experience with Angular 4/5.
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.

Req ID: 55401