Hiring During COVID-19: Fannie Mae is hiring for all open positions as we deliver on our mission of providing stability, liquidity, and affordability to the housing market during this critical time. All interviews and onboarding are conducted virtually. We look forward to connecting with you. Learn more

Software Engineer- Python- AWS

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.


The Enterprise Modeling and Analytics Development Team is looking for a software engineer to join their team as they engage on their tech journey to the cloud, modernizing legacy financial modeling applications into microservices based architecture on AWS Cloud.  You will 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. Assess high level design issues relating to platform, enterprise software, and interactions with other systems.

Key Job Functions

  • Translate complex mathematical, business, and financial modeling logic into software code. 
  • Design and execute test cases for modeling and analytical software applications to ensure they meet business needs and model requirements. Design and execute modeling application systems via distributed computing both on premise and on external cloud.
  • 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).
  • 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.
  • Expert proficiency in unit testing as well as coding in Java and Python. 
  • Expert proficiency in Object Oriented Design (OOD) and analysis. Expert proficiency in application of analysis/design engineering functions. Expert proficiency in application of non-functional software qualities such as resiliency, maintainability, etc. Expert proficiency in advanced behavior-driven testing techniques. Provide expertise for teams in all matters related to deployment, building and release process.


Education Level Required 
  • Bachelor’s degree or Equivalent. 

Education Level Preferred 
  • Master’s degrees or higher preferred.

Area of Study Preferred 
  • Computer Science, Engineering, Applied Mathematics, Statistics, Economics or Finance or a related discipline preferred.  

Certifications Preferred 
  • AWS certification(s) preferred.

Minimum Experience
  • 4-6 years of related experience
  • Hands-on experience and proficiency in programming in Python. 
  • Hands-on experience with AWS
  • 2-3 years of experience on Financial modeling & analytics applications
  • Proficient with Unix/Linux environment
  • Highly experienced with Agile practices and methodologies

Specialized Knowledge & Skills

  • 4+  years of software design and development experience with mission critical and large customer facing platforms. 
  • Experience with the full Software Development Life Cycle
  • Hands on experience in building and deploying applications in AWS. Experience in AWS technologies like EC2, S3, EB, Lambda, BATCH, Code Commit, Code Pipeline.
  • Hands on experience with Container Technologies like Docker.
  • Experience with CI/CD with knowledge of Git Hub, Maven and Jenkins.
  • Hands on experience to design and develop complex Python Applications.
  • Hands on experience with building RESTful Web Services.
  • Expert knowledge of Linux/Unix environment and shell scripting.
  • Ability to lead complex architecture and design white-boarding sessions.
  • Experience in object modeling, designing data models and database schemas, and solving scalability issues.
  • Experience with working with financial or scientific modeling software applications.
  • SaS and R programming experience is desired.
  • Financial industry and analytics experience highly desired.


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