Java Software Engineer II

Job Description

THE COMPANY

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

JOB INFORMATION

Our Multifamily Technology team in Herndon, VA is looking for a Software Engineer II that will be supporting our eServicing application using Java, JEE, and the Spring Framework along with other modern tools, techniques, and methods. You will be working on some of the most cutting-edge technologies and be responsible for migrating our legacy applications to a modern platform.

KEY JOB FUNCTIONS
  • 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.
EDUCATION  
  • Bachelor's Degree or equivalent required    

MINIMUM EXPERIENCE  

  • 3+ years of related experience

SPECIALIZED KNOWLEDGE & SKILLS

Required 

  • 3+ 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
  • Front-end development experience, such as JSP and JavaScript
  • Participate with team of technical staff and business managers or practitioners in the  business unit to determine systems requirements and functionalities needed in large/complex development project
  • Ability to absorb data from multiple sources, apply strong analytical skills, and provide thoughtful, strategic recommendations to deliver tangible business value
  • Experience with ESB and code coverage tools such as Fortify

Desired/Preferred Skills 

  • 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

EMPLOYMENT

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: 57083