Fannie Mae Careers
Java Software Engineer II
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
Our Single-Family team in Reston, VA is looking for a Software Engineer II that will be part of the most important digital transformation at Fannie Mae. You will be working on one of the most critical applications called Desktop Underwriter and helping to redesign and rebuild the platform as well as be part of moving the entire platform to AWS. 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.
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.
- High performing member of 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-5+ years of related experience
- 2-5+ years of experience of development using Java, JEE and Spring Framework.
- Hands-On experience with Database development and tools with SQL, O/RM, Flyway, OLTP Database Tuning, etc.
- Knowledge of UNIX (Linux) environment and scripting (bash, shell and python).
- Experience with Agile Development Methodology.
- Experience with Spring Core, Spring Boot, Spring MVC, Spring Integration, Spring Security, and Spring Batch.
- Experience in testing automation using Selenium, Cucumber, and JUnit.
- Experience with implementing integration solutions with RESTful Web Services.
- Experience in cloud (AWS) implementation, development and support.
As a condition of employment with Fannie Mae, any successful job applicant will be required to successfully complete a background investigation.
Req ID: 56649