Role Focus: Looking for a true Software Developer, NOT a Financial Analyst or Accountant.
Domain Background: Strong preference for candidates with a finance, accounting, or risk management background (risk management is a major plus).
Education: College degree is preferred, but strong technical experience remains key.
Stakeholder Interaction: Daily direct interaction with business users (FP&A, accounting teams) is expected.
Technical Stack & Architecture
Primary Language: 100% Python for both roles (Java/C# listed are secondary). Looking specifically for strong Python developers who understand design patterns and solid software engineering practices.
Data & Infrastructure:
Database: SQL is heavily used for backend database operations.
CI/CD: Jenkins is core to their deployment pipeline.
Cloud Status: Currently 100% On-Premises (Not on AWS yet, though a cloud migration may be a future project).
Recruiter Screening Key Takeaways
Must Have: Production Python with design pattern awareness, SQL, Git, and daily client/business-facing communication skills.
Nice to Have: Risk management background, fixed income knowledge, Jenkins, and containerization.
Disqualifier: Candidates whose primary background is financial analysis or accounting without hands-on software development experience.
Must Have Qualifications: 3+ years of hands-on professional Python software development
experience and a bachelor's degree or 1-2 years of professional Python development experience
with an advanced degree in quantitative field. Candidate must have experience with production
grade coding (not scripting), Git, SQL, Pandas, and unit testing, along with good communication
skills. Financial industry experience and prior business facing experience are preferred.
Supplier Vetting Questions:
1) How do you handle challenges or difficult situations - please provide an example?
2) How do you set goals - please provide an example of a goal you've reached recently?
NOTE: Please provide a brief response to vetting questions. Responses should be concise –
approximately 1-2 paragraphs and should include examples from their recent professional
experience.
Job Description: Software Developer Professional (Specializing Financial Accounting Applications)
- CW
Freddie Mac's Investments & Capital Markets division is currently seeking a Professional Software
Developer who can contribute to the firm's enterprise forecasting platform that supports long-term
financial projections, enabling strategic planning and decision-making. The developer will be
involved in developing and enhancing core features of the forecasting engines to improve model
accuracy, performance, and scalability, as well as providing support for critical quarterly/yearly
production runs used in financial reporting to ensure the integrity, accuracy, and timeliness of
outputs. The developer will also collaborate closely with FP&A and other stakeholders to
implement new forecasting capabilities, support scenario analysis, and meet evolving business
and regulatory requirements.
Responsibilities
· Refactor and modernize existing components of the financial accounting and forecasting
application to improve maintainability, performance, and scalability.
· Develop and enhance core forecasting engine features to improve model accuracy, runtime
efficiency, and enterprise readiness.
· Support critical quarterly production runs for financial reporting by monitoring execution,
troubleshooting issues, and ensuring integrity, accuracy, and timeliness of outputs.
· Diagnose and resolve defects, reduce technical debt, and drive continuous improvements
to ensure alignment with software engineering best practices.
· Write clean, robust, high-quality code following best practices, supported by automated
unit and integration tests with strong coverage.
· Coordinate with team members across different layers of the stack (data, services, APIs,
and infrastructure) to deliver end-to-end solutions.
· Partner with FP&A and other stakeholders to implement new forecasting capabilities,
enable scenario analysis, and meet evolving business and regulatory requirements.
· Assist with infrastructure upgrades, platform migrations, and adoption of new technologies
to improve reliability, security, and operational efficiency.
· Contribute to design discussions, code reviews, and documentation; demonstrate a
commitment to collaborative problem-solving, thoughtful design, and high-quality
deliverables
Qualifications
· 3 years' of hands-on Python software development experience with Bachelor's degree or 1-
2 years' of hands-on Python software development experience with an advanced degree in
Computer Science or other related quantitative fields
· 1-2 years of experience using Git for source control in a team-based development
environment.
· 1-2 years of experience with SQL and relational database development.
· 1-2 years of experience with containerization and orchestration technologies (e.g., Docker,
Podman, Kubernetes).
· Proficiency with shell scripting for automation, troubleshooting, and operational support.
· 1–2 years of experience with unit testing frameworks (e.g., Pytest, JUnit) and implementing
automated test coverage.
· An understanding of fixed income concepts, including duration, convexity, spread, and
option-adjusted spread (OAS).
· Good oral and written communication skills
· Strong critical thinking, problem-solving skills, business acumen, and familiarity with Agile
development processes.
Preferred Skills
· Graduate degree in a quantitative discipline (e.g., Computer Science, Mathematics,
Statistics, or related field).
· Strong understanding of GAAP accounting fundamentals, including revenue/expense
recognition and amortization.
· CFA/FRM (or significant progress toward CFA/FRM/CPA).
· Strong oral and written communication skills, with the ability to clearly articulate technical
and business concepts.
· Experience engaging with stakeholders to gather requirements, align on priorities, and drive
delivery.
· Exposure to product and project management tools (e.g., JIRA) to support planning,
tracking, and execution.