Software Engineer II

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


Use modern tools, techniques, and methods to develop, modify, or update applications used by business units or infrastructure units. Collaborate with subject matter experts in those units to determine unit needs and business processes that are automated by the application. Participate in most or all of the steps in the software development life cycle to create and modify the software.


  • 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 lead 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


  • 2+ years of related experience


  • 2 - 4 years of hands on Development experience with Javascript (JQuery, Angular, Backbone, node, typescript), CSS, Core JAVA, Python, J2EE (including Spring and Hibernate) and REST/SOAP Web Services is a must.
  • Experience in implementing SOA enabled web services using RESTful APIs as well as WS-* standards (SOAP, WSDL, Basic Profiles, JAX-WS, JAXB, Transactions)
  • Experience with Oracle Fusion Application Server (or similar application server)
  • Experience in Agile Scrum and development of continuous integration and test driven development environments
  • Experience with CICD Tools (e.g., Jenkins) is desired
  • Automation testing experience (Cucumber, Selenium) is desired
  • Familiar with libraries such as Axis2, Xerces, Google Guava, Apache Commons
  • Experience with Oracle database, and PL/SQL is a plus
  • Proficient in UNIX       


As a condition of employment with Fannie Mae, any successful job applicant will be required to pass to successfully complete a background investigation.


Fannie Mae is an Equal Opportunity Employer.
Req ID: 58051