Position: Senior Full Stack Python Lead Developer
Here's how client business works in simple terms:
Buying Mortgages: Fannie Mae buys home loans from banks and other lenders. This gives those lenders more money to make new loans to other people.
Guaranteeing Loans: Fannie Mae guarantees these loans, which means if a borrower can't pay back the loan, Fannie Mae will cover it. This reduces the risk for lenders.
Creating Mortgage-Backed Securities: Fannie Mae bundles these loans into mortgage-backed securities (MBS) and sells them to investors. This process helps to keep the mortgage market stable and ensures there's always money available for new home loans.
By doing all this, Fannie Mae helps more people get mortgages, which supports the housing market and makes it easier for people to buy homes.
Location: Hybrid – 2 days onsite Reston, VA or Washington, DC (candidates preference)
The Senior Python Developer participates in all phases of the software development lifecycle and coaching junior developers. He/She is also responsible for writing server-side web application logic. He/she also develops back-end components, connects the application with third-party web services, and supports the front-end developers by integrating their work with the Python application.
Key Responsibilities
- Writes effective and scalable Python codes using python and flask "hands on"
- Helps design and implement functional requirements
- Designs and implements robust applications
- Builds back-end features in Python that are efficient.
- Designs modular software, database tables and integrates component applications for a wholistic high performance application
- Writes well-crafted, well-tested, readable, maintainable code
- Debugs applications to ensure low-latency and high-availability
- Designs and implements of low-latency, high-availability, and performant applications
- Collaborates with UX/UI designers to implement design into the code
- Integrates user-facing elements with server-side logic
- Participates in code reviews to ensure code quality and distribute knowledge
- Designs coding methods and software architectures that support test automation.
- Conducts software design review of junior developer and provides guidance and best practices in software design.
Job Requirements/Qualifications:
- Proven experience with software design and integration of component applications, modular software development, back-end database design
- Good knowledge of Python frameworks such as Flask, Django, CherryPy, etc.
- Familiarity with front-end technologies, such as JavaScript, HTML5, and CSS3
- Prior experience (5 years) as a Backend Engineer, Backend Developer, or similar role, with a track record of designing and implementing complex backend systems.
- Should acquire a Master's degree in Computer Science, Engineering, or a related field.
- Should have been Experienced in Agile development methodologies (e.g., Scrum, Kanban) and working in a fast-paced, dynamic environment.
- Contributions to open-source projects or active participation in developer communities.
- Should be proficient in backend programming languages such as Python, Node.js, Java, or Ruby, with a deep understanding of server-side development frameworks (e.g., Django, Flask, Express).
- Experience with relational and NoSQL databases (e.g., MySQL, PostgreSQL, MongoDB), including database design, querying, and optimization.
- The candidate should possess a Strong understanding of RESTful APIs, microservices architecture, and asynchronous messaging patterns (e.g., RabbitMQ, Kafka).
- Familiarity with cloud platforms and services (e.g., AWS, Azure, Google Cloud) and containerization technologies (e.g., Docker, Kubernetes) is a plus.
Other Qualifications
Minimum Required Experiences:
Experienced software engineer, a full stack developer with Python and Flask expertise and strong software design skills. This would be the more experienced and skilled developer with software engineering experience that can guide the rest of the Clearinghouse developers with design reviews and also hands-on coding to develop reference code for others to adopt.
- Bachelor's degree in Computer Science, Engineering, or related field.
- Full Stack Developer with expertise in UI frameworks Angular, React, JavaScript and backend in Python.
- Excellent problem-solving skills and strong verbal & written communication skills.
- Ability to work independently as well as part of a team.
- Strong proficiency in Python, HTML, CSS, JavaScript, and TypeScript.
- Experience with RESTful Web Services and Web APIs using back-end technologies using flask, python, and redshift.
- Ability to leverage Fannie Mae DevOps tool stack to build, inspect, deploy, test and promote new or updated features
- Proficiency with Continuous Integration/Continuous Delivery (Jenkins, Go) and experience with build tools such as Gradle, Maven, Nexus, etc.
- Knowledge of containerization technologies like Docker and orchestration tools like Kubernetes is a plus.
- Product Testing including testing and evaluating software, usability testing, UAT, and using relevant product testing technology/frameworks such as Selenium.
- Skilled in use of AWS technologies for building, deploying, and operating applications.
- Skilled in establishing and maintaining consistency of a product's performance, functional, and physical attributes with its requirements, design, and operational information
- Experience identifying measures, or indicators of system performance, and the actions needed to improve or correct performance to achieve desired outcomes
Requirements
Interview Process/# of Rounds:
Interview Process/# of Rounds:
- Direct manager contact
- 2 rounds
THE FIRST QUESTION TO ASK CANDIDATE:
Are you developing web applications NOW using Python and Flask? If so how many years have you been doing this development?None of the candidates are directly hands-on coders....they MUST BE "HANDS ON" developers. This is your first question before getting into their experience in backend dev and design.
Benefits
Key Qualities they are looking for, please rate yourself on a scale of 1-10 and also list how many years experience
- Deep experience in software engineering: Architecture and design work).
- Fluency in Python and Flask, with examples of real-world projects.
- Full stack capability: backend focus, but comfortable across the stack.
- Strong communicator who can lead design reviews and explain technical decisions clearly.
- Mentorship mindset: has led or guided other developers in a team setting.
- Hands-on: not just a strategist—this person should be writing reference code others can build on.
- Ask for examples of design decisions they’ve made and how they influenced a team.
- Look for code samples or GitHub contributions that show clean, scalable architecture.
- Use a technical scenario to see how they’d guide a junior developer through a problem.
- Validate their ability to balance leading with hands-on work.