Python Developer - Machine Learning / AI / Data Mining

Location: McLean, VA

Position Overview:
As a Development Software Engineer at Freddie Mac, you will be part of an integrated project team delivering scalable and secure systems. You will use user-centered and agile methodologies to build and use automated solutions. As a member of a project delivery team, you will collaborate with project teams, product managers, user experience designers, and business analysts. Your efforts will directly support the transformation team, including but not limited to continuous development, deployment, integration, and monitoring. Our solutions are "cloud-first", scalable, and deployed in containers.


The minimum qualification requirements for this position are:
• Shall have a minimum of five (5) years of experience in the Information Technology field focusing on AI/ML development projects using DevSecOps and AWS cloud environments.
• Shall have at least three (3) years of specific software engineering experience related to Python and Java
• Must have experience working with AWS and Git & Atlassian Suite (Bamboo, Jira, Bitbucket). Also, the automation engine Ansible.
• Shall have experience with all or some of the monitoring tools such as: Spectrum, Sitescope and Nimsoft (legacy Monitoring), Dynatrace (APM Enterprise Solution for Brownfield) and ELK (Strategic Enterprise Monitoring Solution)
• Shall possess experience with automation and engineering tasks, AI/ML implementation, data, infrastructure/operations, and security engineer tasks in USCIS cloud environments.
• Write clean, concise, and maintainable code
• Actively participate in merge requests
• Help define and enforce development best practices
• Automate pain points in the software development process (local development and CI/CD pipeline)
• Contribute to the development of user stories, acceptance criteria and participate in story estimation
• Participate in writing automated tests to verify the intent of stories
• Support other developers through code reviews and pairing when they have questions or hit blockers
• Support and improve the overall system and server-side data-center applications to run on AWS
• Plan and carry out deployments (roughly twice a month)
• Support and improve the overall system and server-side data-center applications to run on AWS
• Investigate errors in applications and perform root cause analysis
• Research data sources for ways to expand the usefulness of the system
• Provide application programming interfaces (APIs) and services
• Perform security scans and produce reports of the outcomes

• Development Methodologies: Test Driven Development, Agile Software Delivery, Scrum, Continuous Integration/ Continuous Deployment
• Bachelor’s degree in Engineering, Computer Science, Information Technology, related field or equivalent experience.
• Hands-on experiences for Data Management, Big Data, and Data Warehousing
• Previous, hands-on experience manipulating data to eliciting patterns.
• Previous, hands-on experience building out a data lake - compiling data in a centralized location to facilitate ease of reporting capabilities.
• Previous, hands-on experience with BI tools, including but not limited to Tableau, Elk, Splunk and/or PowerBI

Soft Skills
• Strong organizational skills, ability to multitask, and ability to set priorities.
• Data analysis, decision making, problem solving skills, and able to drive incidents to resolution.
• Sound interpersonal skills, with the ability to work independently and within a team.
• Demonstrated high level of motivation, confidence, integrity, and responsibility.
• Strong communication skills (written and verbal, peer and manager levels)
• Able to work directly with most levels of internal management.
• Routinely works across divisions to plan & resolve technical issues.
• Motivates others and deals with conflict in a positive manner.
• Encourages direct productive debate and is willing to take unpopular stands when necessary.
• Able to influence peers and collaborate with teams to reach common objectives.
• Requires the ability to negotiate with team members and support groups while maintaining effective relationships.
• Establishes and maintains relationships with peers.
• Demonstrates characteristics of approachability, team player, enthusiasm, and eagerness to learn.
• Looks to find common ground and get cooperation when dealing with conflict.