Sr. Software Engineer - Java/API

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

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
  • Work with product owners and other development team members to determine new features and user stories needed in new/revised applications or large/complex development projects.
  • Create or Update documentation in support of development efforts. Documents may include detailed specifications, implementation guides, architecture diagrams or design documents.
  • 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.
  • Respond to trouble/support calls for applications in production in order to make quick repair to keep application in production.
  • 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.
  • Mentor less experienced technical staff; may use high end development tools to assist or facilitate development process.
  • Leverage Fannie Mae DevOps tool stack to build, inspect, deploy, test and promote new or updated features.
  • Set up and configure a continuous integration environment.
  • Advanced proficiency in unit testing as well as coding in 1-2 languages (e.g. Java, etc).
  • Ability to identify and resolve ambiguity around the requirements.
  • Advanced proficiency in Object Oriented Design (OOD) and analysis. Advanced proficiency in application of analysis/design engineering functions. Advanced proficiency in application of non-functional software qualities such as resiliency, maintainability, etc. Advanced proficiency in advanced behavior-driven testing techniques.
EDUCATION
  • Bachelor’s Degree or Equivalent
MINIMUM EXPERIENCE 
  • 6+ years of related experience   
SPECIALIZED KNOWLEDGE & SKILLS
  • 6+ years of Enterprise-level Development experience using Java and Spring Framework.
  • Strong OO Design Principles and Coding experience.
  • Spring MVC, Spring Security and other Spring Modules.
  • Unit testing experience with Junit and Mockito as well as integration testing
  • Very good SQL skills in PostgreSQL.
  • Experience in design Microservices and API.
  • Understanding of encryption, authentication and authorization patterns.
  • Experience with developing/deploying apps in AWS.
  • Use of Git, Jira and other products for supporting Software development.
  • Experience utilizing the latest industry standard tools and best practices required.
  • Presentations and Reporting skills desirable.
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: 57637