Freddie Mac, also known as the Federal Home Loan Mortgage Corporation, is located primarily in McLean, Virginia, just outside of Washington, D.C. Although it has regional offices in many cities such as New York, Atlanta, and Dallas, I worked in the main headquarters located in McLean. The normal workweek is 38.75 hours, although interns generally work a full forty hours per week. My usual schedule was to come in at 7:30 AM and work until roughly 4:30 PM. Luckily, there is also a gym in the main office building where I worked out almost everyday until 6:30 PM. I spent a lot of time at the office, but I greatly enjoyed the atmosphere.
At the company headquarters, there are roughly 4500 full-time employees in five buildings. There are also a couple thousand consultants, but their numbers fluctuate based on the number of projects in production. Roughly a third of the company’s employees are technical, which is a very high ratio for a financial company. Within the technical section of the corporation, I worked in the Application Development Center (ADC), which has approximately one hundred employees. The ADC employees work on developing internal company applications, usually in Java2 Enterprise Edition (J2EE).
The ADC supports the business side of Freddie Mac, which sells single class and multi-class securities. The business side supplies us with our funding, and therefore it is very important to present your project as critical to their interests. My immediate supervisor was Cathy Thompson and her job title was Resource Manager (RM). RMs manage other employees within the ADC, although they do not work with you on a daily basis.
The pace of work depended completely on your job position. As an intern, I was allowed to make mistakes and did not have to worry about anything more than supporting the other people I worked with. Therefore, I was not very stressed because interns are not critical for projects. However, I learned a lot throughout the summer and my job was very engaging.
My first day with Freddie Mac was very exciting. All of the interns were shown the five buildings that comprise the main headquarters of the company. The employees constantly referred to the area as “the main campus,” which was appropriate since I felt like a freshman again. The morning of the first day was a general orientation, and the afternoon involved meeting people I would work with all summer.
On the second day, I began work on a project that consumed most of my time for the next seven weeks. I worked on reverse engineering a current internal application known as “Settlement.” Our business client for the project was the Securities Allocation Management (SAM) branch of Freddie Mac. The current system was designed and patched through a ten-year period starting in 1994. Although it fit most of the business needs of SAM, the system needed a major overhaul to prepare for future innovations in investment sources. To reverse engineer the system, I used several tools that I never heard of before the summer, including Rational Rose and Embarcadero RapidSQL. Rational Rose is a modeling tool created by IBM that aids creation of Unified Modeling Language (UML) diagrams. Embarcadero RapidSQL is a database-querying tool that has access to a large set of databases at Freddie Mac. I also used a new Java IDE tool and the enterprise edition of the Java JDK to analyze the code.
While I continued to work on the Settlement system, during the eighth through twelfth weeks my primary responsibilities changed. I was assigned to research and evaluate a new open-source tool, Hibernate. This assignment greatly challenged my knowledge of interactions between object-oriented implementations and relational database designs. One of the current problems facing developers at Freddie Mac is the rigid structure of the relational securities’ database. Since several applications rely on hard-coded queries to access data, the databases’ configuration cannot change without altering every dependent program. Hibernate attempts to resolve this issue by acting as middleware between applications and the database.
However, the Hibernate tool was still under development, and many key features did not yet work. I also found the documentation sparse and support non-existent. Although many open-source tools have similar problems, a company like Freddie Mac cannot rely on a tool that is not well supported. My ultimate recommendation for the Hibernate tool was to wait until the next major release, which is supposed to remedy many of the troubles I encountered.
I learned a tremendous amount on both projects. Although spending another summer at the beach would have been fun, the experience I gained was exceptional.
Continue to Section 3: Daily Activity Log Excerpts or return to the Table of Contents