Software Engineer, Senior
Role details
Job location
Tech stack
Job description
Are you interested in using your software engineering skills to build numerical systems that enable machine learning and analytics on large data sets? Financial Engineering is seeking a Senior Software Engineer to develop production systems that involve data science and machine learning. We are looking for a creative and talented individual who loves to code. Apply now and learn why there's #MoreAtFreddieMac!
Our Impact:
- We partner with the Single-Family Collateral Modeling team which is responsible for the firm's Automated Valuation Model
- We build systems to make their models, data, and analytics available for business use
- We ensure that our systems are robust, scalable and fault-tolerant
Your Impact:
- Implement new models and data transformations using Python based technologies such as PySpark and Pandas
- Fully utilize AWS services such as Elastic Map Reduce (EMR) to parallelize the process and reduce the runtime
- Optimize Python code to reduce runtime and memory usage
- Write high quality automated tests to validate your code
- Peer review other team member's code and help them with design and implementation challenges
- Design, develop and support a custom-built AWS native solution for distributed computing. The current system is written in Python and uses EMR, DataSync, S3, SQS, Lambda and DynamoDB.
Requirements
- At least 5 years of experience developing in Python
- College Degree in Computer Science or equivalent experience; advanced studies/degree preferred.
- Experience building production systems for business-critical processes.
- Experience with building and integrating tools, including knowledge of Gradle, Jenkins, Git and Docker.
- Experience developing large microservice based architectures, container orchestration frameworks.
- Experience writing automated unit, integration, regression, performance and acceptance tests
- Solid understanding of software design principles
Keys to Success in this Role:
- Passionate about hands-on software development
- Strong collaboration and communication skills (both written and verbal), including interacting with data scientists on technical topics
- Desire to continuously improve the technical quality and architecture of our systems to respond to business needs
- Ability to quickly learn, apply and deploy new technologies to solve emerging problems
Benefits & conditions
Freddie Mac offers a comprehensive total rewards package to include competitive compensation and market-leading benefit programs. Information on these benefit programs is available on our Careers site.
This position has an annualized market-based salary range of $130,000 - $196,000 and is eligible to participate in the annual incentive program. The final salary offered will generally fall within this range and is dependent on various factors including but not limited to the responsibilities of the position, experience, skill set, internal pay equity and other relevant qualifications of the applicant.